aboutsummaryrefslogtreecommitdiffstats
path: root/epan
diff options
context:
space:
mode:
authorAndersBroman <anders.broman@ericsson.com>2014-04-10 09:43:47 +0200
committerAnders Broman <a.broman58@gmail.com>2014-04-10 07:50:35 +0000
commit98df3ce91f45952538781f861c9444fbc5bd6617 (patch)
treeec4e797a53befe5d3b1f3e6bf6663887171d4d9f /epan
parentaf6618b9e27f9b34fe667a6046f4e632a54e728f (diff)
Have the checkum preference only affect IPv4
Change-Id: I6416ab40ac4e1e652bc453fb8e6d3eaa6ec5fe65 Reviewed-on: https://code.wireshark.org/review/1054 Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan')
-rw-r--r--epan/dissectors/packet-vrrp.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/epan/dissectors/packet-vrrp.c b/epan/dissectors/packet-vrrp.c
index 462ab292ac..f09bef926f 100644
--- a/epan/dissectors/packet-vrrp.c
+++ b/epan/dissectors/packet-vrrp.c
@@ -179,7 +179,7 @@ dissect_vrrp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_
and isn't truncated, so we can checksum it. */
switch(hi_nibble(ver_type)) {
case 3:
- if(g_vrrp_v3_checksum_as_in_v2 == FALSE){
+ if((g_vrrp_v3_checksum_as_in_v2 == FALSE)||(pinfo->src.type == AT_IPv6)){
/* Set up the fields of the pseudo-header. */
cksum_vec[0].ptr = (const guint8 *)pinfo->src.data;
cksum_vec[0].len = pinfo->src.len;
@@ -339,9 +339,9 @@ void proto_register_vrrp(void)
vrrp_module = prefs_register_protocol(proto_vrrp, NULL);
prefs_register_bool_preference(vrrp_module, "v3_checksum_as_in_v2",
- "Calculate V3 checksum as in V2",
+ "Calculate V3 checksum as in V2 for IPv4 packets",
"There is some ambigiousy on how to calculate V3 checksums"
- "As in V3 will use a pseudo header(which may only be implemented for IPv6 by some manufacturer)",
+ "As in V3 will use a pseudo header(which may only be implemented for IPv6 by some manufacturers)",
&g_vrrp_v3_checksum_as_in_v2);