Richard Gobert wrote:
> Currently there is no test which checks that IPv6 extension header packets
> successfully coalesce. This commit adds a test, which verifies two IPv6
> packets with HBH extension headers do coalesce, and another test which
> checks that packets with different extension header data do not coalesce
> in GRO.
> 
> I changed the receive socket filter to accept a packet with one extension
> header. This change exposed a bug in the fragment test -- the old BPF did
> not accept the fragment packet. I updated correct_num_packets in the
> fragment test accordingly.
> 
> Signed-off-by: Richard Gobert <richardbgob...@gmail.com>

Reviewed-by: Willem de Bruijn <will...@google.com>

Thanks for adding the second test.

> +static void add_ipv6_exthdr(void *buf, void *optpkt, __u8 exthdr_type, char 
> *ext_payload)
> +{
> +     struct ipv6_opt_hdr *exthdr = (struct ipv6_opt_hdr *)(optpkt + 
> tcp_offset);
> +     struct ipv6hdr *iph = (struct ipv6hdr *)(optpkt + ETH_HLEN);
> +     char *exthdr_payload_start = (char *)(exthdr + 1);
> +
> +     exthdr->hdrlen = 0;
> +     exthdr->nexthdr = IPPROTO_TCP;
> +
> +     if (ext_payload)
> +             memcpy(exthdr_payload_start, ext_payload, MIN_EXTHDR_SIZE - 
> sizeof(*exthdr));

minor nit, in case this gets respun: ext_payload is always true.

Reply via email to