Files
ack-tegra/include/linux
Eric Dumazet 6a32e4f9dd vlan: allow nested vlan_do_receive()
commit 2425717b27 (net: allow vlan traffic to be received under bond)
broke ARP processing on vlan on top of bonding.

       +-------+
eth0 --| bond0 |---bond0.103
eth1 --|       |
       +-------+

52870.115435: skb_gro_reset_offset <-napi_gro_receive
52870.115435: dev_gro_receive <-napi_gro_receive
52870.115435: napi_skb_finish <-napi_gro_receive
52870.115435: netif_receive_skb <-napi_skb_finish
52870.115435: get_rps_cpu <-netif_receive_skb
52870.115435: __netif_receive_skb <-netif_receive_skb
52870.115436: vlan_do_receive <-__netif_receive_skb
52870.115436: bond_handle_frame <-__netif_receive_skb
52870.115436: vlan_do_receive <-__netif_receive_skb
52870.115436: arp_rcv <-__netif_receive_skb
52870.115436: kfree_skb <-arp_rcv

Packet is dropped in arp_rcv() because its pkt_type was set to
PACKET_OTHERHOST in the first vlan_do_receive() call, since no eth0.103
exists.

We really need to change pkt_type only if no more rx_handler is about to
be called for the packet.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Reviewed-by: Jiri Pirko <jpirko@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-10-30 04:43:30 -04:00
..
2011-09-15 15:08:18 +02:00
2011-09-13 15:42:30 -04:00
2011-07-22 08:25:37 -07:00
2011-07-26 16:49:47 -07:00
2011-07-20 20:47:43 -04:00
2011-07-26 16:49:47 -07:00
2011-07-26 16:49:47 -07:00
2011-07-26 16:49:47 -07:00
2011-07-26 16:49:47 -07:00
2011-08-03 11:30:42 -04:00
2011-08-11 10:36:05 +02:00
2011-07-31 22:05:09 +02:00
2011-07-26 16:49:47 -07:00
2011-07-26 16:49:47 -07:00
2011-08-25 16:25:33 -07:00
2011-08-03 19:06:37 -04:00
2011-07-26 16:49:47 -07:00
2011-07-06 14:44:42 -07:00
2011-07-25 20:57:16 -07:00
2011-07-05 23:42:17 -07:00
2011-07-26 16:49:47 -07:00
2011-10-02 00:19:34 +02:00
2011-07-26 16:49:47 -07:00
2011-09-14 15:24:51 -04:00
2011-07-26 16:49:47 -07:00
2011-07-26 16:49:47 -07:00
2011-08-08 16:08:08 +02:00
2011-07-01 15:34:45 -07:00
2011-10-25 09:59:04 +02:00
2011-10-30 04:43:30 -04:00
2011-07-21 13:47:54 -07:00
2011-09-27 18:08:04 +02:00
2011-09-27 18:08:04 +02:00
2011-07-26 16:49:47 -07:00
2011-07-26 16:49:47 -07:00
2011-09-20 23:24:44 -04:00
2011-07-26 16:49:47 -07:00
2011-07-26 16:49:47 -07:00
2011-07-26 16:49:47 -07:00
2011-09-16 19:20:20 -04:00
2011-07-26 16:49:47 -07:00
2011-07-26 16:49:47 -07:00
2011-07-26 16:49:47 -07:00
2011-07-26 16:49:47 -07:00
2011-09-27 08:12:33 -07:00
2011-07-31 12:18:16 -04:00
2011-07-28 16:19:22 -06:00
2011-08-09 11:27:16 -06:00
2011-07-22 16:14:29 -07:00
2011-07-26 16:49:47 -07:00
2011-07-26 14:50:01 -07:00
2011-07-26 16:49:47 -07:00
2011-07-30 08:44:19 -10:00
2011-07-26 16:49:47 -07:00
2011-07-26 16:49:47 -07:00
2011-07-25 20:57:11 -07:00
2011-08-16 00:16:49 -07:00
2011-08-03 14:25:22 -10:00
2011-10-03 14:01:21 -04:00
2011-08-23 10:10:38 -07:00
2011-09-26 15:51:10 -07:00
2011-10-24 02:07:21 -04:00
2011-07-26 16:49:47 -07:00
2011-07-26 16:49:47 -07:00
2011-09-14 15:24:51 -04:00