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>
Showing
- drivers/net/bonding/bond_main.c 1 addition, 1 deletiondrivers/net/bonding/bond_main.c
- drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c 2 additions, 2 deletionsdrivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
- drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h 1 addition, 1 deletiondrivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h
- drivers/net/ethernet/intel/ixgbe/ixgbe_main.c 3 additions, 3 deletionsdrivers/net/ethernet/intel/ixgbe/ixgbe_main.c
- drivers/net/ethernet/lantiq_etop.c 1 addition, 1 deletiondrivers/net/ethernet/lantiq_etop.c
- drivers/net/ethernet/mellanox/mlx4/en_tx.c 2 additions, 2 deletionsdrivers/net/ethernet/mellanox/mlx4/en_tx.c
- drivers/net/ethernet/mellanox/mlx4/mlx4_en.h 1 addition, 1 deletiondrivers/net/ethernet/mellanox/mlx4/mlx4_en.h
- drivers/net/ethernet/tile/tilegx.c 1 addition, 1 deletiondrivers/net/ethernet/tile/tilegx.c
- drivers/net/team/team.c 1 addition, 1 deletiondrivers/net/team/team.c
- drivers/net/tun.c 1 addition, 1 deletiondrivers/net/tun.c
- drivers/net/wireless/mwifiex/main.c 1 addition, 1 deletiondrivers/net/wireless/mwifiex/main.c
- drivers/staging/bcm/Bcmnet.c 1 addition, 1 deletiondrivers/staging/bcm/Bcmnet.c
- drivers/staging/netlogic/xlr_net.c 1 addition, 1 deletiondrivers/staging/netlogic/xlr_net.c
- drivers/staging/rtl8188eu/os_dep/os_intfs.c 1 addition, 1 deletiondrivers/staging/rtl8188eu/os_dep/os_intfs.c
- include/linux/netdevice.h 6 additions, 3 deletionsinclude/linux/netdevice.h
- net/core/flow_dissector.c 3 additions, 4 deletionsnet/core/flow_dissector.c
- net/mac80211/iface.c 4 additions, 2 deletionsnet/mac80211/iface.c
Please register or sign in to comment