summaryrefslogtreecommitdiffstats
path: root/freebsd/contrib/tcpdump/igrp.h
blob: b5f133bcb3cd7be630c92bae6c8eba12fda7e334 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/* @(#) $Header: /tcpdump/master/tcpdump/igrp.h,v 1.6 2002-12-11 07:13:52 guy Exp $ (LBL) */
/* Cisco IGRP definitions */

/* IGRP Header */

struct igrphdr {
	u_int8_t ig_vop;	/* protocol version number / opcode */
#define IGRP_V(x)	(((x) & 0xf0) >> 4)
#define IGRP_OP(x)	((x) & 0x0f)
	u_int8_t ig_ed;		/* edition number */
	u_int16_t ig_as;	/* autonomous system number */
	u_int16_t ig_ni;	/* number of subnet in local net */
	u_int16_t ig_ns;	/* number of networks in AS */
	u_int16_t ig_nx;	/* number of networks ouside AS */
	u_int16_t ig_sum;	/* checksum of IGRP header & data */
};

#define IGRP_UPDATE	1
#define IGRP_REQUEST	2

/* IGRP routing entry */

struct igrprte {
	u_int8_t igr_net[3];	/* 3 significant octets of IP address */
	u_int8_t igr_dly[3];	/* delay in tens of microseconds */
	u_int8_t igr_bw[3];	/* bandwidth in units of 1 kb/s */
	u_int8_t igr_mtu[2];	/* MTU in octets */
	u_int8_t igr_rel;	/* percent packets successfully tx/rx */
	u_int8_t igr_ld;	/* percent of channel occupied */
	u_int8_t igr_hct;	/* hop count */
};

#define IGRP_RTE_SIZE	14	/* don't believe sizeof ! */