|
|
|
@ -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:
|
|
|
|
|