aboutsummaryrefslogtreecommitdiffstats
path: root/packet-dvmrp.c
diff options
context:
space:
mode:
Diffstat (limited to 'packet-dvmrp.c')
-rw-r--r--packet-dvmrp.c32
1 files changed, 4 insertions, 28 deletions
diff --git a/packet-dvmrp.c b/packet-dvmrp.c
index c8624226fa..f879cfeb5e 100644
--- a/packet-dvmrp.c
+++ b/packet-dvmrp.c
@@ -1,7 +1,7 @@
/* packet-dvmrp.c 2001 Ronnie Sahlberg <See AUTHORS for email>
* Routines for IGMP/DVMRP packet disassembly
*
- * $Id: packet-dvmrp.c,v 1.7 2002/01/21 07:36:34 guy Exp $
+ * $Id: packet-dvmrp.c,v 1.8 2002/02/01 11:01:56 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -65,7 +65,7 @@
#include <epan/packet.h>
#include "ipproto.h"
-#include "in_cksum.h"
+#include "packet-igmp.h"
#include "packet-dvmrp.h"
static int proto_dvmrp = -1;
@@ -214,29 +214,6 @@ static const true_false_string tfs_cap_netmask = {
"NOT Netmask capable"
};
-static void dvmrp_checksum(proto_tree *tree,tvbuff_t *tvb, int len)
-{
- guint16 cksum,hdrcksum;
- vec_t cksum_vec[1];
-
- cksum_vec[0].ptr = tvb_get_ptr(tvb, 0, len);
- cksum_vec[0].len = len;
-
- hdrcksum = tvb_get_ntohs(tvb, 2);
- cksum = in_cksum(&cksum_vec[0],1);
-
- if (cksum==0) {
- proto_tree_add_uint_format(tree, hf_checksum, tvb, 2, 2, hdrcksum, "Header checksum: 0x%04x (correct)", hdrcksum);
- } else {
- proto_tree_add_item_hidden(tree, hf_checksum_bad, tvb, 2, 2, TRUE);
- proto_tree_add_uint_format(tree, hf_checksum, tvb, 2, 2, hdrcksum, "Header checksum: 0x%04x (incorrect, should be 0x%04x)", hdrcksum,in_cksum_shouldbe(hdrcksum,cksum));
- }
-
- return;
-}
-
-
-
int
dissect_v3_report(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, int offset)
{
@@ -345,7 +322,7 @@ dissect_dvmrp_v3(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, int
}
/* checksum */
- dvmrp_checksum(parent_tree, tvb, tvb_length_remaining(tvb, 0));
+ igmp_checksum(parent_tree, tvb, hf_checksum, hf_checksum_bad, pinfo, 0);
offset += 2;
/* skip unused byte */
@@ -475,7 +452,7 @@ dissect_dvmrp_v1(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, int
}
/* checksum */
- dvmrp_checksum(parent_tree, tvb, tvb_length_remaining(tvb, 0));
+ igmp_checksum(parent_tree, tvb, hf_checksum, hf_checksum_bad, pinfo, 0);
offset += 2;
/* decode all the v1 commands */
@@ -812,4 +789,3 @@ proto_register_dvmrp(void)
proto_register_field_array(proto_dvmrp, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
}
-