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 ---