|
|
|
@ -444,7 +444,7 @@ void DecodeIPV6(ThreadVars *tv, DecodeThreadVars *dtv, Packet *p, uint8_t *pkt,
|
|
|
|
|
#endif /* DEBUG */
|
|
|
|
|
|
|
|
|
|
/* now process the Ext headers and/or the L4 Layer */
|
|
|
|
|
switch(p->proto = IPV6_GET_NH(p)) {
|
|
|
|
|
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);
|
|
|
|
@ -467,6 +467,9 @@ void DecodeIPV6(ThreadVars *tv, DecodeThreadVars *dtv, Packet *p, uint8_t *pkt,
|
|
|
|
|
case IPPROTO_ESP:
|
|
|
|
|
DecodeIPV6ExtHdrs(tv, dtv, p, pkt + IPV6_HEADER_LEN, IPV6_GET_PLEN(p), pq);
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
p->proto = IPV6_GET_NH(p);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Pass to defragger if a fragment. */
|
|
|
|
|