typedef struct IPV6ExtHdrs_
{
- IPV6FragHdr *ip6fh;
+ const IPV6FragHdr *ip6fh;
/* In fh_offset we store the offset of this extension into the packet past
* the ipv6 header. We use it in defrag for creating a defragmented packet
* without the frag header */
uint16_t fh_offset;
- IPV6RouteHdr *ip6rh;
- IPV6AuthHdr *ip6ah;
- IPV6EspHdr *ip6eh;
- IPV6DstOptsHdr *ip6dh1;
- IPV6DstOptsHdr *ip6dh2;
- IPV6HopOptsHdr *ip6hh;
+ const IPV6RouteHdr *ip6rh;
+ const IPV6AuthHdr *ip6ah;
+ const IPV6EspHdr *ip6eh;
+ const IPV6DstOptsHdr *ip6dh1;
+ const IPV6DstOptsHdr *ip6dh2;
+ const IPV6HopOptsHdr *ip6hh;
/* Hop-By-Hop options */
IPV6OptHAO ip6hh_opt_hao;
p->ip6h = (IPV6Hdr *)GET_PKT_DATA(p);
IPV6_SET_RAW_VER(p->ip6h, 6);
/* Fragmentation header. */
- p->ip6eh.ip6fh = (IPV6FragHdr *)(GET_PKT_DATA(p) + sizeof(IPV6Hdr));
- p->ip6eh.ip6fh->ip6fh_nxt = IPPROTO_ICMP;
- p->ip6eh.ip6fh->ip6fh_ident = htonl(id);
- p->ip6eh.ip6fh->ip6fh_offlg = htons((off << 3) | mf);
+ IPV6FragHdr *fh = (IPV6FragHdr *)(GET_PKT_DATA(p) + sizeof(IPV6Hdr));
+ fh->ip6fh_nxt = IPPROTO_ICMP;
+ fh->ip6fh_ident = htonl(id);
+ fh->ip6fh_offlg = htons((off << 3) | mf);
+ p->ip6eh.ip6fh = fh;
pcontent = SCCalloc(1, content_len);
if (unlikely(pcontent == NULL))