From 3cc1acb3b11b5366b9763b923e7685ea6155cfa7 Mon Sep 17 00:00:00 2001 From: Anders Broman Date: Mon, 6 Jul 2009 17:37:03 +0000 Subject: [PATCH] CFLOW decoding is wrong for IPv6 fields. https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=3328 svn path=/trunk/; revision=28957 --- epan/dissectors/packet-netflow.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/epan/dissectors/packet-netflow.c b/epan/dissectors/packet-netflow.c index 84aa9be0fa..95246a50d9 100644 --- a/epan/dissectors/packet-netflow.c +++ b/epan/dissectors/packet-netflow.c @@ -37,7 +37,7 @@ ** http://www.cisco.com/warp/public/cc/pd/iosw/prodlit/tflow_wp.htm ** ** for NetFlow v9 information. - ** + ** ( http://www.ietf.org/rfc/rfc3954.txt ?) ** http://www.ietf.org/rfc/rfc5101.txt ** http://www.ietf.org/rfc/rfc5102.txt ** http://www.ietf.org/rfc/rfc5103.txt @@ -1478,9 +1478,6 @@ dissect_v9_pdu(tvbuff_t * tvb, packet_info * pinfo, proto_tree * pdutree, int of if (length == 4) { proto_tree_add_item(pdutree, hf_cflow_nexthop, tvb, offset, length, FALSE); - } else if (length == 16) { - proto_tree_add_item(pdutree, hf_cflow_nexthop_v6, - tvb, offset, length, FALSE); } else { proto_tree_add_text(pdutree, tvb, offset, length, @@ -1874,12 +1871,18 @@ dissect_v9_pdu(tvbuff_t * tvb, packet_info * pinfo, proto_tree * pdutree, int of tvb, offset, length, FALSE); break; - case 62: /* IPv6 BGP nexthop */ - proto_tree_add_item(pdutree, hf_cflow_bgpnexthop_v6, - tvb, offset, length, FALSE); + case 62: /* IPV6_NEXT_HOP */ + if (length == 16) { + proto_tree_add_item(pdutree, hf_cflow_nexthop_v6, + tvb, offset, length, FALSE); + } else { + proto_tree_add_text(pdutree, + tvb, offset, length, + "NextHop: length %u", length); + } break; - case 63: /* bgpNexthopIPv6Address */ + case 63: /* BGP_IPV6_NEXT_HOP */ if (length == 16) { proto_tree_add_item(pdutree, hf_cflow_bgpnexthop_v6, tvb, offset, length, FALSE);