br_multicast.c (6c03ee8bdaa10401f60dee25a719753d2fbbcc36) | br_multicast.c (3993c4e159eba0e10c0628737736d6fcf97ab9ef) |
---|---|
1/* 2 * Bridge multicast support. 3 * 4 * Copyright (c) 2010 Herbert Xu <herbert@gondor.apana.org.au> 5 * 6 * This program is free software; you can redistribute it and/or modify it 7 * under the terms of the GNU General Public License as published by the Free 8 * Software Foundation; either version 2 of the License, or (at your option) --- 2232 unchanged lines hidden (view full) --- 2241 br = port->br; 2242 2243 switch (proto) { 2244 case ETH_P_IP: 2245 if (!timer_pending(&br->ip4_other_query.timer) || 2246 rcu_dereference(br->ip4_querier.port) == port) 2247 goto unlock; 2248 break; | 1/* 2 * Bridge multicast support. 3 * 4 * Copyright (c) 2010 Herbert Xu <herbert@gondor.apana.org.au> 5 * 6 * This program is free software; you can redistribute it and/or modify it 7 * under the terms of the GNU General Public License as published by the Free 8 * Software Foundation; either version 2 of the License, or (at your option) --- 2232 unchanged lines hidden (view full) --- 2241 br = port->br; 2242 2243 switch (proto) { 2244 case ETH_P_IP: 2245 if (!timer_pending(&br->ip4_other_query.timer) || 2246 rcu_dereference(br->ip4_querier.port) == port) 2247 goto unlock; 2248 break; |
2249#if IS_ENABLED(CONFIG_IPV6) |
|
2249 case ETH_P_IPV6: 2250 if (!timer_pending(&br->ip6_other_query.timer) || 2251 rcu_dereference(br->ip6_querier.port) == port) 2252 goto unlock; 2253 break; | 2250 case ETH_P_IPV6: 2251 if (!timer_pending(&br->ip6_other_query.timer) || 2252 rcu_dereference(br->ip6_querier.port) == port) 2253 goto unlock; 2254 break; |
2255#endif |
|
2254 default: 2255 goto unlock; 2256 } 2257 2258 ret = true; 2259unlock: 2260 rcu_read_unlock(); 2261 return ret; 2262} 2263EXPORT_SYMBOL_GPL(br_multicast_has_querier_adjacent); | 2256 default: 2257 goto unlock; 2258 } 2259 2260 ret = true; 2261unlock: 2262 rcu_read_unlock(); 2263 return ret; 2264} 2265EXPORT_SYMBOL_GPL(br_multicast_has_querier_adjacent); |