On 07/13/2018 04:35 PM, Jesper Dangaard Brouer wrote: > People noticed that the code match on IEEE 802.1ad (ETH_P_8021AD) ethertype, > and this implies Q-in-Q or double tagged VLANs. Thus, we better parse > the next VLAN header too. It is even marked as a TODO. > > This is relevant for real world use-cases, as XDP cpumap redirect can be > used when the NIC RSS hashing is broken. E.g. the ixgbe driver HW cannot > handle double tagged VLAN packets, and places everything into a single > RX queue. Using cpumap redirect, users can redistribute traffic across > CPUs to solve this, which is faster than the network stacks RPS solution. > > It is left as an exerise how to distribute the packets across CPUs. It > would be convenient to use the RX hash, but that is not _yet_ exposed > to XDP programs. For now, users can code their own hash, as I've demonstrated > in the Suricata code (where Q-in-Q is handled correctly). > > Reported-by: Florian Maury <florian.maury...@x-cli.eu> > Reported-by: Marek Majkowski <ma...@cloudflare.com> > Signed-off-by: Jesper Dangaard Brouer <bro...@redhat.com>
Applied to bpf-next, thanks Jesper!