Commit a37dd3332319260cce81ac91ce25fcc3a31de997

Authored by David Ward
Committed by David S. Miller
1 parent 67f11f4ded

macvlan: Forward unicast frames in bridge mode to lowerdev

Unicast frames between macvlan interfaces in bridge mode are not otherwise
sent to network taps on the lowerdev (as all other macvlan frames are), so
forward the frames to the receive queue of the lowerdev first.

Signed-off-by: David Ward <david.ward@ll.mit.edu>
Signed-off-by: David S. Miller <davem@davemloft.net>

Showing 1 changed file with 2 additions and 4 deletions Side-by-side Diff

drivers/net/macvlan.c
... ... @@ -238,10 +238,8 @@
238 238  
239 239 dest = macvlan_hash_lookup(port, eth->h_dest);
240 240 if (dest && dest->mode == MACVLAN_MODE_BRIDGE) {
241   - unsigned int length = skb->len + ETH_HLEN;
242   - int ret = dest->forward(dest->dev, skb);
243   - macvlan_count_rx(dest, length,
244   - ret == NET_RX_SUCCESS, 0);
  241 + /* send to lowerdev first for its network taps */
  242 + vlan->forward(vlan->lowerdev, skb);
245 243  
246 244 return NET_XMIT_SUCCESS;
247 245 }