diff options
Diffstat (limited to 'include/linux/if_bridge.h')
| -rw-r--r-- | include/linux/if_bridge.h | 31 | 
1 files changed, 31 insertions, 0 deletions
diff --git a/include/linux/if_bridge.h b/include/linux/if_bridge.h index 808dcb8cc04f..0a8ce762a47f 100644 --- a/include/linux/if_bridge.h +++ b/include/linux/if_bridge.h @@ -15,6 +15,7 @@  #include <linux/netdevice.h>  #include <uapi/linux/if_bridge.h> +#include <linux/bitops.h>  struct br_ip {  	union { @@ -32,11 +33,41 @@ struct br_ip_list {  	struct br_ip addr;  }; +#define BR_HAIRPIN_MODE		BIT(0) +#define BR_BPDU_GUARD		BIT(1) +#define BR_ROOT_BLOCK		BIT(2) +#define BR_MULTICAST_FAST_LEAVE	BIT(3) +#define BR_ADMIN_COST		BIT(4) +#define BR_LEARNING		BIT(5) +#define BR_FLOOD		BIT(6) +#define BR_AUTO_MASK		(BR_FLOOD | BR_LEARNING) +#define BR_PROMISC		BIT(7) +#define BR_PROXYARP		BIT(8) +#define BR_LEARNING_SYNC	BIT(9) +  extern void brioctl_set(int (*ioctl_hook)(struct net *, unsigned int, void __user *));  typedef int br_should_route_hook_t(struct sk_buff *skb);  extern br_should_route_hook_t __rcu *br_should_route_hook; +#if IS_ENABLED(CONFIG_BRIDGE) +int br_fdb_external_learn_add(struct net_device *dev, +			      const unsigned char *addr, u16 vid); +int br_fdb_external_learn_del(struct net_device *dev, +			      const unsigned char *addr, u16 vid); +#else +static inline int br_fdb_external_learn_add(struct net_device *dev, +					    const unsigned char *addr, u16 vid) +{ +	return 0; +} +static inline int br_fdb_external_learn_del(struct net_device *dev, +					    const unsigned char *addr, u16 vid) +{ +	return 0; +} +#endif +  #if IS_ENABLED(CONFIG_BRIDGE) && IS_ENABLED(CONFIG_BRIDGE_IGMP_SNOOPING)  int br_multicast_list_adjacent(struct net_device *dev,  			       struct list_head *br_ip_list);  |