diff options
author | Daniel Borkmann | 2014-02-16 15:55:20 +0100 |
---|---|---|
committer | David S. Miller | 2014-02-17 06:36:34 +0100 |
commit | 99932d4fc03a13bb3e94938fe25458fabc8f2fc3 (patch) | |
tree | 529c7ad3764f7611f10ea299a67313f8baf84ce7 /drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h | |
parent | drivers/net: tulip_remove_one needs to call pci_disable_device() (diff) | |
download | kernel-qcow2-linux-99932d4fc03a13bb3e94938fe25458fabc8f2fc3.tar.gz kernel-qcow2-linux-99932d4fc03a13bb3e94938fe25458fabc8f2fc3.tar.xz kernel-qcow2-linux-99932d4fc03a13bb3e94938fe25458fabc8f2fc3.zip |
netdevice: add queue selection fallback handler for ndo_select_queue
Add a new argument for ndo_select_queue() callback that passes a
fallback handler. This gets invoked through netdev_pick_tx();
fallback handler is currently __netdev_pick_tx() as most drivers
invoke this function within their customized implementation in
case for skbs that don't need any special handling. This fallback
handler can then be replaced on other call-sites with different
queue selection methods (e.g. in packet sockets, pktgen etc).
This also has the nice side-effect that __netdev_pick_tx() is
then only invoked from netdev_pick_tx() and export of that
function to modules can be undone.
Suggested-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h')
-rw-r--r-- | drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h index bfc58d488bb5..a89a40f88c25 100644 --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h @@ -496,7 +496,7 @@ int bnx2x_set_vf_vlan(struct net_device *netdev, int vf, u16 vlan, u8 qos); /* select_queue callback */ u16 bnx2x_select_queue(struct net_device *dev, struct sk_buff *skb, - void *accel_priv); + void *accel_priv, select_queue_fallback_t fallback); static inline void bnx2x_update_rx_prod(struct bnx2x *bp, struct bnx2x_fastpath *fp, |