net: sched: add cls_u32 offload hooks for netdevs

This patch allows netdev drivers to consume cls_u32 offloads via
the ndo_setup_tc ndo op.

This works aligns with how network drivers have been doing qdisc
offloads for mqprio.

Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
Acked-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
John Fastabend
2016-02-16 21:17:09 -08:00
committed by David S. Miller
parent 16e5cc6471
commit a1b7c5fd7f
3 changed files with 136 additions and 3 deletions

View File

@@ -779,17 +779,21 @@ static inline bool netdev_phys_item_id_same(struct netdev_phys_item_id *a,
typedef u16 (*select_queue_fallback_t)(struct net_device *dev,
struct sk_buff *skb);
/* This structure holds attributes of qdisc and classifiers
/* These structures hold the attributes of qdisc and classifiers
* that are being passed to the netdevice through the setup_tc op.
*/
enum {
TC_SETUP_MQPRIO,
TC_SETUP_CLSU32,
};
struct tc_cls_u32_offload;
struct tc_to_netdev {
unsigned int type;
union {
u8 tc;
struct tc_cls_u32_offload *cls_u32;
};
};