From 7c129254adb1093d10a62ed7bf7b956fcc6ffe34 Mon Sep 17 00:00:00 2001 From: Rakesh Nair Date: Wed, 20 Jul 2016 15:02:01 +0530 Subject: [PATCH] net: IPQ4019 needs rfs/vlan_tag callbacks in netdev_ops Add callback support to get default vlan tag and register receive flow steering filter. Used by IPQ4019 ess-edma driver. BUG=chrome-os-partner:33096 TEST=none Change-Id: I266070e4a0fbe4a0d9966fe79a71e50ec4f26c75 Signed-off-by: Rakesh Nair Reviewed-on: https://chromium-review.googlesource.com/362203 Commit-Ready: Grant Grundler Tested-by: Grant Grundler Reviewed-by: Grant Grundler --- include/linux/netdevice.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h @@ -773,6 +773,16 @@ struct xps_map { #define XPS_MIN_MAP_ALLOC ((L1_CACHE_ALIGN(offsetof(struct xps_map, queues[1])) \ - sizeof(struct xps_map)) / sizeof(u16)) +#ifdef CONFIG_RFS_ACCEL +typedef int (*set_rfs_filter_callback_t)(struct net_device *dev, + __be32 src, + __be32 dst, + __be16 sport, + __be16 dport, + u8 proto, + u16 rxq_index, + u32 action); +#endif /* * This structure holds all XPS maps for device. Maps are indexed by CPU. */ @@ -1376,6 +1386,9 @@ struct net_device_ops { const struct sk_buff *skb, u16 rxq_index, u32 flow_id); + int (*ndo_register_rfs_filter)(struct net_device *dev, + set_rfs_filter_callback_t set_filter); + int (*ndo_get_default_vlan_tag)(struct net_device *net); #endif int (*ndo_add_slave)(struct net_device *dev, struct net_device *slave_dev,