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().
Also, in cases skb is tagged with multiple vlan headers (typical when
using 802.1ad), the second level vlan tag is in skb->data.
So I think you should handle both of skb->vlan_tci and skb->data cases.

Thanks,
Toshiaki Makita


Reply via email to