On 16/08/14 (日) 23:58, Hadar Hen Zion wrote:
On Fri, Aug 12, 2016 at 9:36 AM, Toshiaki Makita
<makita.toshi...@lab.ntt.co.jp> wrote:
On 2016/08/10 22:32, Hadar Hen Zion wrote:
Early in the datapath skb_vlan_untag function is called, stripped
the vlan from the skb and set skb->vlan_tci and skb->vlan_proto fields.

The current dissection doesn't handle vlan packets correctly.  Vlan
doesn't exist in skb->data anymore when applying flow dissection on the
skb, fix that.

RPS (and flow-dissector called in RPS) is performed before vlan-strip in
__netif_receive_skb_core().

right, I'll fix it to v2.

Also, in cases skb is tagged with multiple vlan headers (typical when
using 802.1ad), the second level vlan tag is in skb->data.

Currently, flow_dissector doesn't support multiple vlan headers, only
one vlan_id field is present.
There aren't any flow_dissector "customers" yet for multiple vlan support.

Sure, no need to store second level vlan tag information for now.
The point is that current flow-dissector correctly skips any number of vlan tags and get hash value from IP/TCP/UDP headers, so RPS works for multiple vlan tagged packets.

Thanks,
Toshiaki Makita

Reply via email to