summaryrefslogtreecommitdiffstats
path: root/include/net/flow_dissector.h
diff options
context:
space:
mode:
authorHadar Hen Zion <hadarh@mellanox.com>2016-08-17 12:36:10 +0200
committerDavid S. Miller <davem@davemloft.net>2016-08-19 08:13:13 +0200
commitd5709f7ab77679d407a7687fc5ad7cc7442cc651 (patch)
tree0c81a4b8ffcf8995ac047b89b760f1b6b9ed6901 /include/net/flow_dissector.h
parentMerge branch 'qed-link-fixes' (diff)
downloadlinux-d5709f7ab77679d407a7687fc5ad7cc7442cc651.tar.xz
linux-d5709f7ab77679d407a7687fc5ad7cc7442cc651.zip
flow_dissector: For stripped vlan, get vlan info from skb->vlan_tci
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 stripped vlan packets correctly. In some flows, vlan doesn't exist in skb->data anymore when applying flow dissection on the skb, fix that. In case vlan info wasn't stripped before applying flow_dissector (RPS flow for example), or in case of skb with multiple vlans (e.g. 802.1ad), get the vlan info from skb->data. The flow_dissector correctly skips any number of vlans and stores only the first level vlan. Fixes: 0744dd00c1b1 ('net: introduce skb_flow_dissect()') Signed-off-by: Hadar Hen Zion <hadarh@mellanox.com> Acked-by: Jiri Pirko <jiri@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/flow_dissector.h')
0 files changed, 0 insertions, 0 deletions