br_private.h (93d8bf9fb8f39d6d3e461db60f883d9f81006159) br_private.h (b00589af3b04736376f24625ab0b394642e89e29)
1/*
2 * Linux ethernet bridge
3 *
4 * Authors:
5 * Lennert Buytenhek <buytenh@gnu.org>
6 *
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License

--- 253 unchanged lines hidden (view full) ---

262 u32 multicast_startup_query_count;
263
264 unsigned long multicast_last_member_interval;
265 unsigned long multicast_membership_interval;
266 unsigned long multicast_querier_interval;
267 unsigned long multicast_query_interval;
268 unsigned long multicast_query_response_interval;
269 unsigned long multicast_startup_query_interval;
1/*
2 * Linux ethernet bridge
3 *
4 * Authors:
5 * Lennert Buytenhek <buytenh@gnu.org>
6 *
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License

--- 253 unchanged lines hidden (view full) ---

262 u32 multicast_startup_query_count;
263
264 unsigned long multicast_last_member_interval;
265 unsigned long multicast_membership_interval;
266 unsigned long multicast_querier_interval;
267 unsigned long multicast_query_interval;
268 unsigned long multicast_query_response_interval;
269 unsigned long multicast_startup_query_interval;
270 unsigned long multicast_querier_delay_time;
270
271 spinlock_t multicast_lock;
272 struct net_bridge_mdb_htable __rcu *mdb;
273 struct hlist_head router_list;
274
275 struct timer_list multicast_router_timer;
276 struct timer_list multicast_querier_timer;
277 struct timer_list multicast_query_timer;

--- 50 unchanged lines hidden (view full) ---

328}
329
330/* br_device.c */
331extern void br_dev_setup(struct net_device *dev);
332extern void br_dev_delete(struct net_device *dev, struct list_head *list);
333extern netdev_tx_t br_dev_xmit(struct sk_buff *skb,
334 struct net_device *dev);
335#ifdef CONFIG_NET_POLL_CONTROLLER
271
272 spinlock_t multicast_lock;
273 struct net_bridge_mdb_htable __rcu *mdb;
274 struct hlist_head router_list;
275
276 struct timer_list multicast_router_timer;
277 struct timer_list multicast_querier_timer;
278 struct timer_list multicast_query_timer;

--- 50 unchanged lines hidden (view full) ---

329}
330
331/* br_device.c */
332extern void br_dev_setup(struct net_device *dev);
333extern void br_dev_delete(struct net_device *dev, struct list_head *list);
334extern netdev_tx_t br_dev_xmit(struct sk_buff *skb,
335 struct net_device *dev);
336#ifdef CONFIG_NET_POLL_CONTROLLER
337static inline struct netpoll_info *br_netpoll_info(struct net_bridge *br)
338{
339 return br->dev->npinfo;
340}
341
336static inline void br_netpoll_send_skb(const struct net_bridge_port *p,
337 struct sk_buff *skb)
338{
339 struct netpoll *np = p->np;
340
341 if (np)
342 netpoll_send_skb(np, skb);
343}
344
345extern int br_netpoll_enable(struct net_bridge_port *p, gfp_t gfp);
346extern void br_netpoll_disable(struct net_bridge_port *p);
347#else
342static inline void br_netpoll_send_skb(const struct net_bridge_port *p,
343 struct sk_buff *skb)
344{
345 struct netpoll *np = p->np;
346
347 if (np)
348 netpoll_send_skb(np, skb);
349}
350
351extern int br_netpoll_enable(struct net_bridge_port *p, gfp_t gfp);
352extern void br_netpoll_disable(struct net_bridge_port *p);
353#else
354static inline struct netpoll_info *br_netpoll_info(struct net_bridge *br)
355{
356 return NULL;
357}
358
348static inline void br_netpoll_send_skb(const struct net_bridge_port *p,
349 struct sk_buff *skb)
350{
351}
352
353static inline int br_netpoll_enable(struct net_bridge_port *p, gfp_t gfp)
354{
355 return 0;

--- 130 unchanged lines hidden (view full) ---

486#endif
487
488static inline bool br_multicast_is_router(struct net_bridge *br)
489{
490 return br->multicast_router == 2 ||
491 (br->multicast_router == 1 &&
492 timer_pending(&br->multicast_router_timer));
493}
359static inline void br_netpoll_send_skb(const struct net_bridge_port *p,
360 struct sk_buff *skb)
361{
362}
363
364static inline int br_netpoll_enable(struct net_bridge_port *p, gfp_t gfp)
365{
366 return 0;

--- 130 unchanged lines hidden (view full) ---

497#endif
498
499static inline bool br_multicast_is_router(struct net_bridge *br)
500{
501 return br->multicast_router == 2 ||
502 (br->multicast_router == 1 &&
503 timer_pending(&br->multicast_router_timer));
504}
505
506static inline bool br_multicast_querier_exists(struct net_bridge *br)
507{
508 return time_is_before_jiffies(br->multicast_querier_delay_time) &&
509 (br->multicast_querier ||
510 timer_pending(&br->multicast_querier_timer));
511}
494#else
495static inline int br_multicast_rcv(struct net_bridge *br,
496 struct net_bridge_port *port,
497 struct sk_buff *skb)
498{
499 return 0;
500}
501

--- 40 unchanged lines hidden (view full) ---

542 struct sk_buff *skb,
543 struct sk_buff *skb2)
544{
545}
546static inline bool br_multicast_is_router(struct net_bridge *br)
547{
548 return 0;
549}
512#else
513static inline int br_multicast_rcv(struct net_bridge *br,
514 struct net_bridge_port *port,
515 struct sk_buff *skb)
516{
517 return 0;
518}
519

--- 40 unchanged lines hidden (view full) ---

560 struct sk_buff *skb,
561 struct sk_buff *skb2)
562{
563}
564static inline bool br_multicast_is_router(struct net_bridge *br)
565{
566 return 0;
567}
568static inline bool br_multicast_querier_exists(struct net_bridge *br)
569{
570 return false;
571}
550static inline void br_mdb_init(void)
551{
552}
553static inline void br_mdb_uninit(void)
554{
555}
556#endif
557

--- 219 unchanged lines hidden ---
572static inline void br_mdb_init(void)
573{
574}
575static inline void br_mdb_uninit(void)
576{
577}
578#endif
579

--- 219 unchanged lines hidden ---