Files
kernel_amazon_mt8127-common/include/linux
David S. Miller c726095ec7 vlan: Fix header ops passthru when doing TX VLAN offload.
[ Upstream commit 2205369a314e12fcec4781cc73ac9c08fc2b47de ]

When the vlan code detects that the real device can do TX VLAN offloads
in hardware, it tries to arrange for the real device's header_ops to
be invoked directly.

But it does so illegally, by simply hooking the real device's
header_ops up to the VLAN device.

This doesn't work because we will end up invoking a set of header_ops
routines which expect a device type which matches the real device, but
will see a VLAN device instead.

Fix this by providing a pass-thru set of header_ops which will arrange
to pass the proper real device instead.

To facilitate this add a dev_rebuild_header().  There are
implementations which provide a ->cache and ->create but not a
->rebuild (f.e. PLIP).  So we need a helper function just like
dev_hard_header() to avoid crashes.

Use this helper in the one existing place where the
header_ops->rebuild was being invoked, the neighbour code.

With lots of help from Florian Westphal.

Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-01-15 15:28:49 -08:00
..
2013-05-17 14:31:05 -04:00
2013-07-25 14:07:23 -07:00
2013-12-04 10:56:22 -08:00
2013-05-07 19:46:02 -07:00
2013-12-08 07:29:27 -08:00
2013-07-28 16:30:11 -07:00
2013-05-07 18:38:27 -07:00
2013-10-13 16:08:28 -07:00
2013-07-28 16:30:05 -07:00
2014-01-09 12:24:23 -08:00
2013-10-13 16:08:35 -07:00
2013-07-21 18:21:29 -07:00
2014-01-15 15:28:47 -08:00
2013-05-28 11:05:08 +02:00
2013-08-20 08:43:02 -07:00
2013-07-28 16:29:55 -07:00