Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a37dd333 authored by David Ward's avatar David Ward Committed by David S. Miller
Browse files

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: default avatarDavid Ward <david.ward@ll.mit.edu>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 67f11f4d
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -238,10 +238,8 @@ static int macvlan_queue_xmit(struct sk_buff *skb, struct net_device *dev)

		dest = macvlan_hash_lookup(port, eth->h_dest);
		if (dest && dest->mode == MACVLAN_MODE_BRIDGE) {
			unsigned int length = skb->len + ETH_HLEN;
			int ret = dest->forward(dest->dev, skb);
			macvlan_count_rx(dest, length,
					 ret == NET_RX_SUCCESS, 0);
			/* send to lowerdev first for its network taps */
			vlan->forward(vlan->lowerdev, skb);

			return NET_XMIT_SUCCESS;
		}