flow_keys: Record IP layer protocol in skb_flow_dissect()
authorGovindarajulu Varadarajan <_govind@gmx.com>
Mon, 23 Jun 2014 10:37:58 +0000 (16:07 +0530)
committerDavid S. Miller <davem@davemloft.net>
Mon, 23 Jun 2014 21:32:19 +0000 (14:32 -0700)
commite0f31d8498676fda36289603a054d0d490aa2679
tree372fb95e9ec90a83794bf5bb3747f80664bb8e55
parenteef929622b0ce86fcdaf6bd9ab6d7502470728d5
flow_keys: Record IP layer protocol in skb_flow_dissect()

skb_flow_dissect() dissects only transport header type in ip_proto. It dose not
give any information about IPv4 or IPv6.

This patch adds new member, n_proto, to struct flow_keys. Which records the
IP layer type. i.e IPv4 or IPv6.

This can be used in netdev->ndo_rx_flow_steer driver function to dissect flow.

Adding new member to flow_keys increases the struct size by around 4 bytes.
This causes BUILD_BUG_ON(sizeof(qcb->data) < sz); to fail in
qdisc_cb_private_validate()

So increase data size by 4

Signed-off-by: Govindarajulu Varadarajan <_govind@gmx.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/flow_keys.h
include/net/sch_generic.h
net/core/flow_dissector.c