← Back to team overview

kernel-packages team mailing list archive

[Bug 1547680] [NEW] bonded interfaces in bridge do not have LRO turned off

 

Public bug reported:

The "large receive offload" functionality of some NICs is not compatible
with packet forwarding, because it modifies incoming packets in an
irreversible way so the packets can't be correctly forwarded across the
bridge.  When an interface is added to a bridge, the kernel
automatically disables LRO via dev_disable_lro(), however in trusty this
only works for normal interfaces (or vlan/macvlan) added to a bridge.
When interfaces belong to a bond, and the bond is added to a bridge, the
interfaces' LRO is not disabled, and (some) incoming packets are
modified by LRO and then lost when passing through the bridge.

Commit fbe168ba91f7c327856f205699404284c2f09e36 updates
dev_disable_lro() to work for all types of interfaces, including bonds.

** Affects: linux (Ubuntu)
     Importance: Undecided
     Assignee: Dan Streetman (ddstreet)
         Status: In Progress


** Tags: sts

** Changed in: linux (Ubuntu)
     Assignee: (unassigned) => Dan Streetman (ddstreet)

** Changed in: linux (Ubuntu)
       Status: New => Fix Released

** Changed in: linux (Ubuntu)
       Status: Fix Released => In Progress

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1547680

Title:
  bonded interfaces in bridge do not have LRO turned off

Status in linux package in Ubuntu:
  In Progress

Bug description:
  The "large receive offload" functionality of some NICs is not
  compatible with packet forwarding, because it modifies incoming
  packets in an irreversible way so the packets can't be correctly
  forwarded across the bridge.  When an interface is added to a bridge,
  the kernel automatically disables LRO via dev_disable_lro(), however
  in trusty this only works for normal interfaces (or vlan/macvlan)
  added to a bridge.  When interfaces belong to a bond, and the bond is
  added to a bridge, the interfaces' LRO is not disabled, and (some)
  incoming packets are modified by LRO and then lost when passing
  through the bridge.

  Commit fbe168ba91f7c327856f205699404284c2f09e36 updates
  dev_disable_lro() to work for all types of interfaces, including
  bonds.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1547680/+subscriptions


Follow ups