]> git.baikalelectronics.ru Git - kernel.git/commit
openvswitch: Move LRO check from transmit to receive.
authorJesse Gross <jesse@nicira.com>
Tue, 22 Jan 2013 07:57:26 +0000 (23:57 -0800)
committerJesse Gross <jesse@nicira.com>
Tue, 22 Jan 2013 07:57:26 +0000 (23:57 -0800)
commit3fd496d97bc12da79190be77d3e792d90fb9810a
tree18c2d4b631048d1bbee5cbf12c84d8034fe1a1e7
parenta2e69c3c0f994da1cd5fbfdb8a9cfdb38b9f1ed5
openvswitch: Move LRO check from transmit to receive.

The check for LRO packets was incorrectly put in the transmit path
instead of on receive.  Since this check is supposed to protect OVS
(and other parts of the system) from packets that it cannot handle
it is obviously not useful on egress.  Therefore, this commit moves
it back to the receive side.

The primary problem that this caused is upcalls to userspace tried
to segment the packet even though no segmentation information is
available.  This would later cause NULL pointer dereferences when
skb_gso_segment() did nothing.

Signed-off-by: Jesse Gross <jesse@nicira.com>
net/openvswitch/vport-netdev.c