dev_disable_lro() improvements for stacked devices
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest3 patches 5 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/3 | net: handle more general stacking in dev_disable_lro()net/ | +14 | 0 replies | |
| 2/3 | team: add helper to check if device is a team masterdrivers/ include/ | +9 | 0 replies | |
| 3/3 | net: propagate LRO disabling to bond and team slavesdrivers/ drivers/ net/ | +14 | 0 replies |
Reviews trailers per patch
None of the 3 patches has a Reviewed-by or Acked-by of their own; the series has one for all of them.
| Patch | Veaceslav Falico |
|---|---|
| Series | A-b |
| 1/3 | |
| 2/3 | |
| 3/3 |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [PATCH net-next 0/3] dev_disable_lro() improvements for stacked devices
Large receive offloading is known to cause problems if received packets are passed to other host. Therefore the kernel disables it by calling dev_disable_lro() whenever a network device is enslaved in a bridge or forwarding is enabled for it (or globally). For virtual devices we need to disable LRO on the underlying physical device (which is actually receiving the packets).
Current dev_disable_lro() code handles this propagation for a vlan (including 802.1ad nested vlan), macvlan or a vlan on top of a macvlan. This patch adds LRO disabling propagation for
- macvlan on top of a vlan or any stacked combination of those
- bonding
- teaming
In the bonding and teaming case, it is necessary to disable LRO not only on slaves when dev_disable_lro() is called but also on any slave (port) added later.
Michal Kubecek (3):
net: handle more general stacking in dev_disable_lro()
team: add helper to check if device is a team master
net: propagate LRO disabling to bond and team slaves
drivers/net/bonding/bond_main.c | 3 +++ drivers/net/team/team.c | 6 +++++- include/linux/netdevice.h | 7 +++++++ net/core/dev.c | 31 ++++++++++++++++++++++--------- 4 files changed, 37 insertions(+), 10 deletions(-)
Signature · 1 line
1.8.4.5