summaryrefslogtreecommitdiffstats
path: root/include/linux/netdevice.h
diff options
context:
space:
mode:
authorAlexander Duyck <alexander.h.duyck@intel.com>2018-07-09 12:19:59 -0400
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>2018-07-09 16:41:34 -0400
commit4f49dec9075aa0277b8c9c657ec31e6361f88724 (patch)
tree939ce61bc940ed3fbc7abaf0d9b6d3c3ce81da0f /include/linux/netdevice.h
parenta4ea8a3dacc312c3402c78f6e4843afdda9b43a0 (diff)
net: allow ndo_select_queue to pass netdev
This patch makes it so that instead of passing a void pointer as the accel_priv we instead pass a net_device pointer as sb_dev. Making this change allows us to pass the subordinate device through to the fallback function eventually so that we can keep the actual code in the ndo_select_queue call as focused on possible on the exception cases. Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to 'include/linux/netdevice.h')
-rw-r--r--include/linux/netdevice.h11
1 files changed, 7 insertions, 4 deletions
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index 46f4c44ce3e4..bbf062c1ca8a 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -957,7 +957,8 @@ struct dev_ifalias {
957 * those the driver believes to be appropriate. 957 * those the driver believes to be appropriate.
958 * 958 *
959 * u16 (*ndo_select_queue)(struct net_device *dev, struct sk_buff *skb, 959 * u16 (*ndo_select_queue)(struct net_device *dev, struct sk_buff *skb,
960 * void *accel_priv, select_queue_fallback_t fallback); 960 * struct net_device *sb_dev,
961 * select_queue_fallback_t fallback);
961 * Called to decide which queue to use when device supports multiple 962 * Called to decide which queue to use when device supports multiple
962 * transmit queues. 963 * transmit queues.
963 * 964 *
@@ -1229,7 +1230,7 @@ struct net_device_ops {
1229 netdev_features_t features); 1230 netdev_features_t features);
1230 u16 (*ndo_select_queue)(struct net_device *dev, 1231 u16 (*ndo_select_queue)(struct net_device *dev,
1231 struct sk_buff *skb, 1232 struct sk_buff *skb,
1232 void *accel_priv, 1233 struct net_device *sb_dev,
1233 select_queue_fallback_t fallback); 1234 select_queue_fallback_t fallback);
1234 void (*ndo_change_rx_flags)(struct net_device *dev, 1235 void (*ndo_change_rx_flags)(struct net_device *dev,
1235 int flags); 1236 int flags);
@@ -2568,9 +2569,11 @@ void dev_close_many(struct list_head *head, bool unlink);
2568void dev_disable_lro(struct net_device *dev); 2569void dev_disable_lro(struct net_device *dev);
2569int dev_loopback_xmit(struct net *net, struct sock *sk, struct sk_buff *newskb); 2570int dev_loopback_xmit(struct net *net, struct sock *sk, struct sk_buff *newskb);
2570u16 dev_pick_tx_zero(struct net_device *dev, struct sk_buff *skb, 2571u16 dev_pick_tx_zero(struct net_device *dev, struct sk_buff *skb,
2571 void *accel_priv, select_queue_fallback_t fallback); 2572 struct net_device *sb_dev,
2573 select_queue_fallback_t fallback);
2572u16 dev_pick_tx_cpu_id(struct net_device *dev, struct sk_buff *skb, 2574u16 dev_pick_tx_cpu_id(struct net_device *dev, struct sk_buff *skb,
2573 void *accel_priv, select_queue_fallback_t fallback); 2575 struct net_device *sb_dev,
2576 select_queue_fallback_t fallback);
2574int dev_queue_xmit(struct sk_buff *skb); 2577int dev_queue_xmit(struct sk_buff *skb);
2575int dev_queue_xmit_accel(struct sk_buff *skb, struct net_device *sb_dev); 2578int dev_queue_xmit_accel(struct sk_buff *skb, struct net_device *sb_dev);
2576int dev_direct_xmit(struct sk_buff *skb, u16 queue_id); 2579int dev_direct_xmit(struct sk_buff *skb, u16 queue_id);