#include "util-profiling.h"
#include "host.h"
-#define IPV6_EXTHDRS ip6eh.ip6_exthdrs
-#define IPV6_EH_CNT ip6eh.ip6_exthdrs_cnt
-
/**
* \brief Function to decode IPv4 in IPv6 packets
*
int DecodeIPV6(ThreadVars *tv, DecodeThreadVars *dtv, Packet *p, uint8_t *pkt, uint16_t len, PacketQueue *pq)
{
- int ret;
-
StatsIncr(tv, dtv->counter_ipv6);
/* do the actual decoding */
- ret = DecodeIPV6Packet (tv, dtv, p, pkt, len);
+ int ret = DecodeIPV6Packet (tv, dtv, p, pkt, len);
if (unlikely(ret < 0)) {
p->ip6h = NULL;
return TM_ECODE_FAILED;
/* helper structure with parsed ipv6 info */
typedef struct IPV6Vars_
{
- uint8_t ip_opts_len;
uint8_t l4proto; /* the proto after the extension headers
* store while decoding so we don't have
* to loop through the exthdrs all the time */
#define CLEAR_IPV6_PACKET(p) do { \
(p)->ip6h = NULL; \
- (p)->ip6vars.ip_opts_len = 0; \
(p)->ip6vars.l4proto = 0; \
memset(&(p)->ip6eh, 0x00, sizeof((p)->ip6eh)); \
} while (0)