br_input.c (cb54b53adae70701bdd77d848cea4b9b39b61cf9) | br_input.c (b00589af3b04736376f24625ab0b394642e89e29) |
---|---|
1/* 2 * Handle incoming frames 3 * Linux ethernet bridge 4 * 5 * Authors: 6 * Lennert Buytenhek <buytenh@gnu.org> 7 * 8 * This program is free software; you can redistribute it and/or --- 87 unchanged lines hidden (view full) --- 96 97 dst = NULL; 98 99 if (is_broadcast_ether_addr(dest)) { 100 skb2 = skb; 101 unicast = false; 102 } else if (is_multicast_ether_addr(dest)) { 103 mdst = br_mdb_get(br, skb, vid); | 1/* 2 * Handle incoming frames 3 * Linux ethernet bridge 4 * 5 * Authors: 6 * Lennert Buytenhek <buytenh@gnu.org> 7 * 8 * This program is free software; you can redistribute it and/or --- 87 unchanged lines hidden (view full) --- 96 97 dst = NULL; 98 99 if (is_broadcast_ether_addr(dest)) { 100 skb2 = skb; 101 unicast = false; 102 } else if (is_multicast_ether_addr(dest)) { 103 mdst = br_mdb_get(br, skb, vid); |
104 if (mdst || BR_INPUT_SKB_CB_MROUTERS_ONLY(skb)) { | 104 if ((mdst || BR_INPUT_SKB_CB_MROUTERS_ONLY(skb)) && 105 br_multicast_querier_exists(br)) { |
105 if ((mdst && mdst->mglist) || 106 br_multicast_is_router(br)) 107 skb2 = skb; 108 br_multicast_forward(mdst, skb, skb2); 109 skb = NULL; 110 if (!skb2) 111 goto out; 112 } else --- 130 unchanged lines hidden --- | 106 if ((mdst && mdst->mglist) || 107 br_multicast_is_router(br)) 108 skb2 = skb; 109 br_multicast_forward(mdst, skb, skb2); 110 skb = NULL; 111 if (!skb2) 112 goto out; 113 } else --- 130 unchanged lines hidden --- |