macvlan.c (06f4e926d256d902dd9a53dcb400fd74974ce087) | macvlan.c (a37dd3332319260cce81ac91ce25fcc3a31de997) |
---|---|
1/* 2 * Copyright (c) 2007 Patrick McHardy <kaber@trash.net> 3 * 4 * This program is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU General Public License as 6 * published by the Free Software Foundation; either version 2 of 7 * the License, or (at your option) any later version. 8 * --- 224 unchanged lines hidden (view full) --- 233 /* send to other bridge ports directly */ 234 if (is_multicast_ether_addr(eth->h_dest)) { 235 macvlan_broadcast(skb, port, dev, MACVLAN_MODE_BRIDGE); 236 goto xmit_world; 237 } 238 239 dest = macvlan_hash_lookup(port, eth->h_dest); 240 if (dest && dest->mode == MACVLAN_MODE_BRIDGE) { | 1/* 2 * Copyright (c) 2007 Patrick McHardy <kaber@trash.net> 3 * 4 * This program is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU General Public License as 6 * published by the Free Software Foundation; either version 2 of 7 * the License, or (at your option) any later version. 8 * --- 224 unchanged lines hidden (view full) --- 233 /* send to other bridge ports directly */ 234 if (is_multicast_ether_addr(eth->h_dest)) { 235 macvlan_broadcast(skb, port, dev, MACVLAN_MODE_BRIDGE); 236 goto xmit_world; 237 } 238 239 dest = macvlan_hash_lookup(port, eth->h_dest); 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 246 return NET_XMIT_SUCCESS; 247 } 248 } 249 250xmit_world: 251 skb->ip_summed = ip_summed; 252 skb_set_dev(skb, vlan->lowerdev); --- 597 unchanged lines hidden --- | 243 244 return NET_XMIT_SUCCESS; 245 } 246 } 247 248xmit_world: 249 skb->ip_summed = ip_summed; 250 skb_set_dev(skb, vlan->lowerdev); --- 597 unchanged lines hidden --- |