X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/d032e806c7e761ce125f84914b8d0fcbafe188ac..39d15607cad1b4b463794c1a67873f6182dc52f7:/print-igrp.c diff --git a/print-igrp.c b/print-igrp.c index 3cede7ec..dfbc4025 100644 --- a/print-igrp.c +++ b/print-igrp.c @@ -21,11 +21,6 @@ * Initial contribution from Francis Dupont (francis.dupont@inria.fr) */ -#ifndef lint -static const char rcsid[] _U_ = - "@(#) $Header: /tcpdump/master/tcpdump/print-igrp.c,v 1.21 2005-04-20 21:01:56 guy Exp $ (LBL)"; -#endif - #ifdef HAVE_CONFIG_H #include "config.h" #endif @@ -35,11 +30,42 @@ static const char rcsid[] _U_ = #include #include "interface.h" -#include "addrtoname.h" -#include "igrp.h" #include "ip.h" #include "extract.h" /* must come after interface.h */ +/* 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 ! */ + static void igrp_entry_print(register struct igrprte *igr, register int is_interior, register int is_exterior) @@ -70,7 +96,7 @@ igrp_entry_print(register struct igrprte *igr, register int is_interior, mtu, igr->igr_hct); } -static struct tok op2str[] = { +static const struct tok op2str[] = { { IGRP_UPDATE, "update" }, { IGRP_REQUEST, "request" }, { 0, NULL }