aboutsummaryrefslogtreecommitdiffstats
path: root/packet-ldp.c
diff options
context:
space:
mode:
authorguy <guy@f5534014-38df-0310-8fa8-9805f1628bb7>2001-07-21 10:27:13 +0000
committerguy <guy@f5534014-38df-0310-8fa8-9805f1628bb7>2001-07-21 10:27:13 +0000
commit2e8d9d8c26670023632c2a83eee17a8f667addf5 (patch)
tree207cd0b91dec0714b7feb94bae45fb1aa13dea10 /packet-ldp.c
parent3ad84eb48f54545ec50f9af85f54ab0016db10d4 (diff)
There is really no need to have the BGP dissector and the LDP dissector
have two independent "value_string" tables mapping RFC 1700 address family numbers to names, nor is there any need to have the BGP dissector and the PIM dissector have two independent sets of #defines for RFC 1700 address family numbers; put a single "value_string" table in "afn.c" and put a declaration of it, and #defines for the address family numbers, into "afn.h", and have the dissectors use that. Move the #define for PGM into "ipproto.h", and add an entry for it in the "value_string" table in "ipproto.c". Have the PGM dissector use the standard Ethereal mechanisms for resolving addresses, and have it use "value_string" tables for mapping option types, the OPX bits, and packet types to strings. Use "bytes_to_str()" to turn byte arrays into strings of hex digits. Pass the packet type string to "dissect_pgmopts()" as an argument, rather than making it a global. Don't use "proto_tree_add_XXX_format" routines if you can possibly just use "proto_tree_add_XXX"; give various fields the correct radix and type, and VALS() strings if necessary, to make that happen (and to make filtering on them more pleasant). Put the type, length, and total length of the options into the protocol tree as separate fields. Don't have separate type, length, and OPX fields for every type of option; one field will suffice. Don't format a string with "sprintf()" and then pass that string to "col_add_fstr()" with a format of "%s" and the string as an argument - "col_add_fstr()" can format strings itself (that's what the "f" stands for). Don't byte-swap and then un-byte-swap IPv4 address fields in the header, just leave them network byte order to start with. Use the correct fields for "proto_tree_add_XXX", rather than using the same field multiple times. Quit early if an address family identifier isn't AFNUM_INET, as that means the structure we use to dissect the header doesn't match the actual header. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@3761 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'packet-ldp.c')
-rw-r--r--packet-ldp.c19
1 files changed, 3 insertions, 16 deletions
diff --git a/packet-ldp.c b/packet-ldp.c
index e41da1949e..18bc99e4ae 100644
--- a/packet-ldp.c
+++ b/packet-ldp.c
@@ -1,7 +1,7 @@
/* packet-ldp.c
* Routines for ldp packet disassembly
*
- * $Id: packet-ldp.c,v 1.18 2001/07/16 05:16:57 guy Exp $
+ * $Id: packet-ldp.c,v 1.19 2001/07/21 10:27:12 guy Exp $
*
* Copyright (c) November 2000 by Richard Sharpe <rsharpe@ns.aus.com>
*
@@ -44,6 +44,7 @@
#include "packet.h"
#include "resolv.h"
#include "prefs.h"
+#include "afn.h"
#define TCP_PORT_LDP 646
#define UDP_PORT_LDP 646
@@ -190,20 +191,6 @@ static const value_string fec_types[] = {
{0, NULL}
};
-static const value_string fec_af_types[] = {
- {0, "Reserved"},
- {1, "IP (IPv4)"},
- {2, "IP6 (IPv6)"},
- {3, "NSAP"},
- {4, "HDLC (8-bit multidrop)"},
- {5, "BBN 1822"},
- {6, "802"},
- {10, "X.121 (X.25, Frame Relay)"},
- {11, "IPX"},
- {12, "Appletalk"},
- {0, NULL}
-};
-
static const true_false_string hello_requested_vals = {
"Source requests periodic hellos",
"Source does not request periodic hellos"
@@ -790,7 +777,7 @@ proto_register_ldp(void)
{ "FEC Element Type", "ldp.msg.tlv.fec.type", FT_UINT8, BASE_DEC, VALS(fec_types), 0x0, "Forwarding Equivalence Class Element Types", HFILL }},
{ &hf_ldp_tlv_fec_af,
- { "FEC Element Address Type", "ldp.msg.tlv.fec.af", FT_UINT16, BASE_DEC, VALS(fec_af_types), 0x0, "Forwarding Equivalence Class Element Address Family", HFILL }},
+ { "FEC Element Address Type", "ldp.msg.tlv.fec.af", FT_UINT16, BASE_DEC, VALS(afn_vals), 0x0, "Forwarding Equivalence Class Element Address Family", HFILL }},
{ &hf_ldp_tlv_fec_len,
{ "FEC Element Length", "ldp.msg.tlv.fec.len", FT_UINT8, BASE_DEC, NULL, 0x0, "Forwarding Equivalence Class Element Length", HFILL }},