diff options
| author | Jakub Kicinski <kuba@kernel.org> | 2020-05-09 13:39:26 -0700 |
|---|---|---|
| committer | Jakub Kicinski <kuba@kernel.org> | 2020-05-09 13:39:26 -0700 |
| commit | 0d5c56a220a0fdc1f56ed3898c5166ae5a7c7d50 (patch) | |
| tree | 0d8db7f69e94d4b01a4959be63fe34a7ad8a4581 /net | |
| parent | 2c674bec76d35b75c7c730f863424387c9e9633a (diff) | |
| parent | 28bff09518e9ef942173e41e7521b93ea7be0cf0 (diff) | |
Merge tag 'mlx5-updates-2020-05-09' of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux
Saeed Mahameed says:
====================
mlx5-updates-2020-05-09
This series includes updates to mlx5 netdev driver and bonding updates
to support getting the next active tx slave.
1) merge commit with mlx5-next that includes bonding updates from Maor
Bonding: Add support to get xmit slave
2) Maxim makes some general code improvements to TX data path
3) Tariq makes some general code improvements to kTLS and mlx5 accel layer
in preparation for mlx5 TLS RX.
====================
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net')
| -rw-r--r-- | net/core/dev.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index f8d83922a6af..4c91de39890a 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -7861,6 +7861,28 @@ void netdev_bonding_info_change(struct net_device *dev, } EXPORT_SYMBOL(netdev_bonding_info_change); +/** + * netdev_get_xmit_slave - Get the xmit slave of master device + * @skb: The packet + * @all_slaves: assume all the slaves are active + * + * The reference counters are not incremented so the caller must be + * careful with locks. The caller must hold RCU lock. + * %NULL is returned if no slave is found. + */ + +struct net_device *netdev_get_xmit_slave(struct net_device *dev, + struct sk_buff *skb, + bool all_slaves) +{ + const struct net_device_ops *ops = dev->netdev_ops; + + if (!ops->ndo_get_xmit_slave) + return NULL; + return ops->ndo_get_xmit_slave(dev, skb, all_slaves); +} +EXPORT_SYMBOL(netdev_get_xmit_slave); + static void netdev_adjacent_add_links(struct net_device *dev) { struct netdev_adjacent *iter; |
