From 1adf4b868c573618784109003c0976da4d395133 Mon Sep 17 00:00:00 2001 From: Eileen Donlon Date: Sun, 30 Oct 2011 13:58:47 -0400 Subject: [PATCH] set layer4 protocol when no ipv6 extension headers --- src/decode-ipv6.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/decode-ipv6.c b/src/decode-ipv6.c index 681a7e1688..2b8264d93f 100644 --- a/src/decode-ipv6.c +++ b/src/decode-ipv6.c @@ -446,13 +446,17 @@ void DecodeIPV6(ThreadVars *tv, DecodeThreadVars *dtv, Packet *p, uint8_t *pkt, /* now process the Ext headers and/or the L4 Layer */ switch(IPV6_GET_NH(p)) { case IPPROTO_TCP: + IPV6_SET_L4PROTO (p, IPPROTO_TCP); return DecodeTCP(tv, dtv, p, pkt + IPV6_HEADER_LEN, IPV6_GET_PLEN(p), pq); case IPPROTO_UDP: + IPV6_SET_L4PROTO (p, IPPROTO_UDP); return DecodeUDP(tv, dtv, p, pkt + IPV6_HEADER_LEN, IPV6_GET_PLEN(p), pq); break; case IPPROTO_ICMPV6: + IPV6_SET_L4PROTO (p, IPPROTO_ICMPV6); return DecodeICMPV6(tv, dtv, p, pkt + IPV6_HEADER_LEN, IPV6_GET_PLEN(p), pq); case IPPROTO_SCTP: + IPV6_SET_L4PROTO (p, IPPROTO_SCTP); return DecodeSCTP(tv, dtv, p, pkt + IPV6_HEADER_LEN, IPV6_GET_PLEN(p), pq); case IPPROTO_FRAGMENT: case IPPROTO_HOPOPTS: