aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile.am5
-rw-r--r--packet-gre.c10
-rw-r--r--packet-gre.h26
-rw-r--r--packet-ip.c85
-rw-r--r--packet-ipsec.c10
-rw-r--r--packet-ipv6.c3
-rw-r--r--packet-ospf.c36
-rw-r--r--packet-ospf.h15
-rw-r--r--packet-pim.c9
-rw-r--r--packet-rsvp.c11
-rw-r--r--packet-rsvp.h13
-rw-r--r--packet-tcp.c9
-rw-r--r--packet-udp.c12
-rw-r--r--packet-vines.c4
-rw-r--r--packet-vrrp.c12
-rw-r--r--packet-vrrp.h26
16 files changed, 125 insertions, 161 deletions
diff --git a/Makefile.am b/Makefile.am
index ce01635634..b501d2f891 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,7 +1,7 @@
# Makefile.am
# Automake file for Ethereal
#
-# $Id: Makefile.am,v 1.186 2000/04/16 21:37:02 guy Exp $
+# $Id: Makefile.am,v 1.187 2000/04/16 22:46:18 guy Exp $
#
# Ethereal - Network traffic analyzer
# By Gerald Combs <gerald@zing.org>
@@ -76,7 +76,6 @@ DISSECTOR_SOURCES = \
packet-giop.c \
packet-giop.h \
packet-gre.c \
- packet-gre.h \
packet-h1.c \
packet-h1.h \
packet-hsrp.c \
@@ -173,7 +172,6 @@ DISSECTOR_SOURCES = \
packet-rpc.c \
packet-rpc.h \
packet-rsvp.c \
- packet-rsvp.h \
packet-rtsp.c \
packet-rx.c \
packet-rx.h \
@@ -220,7 +218,6 @@ DISSECTOR_SOURCES = \
packet-vlan.c \
packet-vlan.h \
packet-vrrp.c \
- packet-vrrp.h \
packet-vtp.c \
packet-vtp.h \
packet-wccp.c \
diff --git a/packet-gre.c b/packet-gre.c
index dbe20248c6..985f0aa479 100644
--- a/packet-gre.c
+++ b/packet-gre.c
@@ -2,7 +2,7 @@
* Routines for the Generic Routing Encapsulation (GRE) protocol
* Brad Robel-Forrest <brad.robel-forrest@watchguard.com>
*
- * $Id: packet-gre.c,v 1.17 2000/03/27 17:53:19 gram Exp $
+ * $Id: packet-gre.c,v 1.18 2000/04/16 22:46:18 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -71,7 +71,7 @@ static const value_string typevals[] = {
{ 0, NULL }
};
-void
+static void
dissect_gre(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
guint16 flags_and_ver = pntohs(pd + offset);
@@ -287,3 +287,9 @@ proto_register_gre(void)
proto_register_field_array(proto_gre, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
}
+
+void
+proto_reg_handoff_gre(void)
+{
+ dissector_add("ip.proto", IP_PROTO_GRE, dissect_gre);
+}
diff --git a/packet-gre.h b/packet-gre.h
deleted file mode 100644
index 65ae808b14..0000000000
--- a/packet-gre.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/* packet-gre.h
- *
- * $Id: packet-gre.h,v 1.1 2000/02/15 21:02:12 gram Exp $
- *
- * Ethereal - Network traffic analyzer
- * By Gerald Combs <gerald@zing.org>
- * Copyright 1998 Gerald Combs
- *
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-
-void dissect_gre(const u_char *, int, frame_data *, proto_tree *);
diff --git a/packet-ip.c b/packet-ip.c
index a23d4894af..f74031c814 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.80 2000/04/16 21:37:03 guy Exp $
+ * $Id: packet-ip.c,v 1.81 2000/04/16 22:46:19 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -52,17 +52,8 @@
#include "etypes.h"
#include "ppptypes.h"
-#include "packet-gre.h"
#include "packet-ip.h"
#include "packet-ipsec.h"
-#include "packet-ipv6.h"
-#include "packet-ospf.h"
-#include "packet-pim.h"
-#include "packet-rsvp.h"
-#include "packet-tcp.h"
-#include "packet-udp.h"
-#include "packet-vines.h"
-#include "packet-vrrp.h"
static void dissect_eigrp(const u_char *, int, frame_data *, proto_tree *);
static void dissect_icmp(const u_char *, int, frame_data *, proto_tree *);
@@ -106,6 +97,8 @@ static gint ett_ip_option_sec = -1;
static gint ett_ip_option_route = -1;
static gint ett_ip_option_timestamp = -1;
+static dissector_table_t ip_dissector_table;
+
static int proto_igmp = -1;
static int hf_igmp_version = -1;
static int hf_igmp_type = -1;
@@ -1001,57 +994,17 @@ dissect_ip(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
}
again:
+
+ /* do lookup with the subdissector table */
+ if (dissector_try_port(ip_dissector_table, nxt, pd, offset, fd, tree))
+ return;
+
switch (nxt) {
- case IP_PROTO_ICMP:
- dissect_icmp(pd, offset, fd, tree);
- break;
- case IP_PROTO_IGMP:
- dissect_igmp(pd, offset, fd, tree);
- break;
- case IP_PROTO_EIGRP:
- dissect_eigrp(pd, offset, fd, tree);
- break;
- case IP_PROTO_TCP:
- dissect_tcp(pd, offset, fd, tree);
- break;
- case IP_PROTO_UDP:
- dissect_udp(pd, offset, fd, tree);
- break;
- case IP_PROTO_OSPF:
- dissect_ospf(pd, offset, fd, tree);
- break;
- case IP_PROTO_VINES:
- dissect_vines_frp(pd, offset, fd, tree);
- break;
- case IP_PROTO_RSVP:
- dissect_rsvp(pd, offset, fd, tree);
- break;
case IP_PROTO_AH:
advance = dissect_ah(pd, offset, fd, tree);
nxt = pd[offset];
offset += advance;
goto again;
- case IP_PROTO_GRE:
- dissect_gre(pd, offset, fd, tree);
- break;
- case IP_PROTO_ESP:
- dissect_esp(pd, offset, fd, tree);
- break;
- case IP_PROTO_IPV6:
- dissect_ipv6(pd, offset, fd, tree);
- break;
- case IP_PROTO_IPV4:
- dissect_ip(pd, offset, fd, tree);
- break;
- case IP_PROTO_PIM:
- dissect_pim(pd, offset, fd, tree);
- break;
- case IP_PROTO_IPCOMP:
- dissect_ipcomp(pd, offset, fd, tree);
- break;
- case IP_PROTO_VRRP:
- dissect_vrrp(pd, offset, fd, tree);
- break;
default:
dissect_data(pd, offset, fd, tree);
break;
@@ -1399,6 +1352,12 @@ proto_register_igmp(void)
}
void
+proto_reg_handoff_igmp(void)
+{
+ dissector_add("ip.proto", IP_PROTO_IGMP, dissect_igmp);
+}
+
+void
proto_register_ip(void)
{
static hf_register_info hf[] = {
@@ -1516,6 +1475,9 @@ proto_register_ip(void)
proto_ip = proto_register_protocol ("Internet Protocol", "ip");
proto_register_field_array(proto_ip, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
+
+ /* subdissector code */
+ ip_dissector_table = register_dissector_table("ip.proto");
}
void
@@ -1523,6 +1485,7 @@ proto_reg_handoff_ip(void)
{
dissector_add("ethertype", ETHERTYPE_IP, dissect_ip);
dissector_add("ppp.protocol", PPP_IP, dissect_ip);
+ dissector_add("ip.proto", IP_PROTO_IPV4, dissect_ip);
}
void
@@ -1552,6 +1515,12 @@ proto_register_icmp(void)
proto_register_subtree_array(ett, array_length(ett));
}
+void
+proto_reg_handoff_icmp(void)
+{
+ dissector_add("ip.proto", IP_PROTO_ICMP, dissect_icmp);
+}
+
static int proto_eigrp = -1;
static gint ett_eigrp = -1;
@@ -1608,3 +1577,9 @@ proto_register_eigrp(void)
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);
+}
diff --git a/packet-ipsec.c b/packet-ipsec.c
index f2dd9164bd..3475cf852f 100644
--- a/packet-ipsec.c
+++ b/packet-ipsec.c
@@ -1,7 +1,7 @@
/* packet-ipsec.c
* Routines for IPsec/IPComp packet disassembly
*
- * $Id: packet-ipsec.c,v 1.12 2000/03/12 04:47:40 gram Exp $
+ * $Id: packet-ipsec.c,v 1.13 2000/04/16 22:46:20 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -40,6 +40,7 @@
#include <glib.h>
#include "packet.h"
#include "packet-ipsec.h"
+#include "packet-ip.h"
#include "resolv.h"
static int proto_ah = -1;
@@ -281,3 +282,10 @@ proto_register_ipsec(void)
proto_register_subtree_array(ett, array_length(ett));
}
+
+void
+proto_reg_handoff_ipsec(void)
+{
+ dissector_add("ip.proto", IP_PROTO_ESP, dissect_esp);
+ dissector_add("ip.proto", IP_PROTO_IPCOMP, dissect_ipcomp);
+}
diff --git a/packet-ipv6.c b/packet-ipv6.c
index 06f0b97feb..35226668ac 100644
--- a/packet-ipv6.c
+++ b/packet-ipv6.c
@@ -1,7 +1,7 @@
/* packet-ipv6.c
* Routines for IPv6 packet disassembly
*
- * $Id: packet-ipv6.c,v 1.33 2000/04/16 21:37:04 guy Exp $
+ * $Id: packet-ipv6.c,v 1.34 2000/04/16 22:46:20 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -478,4 +478,5 @@ proto_reg_handoff_ipv6(void)
{
dissector_add("ethertype", ETHERTYPE_IPv6, dissect_ipv6);
dissector_add("ppp.protocol", PPP_IPV6, dissect_ipv6);
+ dissector_add("ip.proto", IP_PROTO_IPV6, dissect_ipv6);
}
diff --git a/packet-ospf.c b/packet-ospf.c
index 2bdd77771d..dbd8c3a248 100644
--- a/packet-ospf.c
+++ b/packet-ospf.c
@@ -2,7 +2,7 @@
* Routines for OSPF packet disassembly
* (c) Copyright Hannes R. Boehm <hannes@boehm.org>
*
- * $Id: packet-ospf.c,v 1.21 2000/03/14 06:03:23 guy Exp $
+ * $Id: packet-ospf.c,v 1.22 2000/04/16 22:46:20 guy Exp $
*
* At this time, this module is able to analyze OSPF
* packets as specified in RFC2328. MOSPF (RFC1584) and other
@@ -49,6 +49,7 @@
#include <glib.h>
#include "packet.h"
#include "packet-ospf.h"
+#include "packet-ip.h"
#include "ieee-float.h"
static int proto_ospf = -1;
@@ -67,7 +68,19 @@ static gint ett_ospf_lsa_mpls_router = -1;
static gint ett_ospf_lsa_mpls_link = -1;
static gint ett_ospf_lsa_mpls_link_stlv = -1;
-void
+static void dissect_ospf_hello(const u_char*, int, frame_data*, proto_tree*);
+static void dissect_ospf_db_desc(const u_char*, int, frame_data*, proto_tree*);
+static void dissect_ospf_ls_req(const u_char*, int, frame_data*, proto_tree*);
+static void dissect_ospf_ls_upd(const u_char*, int, frame_data*, proto_tree*);
+static void dissect_ospf_ls_ack(const u_char*, int, frame_data*, proto_tree*);
+
+/* dissect_ospf_lsa returns the length of the LSA
+ * if disassemble_body is set to FALSE (e.g. in LSA ACK
+ * packets), the LSA-header length is returned (20)
+ */
+static int dissect_ospf_lsa(const u_char*, int, frame_data*, proto_tree*, int disassemble_body);
+
+static void
dissect_ospf(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
e_ospfhdr ospfh;
e_ospf_crypto *crypto;
@@ -189,7 +202,7 @@ dissect_ospf(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
pi.captured_len = saved_len;
}
-void
+static void
dissect_ospf_hello(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
e_ospf_hello ospfhello;
guint32 *ospfneighbor;
@@ -248,7 +261,7 @@ dissect_ospf_hello(const u_char *pd, int offset, frame_data *fd, proto_tree *tre
}
}
-void
+static void
dissect_ospf_db_desc(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
e_ospf_dbd ospf_dbd;
char options[20]="";
@@ -319,7 +332,7 @@ dissect_ospf_db_desc(const u_char *pd, int offset, frame_data *fd, proto_tree *t
}
}
-void
+static void
dissect_ospf_ls_req(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
e_ospf_ls_req ospf_lsr;
@@ -370,7 +383,8 @@ dissect_ospf_ls_req(const u_char *pd, int offset, frame_data *fd, proto_tree *tr
}
}
}
-void
+
+static void
dissect_ospf_ls_upd(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
e_ospf_lsa_upd_hdr upd_hdr;
guint32 lsa_counter;
@@ -396,7 +410,7 @@ dissect_ospf_ls_upd(const u_char *pd, int offset, frame_data *fd, proto_tree *tr
}
}
-void
+static void
dissect_ospf_ls_ack(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
/* the body of a LS Ack packet simply contains zero or more LSA Headers */
@@ -625,7 +639,7 @@ void dissect_ospf_lsa_opaque(const u_char *pd,
} /* switch on opaque LSA id */
}
-int
+static int
dissect_ospf_lsa(const u_char *pd, int offset, frame_data *fd, proto_tree *tree, int disassemble_body) {
e_ospf_lsa_hdr lsa_hdr;
char *lsa_type;
@@ -884,3 +898,9 @@ proto_register_ospf(void)
/* proto_register_field_array(proto_ospf, hf, array_length(hf));*/
proto_register_subtree_array(ett, array_length(ett));
}
+
+void
+proto_reg_handoff_ospf(void)
+{
+ dissector_add("ip.proto", IP_PROTO_OSPF, dissect_ospf);
+}
diff --git a/packet-ospf.h b/packet-ospf.h
index 039af76f01..3434c241ac 100644
--- a/packet-ospf.h
+++ b/packet-ospf.h
@@ -1,6 +1,6 @@
/* packet-ospf.h (c) 1998 Hannes Boehm */
-/* $Id: packet-ospf.h,v 1.7 2000/03/09 18:31:51 ashokn Exp $ */
+/* $Id: packet-ospf.h,v 1.8 2000/04/16 22:46:21 guy Exp $ */
#define OSPF_HEADER_LENGTH 24
@@ -137,16 +137,3 @@ typedef struct _e_ospf_crypto {
guint8 length;
guint32 sequence_num;
} e_ospf_crypto;
-
-void dissect_ospf(const u_char *, int, frame_data *, proto_tree *);
-void dissect_ospf_hello(const u_char*, int, frame_data*, proto_tree*);
-void dissect_ospf_db_desc(const u_char*, int, frame_data*, proto_tree*);
-void dissect_ospf_ls_req(const u_char*, int, frame_data*, proto_tree*);
-void dissect_ospf_ls_upd(const u_char*, int, frame_data*, proto_tree*);
-void dissect_ospf_ls_ack(const u_char*, int, frame_data*, proto_tree*);
-
-/* dissect_ospf_lsa returns the length of the LSA
- * if disassemble_body is set to FALSE (e.g. in LSA ACK
- * packets), the LSA-header length is returned (20)
- */
-int dissect_ospf_lsa(const u_char*, int, frame_data*, proto_tree*, int disassemble_body);
diff --git a/packet-pim.c b/packet-pim.c
index bcd5a0b8d0..9868af188c 100644
--- a/packet-pim.c
+++ b/packet-pim.c
@@ -2,7 +2,7 @@
* Routines for PIM disassembly
* (c) Copyright Jun-ichiro itojun Hagino <itojun@itojun.org>
*
- * $Id: packet-pim.c,v 1.10 2000/03/12 04:47:47 gram Exp $
+ * $Id: packet-pim.c,v 1.11 2000/04/16 22:46:22 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -601,3 +601,10 @@ proto_register_pim(void)
proto_register_field_array(proto_pim, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
}
+
+void
+proto_reg_handoff_pim(void)
+{
+ dissector_add("ip.proto", IP_PROTO_PIM, dissect_pim);
+}
+
diff --git a/packet-rsvp.c b/packet-rsvp.c
index c69befea3b..41dab852d4 100644
--- a/packet-rsvp.c
+++ b/packet-rsvp.c
@@ -3,7 +3,7 @@
*
* (c) Copyright Ashok Narayanan <ashokn@cisco.com>
*
- * $Id: packet-rsvp.c,v 1.19 2000/04/07 19:10:51 guy Exp $
+ * $Id: packet-rsvp.c,v 1.20 2000/04/16 22:46:22 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -74,7 +74,6 @@
#include "packet.h"
#include "packet-ip.h"
#include "packet-ipv6.h"
-#include "packet-rsvp.h"
#include "ieee-float.h"
static int proto_rsvp = -1;
@@ -827,7 +826,7 @@ static inline int rsvp_class_to_filter_num(int classnum)
}
}
-void
+static void
dissect_rsvp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
{
proto_tree *rsvp_tree = NULL, *ti, *ti2;
@@ -2028,3 +2027,9 @@ proto_register_rsvp(void)
proto_register_field_array(proto_rsvp, rsvpf_info, array_length(rsvpf_info));
proto_register_subtree_array(ett, array_length(ett));
}
+
+void
+proto_reg_handoff_rsvp(void)
+{
+ dissector_add("ip.proto", IP_PROTO_RSVP, dissect_rsvp);
+}
diff --git a/packet-rsvp.h b/packet-rsvp.h
deleted file mode 100644
index f700ca0e4e..0000000000
--- a/packet-rsvp.h
+++ /dev/null
@@ -1,13 +0,0 @@
-/**********************************************************************
- *
- * packet-rsvp.h
- *
- * (C) Ashok Narayanan <ashokn@cisco.com>
- *
- * $Id: packet-rsvp.h,v 1.8 2000/02/15 21:03:03 gram Exp $
- *
- * For license details, see the COPYING file with this distribution
- *
- **********************************************************************/
-
-void dissect_rsvp(const u_char *, int, frame_data *, proto_tree *);
diff --git a/packet-tcp.c b/packet-tcp.c
index 7c244e58c6..fb60e26099 100644
--- a/packet-tcp.c
+++ b/packet-tcp.c
@@ -1,7 +1,7 @@
/* packet-tcp.c
* Routines for TCP packet disassembly
*
- * $Id: packet-tcp.c,v 1.69 2000/04/14 05:39:42 gram Exp $
+ * $Id: packet-tcp.c,v 1.70 2000/04/16 22:46:23 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -51,6 +51,7 @@
#endif
#include "plugins.h"
+#include "packet-tcp.h"
#include "packet-ip.h"
#include "packet-giop.h"
@@ -638,3 +639,9 @@ proto_register_tcp(void)
/* subdissector code */
subdissector_table = register_dissector_table("tcp.port");
}
+
+void
+proto_reg_handoff_tcp(void)
+{
+ dissector_add("ip.proto", IP_PROTO_TCP, dissect_tcp);
+}
diff --git a/packet-udp.c b/packet-udp.c
index 17e2fe937f..2e05e4cb23 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.64 2000/04/14 06:42:50 guy Exp $
+ * $Id: packet-udp.c,v 1.65 2000/04/16 22:46:24 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -45,11 +45,11 @@
#include "resolv.h"
#include "plugins.h"
+#include "packet-udp.h"
+#include "packet-ip.h"
#include "packet-ncp.h"
-#include "packet-rip.h"
#include "packet-rpc.h"
-#include "packet-rx.h"
#include "packet-tftp.h"
#include "packet-vines.h"
@@ -237,3 +237,9 @@ proto_register_udp(void)
/* subdissector code */
udp_dissector_table = register_dissector_table("udp.port");
}
+
+void
+proto_reg_handoff_udp(void)
+{
+ dissector_add("ip.proto", IP_PROTO_UDP, dissect_udp);
+}
diff --git a/packet-vines.c b/packet-vines.c
index 3128811118..dc45a08787 100644
--- a/packet-vines.c
+++ b/packet-vines.c
@@ -1,7 +1,7 @@
/* packet-vines.c
* Routines for Banyan VINES protocol packet disassembly
*
- * $Id: packet-vines.c,v 1.14 2000/04/16 21:37:06 guy Exp $
+ * $Id: packet-vines.c,v 1.15 2000/04/16 22:46:24 guy Exp $
*
* Don Lafontaine <lafont02@cn.ca>
*
@@ -41,6 +41,7 @@
#include "ppptypes.h"
#include "packet.h"
#include "packet-vines.h"
+#include "packet-ip.h"
static gint ett_vines = -1;
static gint ett_vines_frp = -1;
@@ -354,4 +355,5 @@ proto_reg_handoff_vines(void)
{
dissector_add("ethertype", ETHERTYPE_VINES, dissect_vines);
dissector_add("ppp.protocol", PPP_VINES, dissect_vines);
+ dissector_add("ip.proto", IP_PROTO_VINES, dissect_vines_frp);
}
diff --git a/packet-vrrp.c b/packet-vrrp.c
index a383c9c966..e3754fa3e0 100644
--- a/packet-vrrp.c
+++ b/packet-vrrp.c
@@ -4,7 +4,7 @@
*
* Heikki Vatiainen <hessu@cs.tut.fi>
*
- * $Id: packet-vrrp.c,v 1.3 2000/03/12 04:47:51 gram Exp $
+ * $Id: packet-vrrp.c,v 1.4 2000/04/16 22:46:25 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -41,6 +41,7 @@
#include <string.h>
#include <glib.h>
#include "packet.h"
+#include "packet-ip.h"
static gint proto_vrrp = -1;
static gint ett_vrrp = -1;
@@ -91,7 +92,8 @@ static const value_string vrrp_prio_vals[] = {
};
-void dissect_vrrp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
+static void
+dissect_vrrp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
{
struct vrrp_header vrh;
gboolean short_hdr = FALSE;
@@ -211,3 +213,9 @@ void proto_register_vrrp(void)
return;
}
+
+void
+proto_reg_handoff_vrrp(void)
+{
+ dissector_add("ip.proto", IP_PROTO_VRRP, dissect_vrrp);
+}
diff --git a/packet-vrrp.h b/packet-vrrp.h
deleted file mode 100644
index 46a7f2cf7d..0000000000
--- a/packet-vrrp.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/* packet-vrrp.h
- *
- * $Id: packet-vrrp.h,v 1.1 2000/02/15 21:03:26 gram Exp $
- *
- * Ethereal - Network traffic analyzer
- * By Gerald Combs <gerald@zing.org>
- * Copyright 1998 Gerald Combs
- *
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-
-void dissect_vrrp(const u_char *, int, frame_data *, proto_tree *);