diff options
Diffstat (limited to 'packet-ip.c')
-rw-r--r-- | packet-ip.c | 96 |
1 files changed, 1 insertions, 95 deletions
diff --git a/packet-ip.c b/packet-ip.c index 0ee1fc7208..7fcee4b385 100644 --- a/packet-ip.c +++ b/packet-ip.c @@ -1,7 +1,7 @@ /* packet-ip.c * Routines for IP and miscellaneous IP protocol packet disassembly * - * $Id: packet-ip.c,v 1.88 2000/05/26 22:08:14 guy Exp $ + * $Id: packet-ip.c,v 1.89 2000/05/28 22:59:18 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@zing.org> @@ -55,7 +55,6 @@ #include "llcsaps.h" #include "packet-ip.h" #include "packet-ipsec.h" -#include "packet-eigrp.h" static void dissect_icmp(const u_char *, int, frame_data *, proto_tree *); static void dissect_igmp(const u_char *, int, frame_data *, proto_tree *); @@ -192,36 +191,6 @@ typedef struct _e_igmp { #define IGMP_MTRC_RESP 0x1e #define IGMP_MTRC 0x1f -/* EIGRP Structs and Definitions. */ - -/* EIGRP Opcodes */ - -#define EIGRP_UPDATE 0x01 -#define EIGRP_REQUEST 0x02 -#define EIGRP_QUERY 0x03 -#define EIGRP_REPLY 0x04 -#define EIGRP_HELLO 0x05 - -typedef struct _e_eigrp - { - guint8 eigrp_version; - guint8 eigrp_opcode; - guint16 eigrp_checksum; - guint16 eigrp_subnets; - guint16 eigrp_networks; - guint32 eigrp_sequence; - guint32 eigrp_asnumber; - guint8 eigrp_type1; - guint8 eigrp_subtype1; - guint16 eigrp_length1; - guint16 eigrp_holdtime; - guint8 eigrp_type2; - guint8 eigrp_subtype2; - guint16 eigrp_length2; - guint8 eigrp_level; - guint16 eigrp_dummy; - } e_eigrp; - /* IP structs and definitions */ typedef struct _e_ip @@ -1507,66 +1476,3 @@ proto_reg_handoff_icmp(void) { dissector_add("ip.proto", IP_PROTO_ICMP, dissect_icmp); } - -static int proto_eigrp = -1; - -static gint ett_eigrp = -1; - -static const value_string eigrp_opcode_vals[] = { - { EIGRP_HELLO, "Hello/Ack" }, - { EIGRP_UPDATE, "Update" }, - { EIGRP_REPLY, "Reply" }, - { EIGRP_QUERY, "Query" }, - { EIGRP_REQUEST, "Request" }, - { 0, NULL } -}; - -void -dissect_eigrp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) { - e_eigrp ih; - proto_tree *eigrp_tree; - proto_item *ti; - guint16 cksum; - - /* Avoids alignment problems on many architectures. */ - memcpy(&ih, &pd[offset], sizeof(e_eigrp)); - /* To do: check for runts, errs, etc. */ - cksum = ntohs(ih.eigrp_checksum); - - if (check_col(fd, COL_PROTOCOL)) - col_add_str(fd, COL_PROTOCOL, "EIGRP"); - if (check_col(fd, COL_INFO)) - col_add_str(fd, COL_INFO, - val_to_str( ih.eigrp_opcode, eigrp_opcode_vals, "Unknown (0x%04x)")); - if (tree) { - - ti = proto_tree_add_item(tree, proto_eigrp, NullTVB, offset, END_OF_FRAME, NULL); - eigrp_tree = proto_item_add_subtree(ti, ett_eigrp); - - proto_tree_add_text(eigrp_tree, NullTVB, offset, 1, "Version: %u", ih.eigrp_version); - proto_tree_add_text(eigrp_tree, NullTVB, offset + 1, 1, "Opcode: %u (%s)", ih.eigrp_opcode, - val_to_str( ih.eigrp_opcode, eigrp_opcode_vals, "Unknown") ); - proto_tree_add_text(eigrp_tree, NullTVB, offset + 2, 2, "Checksum: 0x%x", cksum); - proto_tree_add_text(eigrp_tree, NullTVB, offset + 4, 2, "Subnets in local net: %u", ih.eigrp_subnets); - proto_tree_add_text(eigrp_tree, NullTVB, offset + 6, 2, "Networks in Autonomous System: %d", ih.eigrp_networks); - proto_tree_add_text(eigrp_tree, NullTVB, offset + 8, 4, "Sequence Number: 0x%x", ih.eigrp_sequence); - proto_tree_add_text(eigrp_tree, NullTVB, offset + 12, 4, "Autonomous System number: %u", ih.eigrp_asnumber); - } -} - - -void -proto_register_eigrp(void) - { - static gint *ett[] = { - &ett_eigrp, - }; - proto_eigrp = proto_register_protocol("Enhanced Interior Gateway Routing Protocol", "eigrp"); - proto_register_subtree_array(ett, array_length(ett)); - } - -void -proto_reg_handoff_eigrp(void) -{ - dissector_add("ip.proto", IP_PROTO_EIGRP, dissect_eigrp); -} |