aboutsummaryrefslogtreecommitdiffstats
path: root/packet-udp.c
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2000-04-03 09:41:31 +0000
committerGuy Harris <guy@alum.mit.edu>2000-04-03 09:41:31 +0000
commit3ee409084ca5ad3d8c0eb434750e914d87c01d88 (patch)
tree7d4e9b44453a62c4a84a6d8a267e544c4d37fe60 /packet-udp.c
parent7678c401dd54acfa4b7efed39276a3a1b08e3968 (diff)
Move the creation of, and registration of protocols known to UDP in, the
hash table attached to "udp.port" out of "init_dissect_udp()" into "proto_register_udp()", so that it's done the way TCP does it, and then get rid of "init_dissect_udp()". svn path=/trunk/; revision=1781
Diffstat (limited to 'packet-udp.c')
-rw-r--r--packet-udp.c35
1 files changed, 18 insertions, 17 deletions
diff --git a/packet-udp.c b/packet-udp.c
index a62915bcf5..feb8cffadb 100644
--- a/packet-udp.c
+++ b/packet-udp.c
@@ -1,7 +1,7 @@
/* packet-udp.c
* Routines for UDP packet disassembly
*
- * $Id: packet-udp.c,v 1.53 2000/04/03 09:24:08 guy Exp $
+ * $Id: packet-udp.c,v 1.54 2000/04/03 09:41:12 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -131,22 +131,6 @@ typedef struct _e_udphdr {
static dissector_table_t udp_dissector_table;
-void init_dissect_udp(void) {
-
- udp_dissector_table = register_dissector_table(hf_udp_port);
-
- /* Now add the protocols we know about */
-
- dissector_add("udp.port", UDP_PORT_BOOTPS, dissect_bootp);
- dissector_add("udp.port", UDP_PORT_TFTP, dissect_tftp);
- dissector_add("udp.port", UDP_PORT_SAP, dissect_sap);
- dissector_add("udp.port", UDP_PORT_HSRP, dissect_hsrp);
- dissector_add("udp.port", UDP_PORT_PIM_RP_DISC, dissect_auto_rp);
- dissector_add("udp.port", UDP_PORT_TACACS, dissect_tacacs);
- dissector_add("udp.port", UDP_PORT_DHIS1, dissect_dhis);
- dissector_add("udp.port", UDP_PORT_DHIS2, dissect_dhis);
-}
-
void
dissect_udp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
e_udphdr uh;
@@ -334,4 +318,21 @@ proto_register_udp(void)
proto_udp = proto_register_protocol("User Datagram Protocol", "udp");
proto_register_field_array(proto_udp, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
+
+/* subdissector code */
+ udp_dissector_table = register_dissector_table(hf_udp_port);
+
+ /* Now add the protocols we know about.
+ XXX - we should add all the UDP ports this way, rather
+ than having the giant "if", just as is now done in
+ "packet-tcp.c". */
+
+ dissector_add("udp.port", UDP_PORT_BOOTPS, dissect_bootp);
+ dissector_add("udp.port", UDP_PORT_TFTP, dissect_tftp);
+ dissector_add("udp.port", UDP_PORT_SAP, dissect_sap);
+ dissector_add("udp.port", UDP_PORT_HSRP, dissect_hsrp);
+ dissector_add("udp.port", UDP_PORT_PIM_RP_DISC, dissect_auto_rp);
+ dissector_add("udp.port", UDP_PORT_TACACS, dissect_tacacs);
+ dissector_add("udp.port", UDP_PORT_DHIS1, dissect_dhis);
+ dissector_add("udp.port", UDP_PORT_DHIS2, dissect_dhis);
}