cregit-Linux how code gets into the kernel

Release 4.7 include/linux/if_bridge.h

Directory: include/linux
/*
 *      Linux ethernet bridge
 *
 *      Authors:
 *      Lennert Buytenhek               <buytenh@gnu.org>
 *
 *      This program is free software; you can redistribute it and/or
 *      modify it under the terms of the GNU General Public License
 *      as published by the Free Software Foundation; either version
 *      2 of the License, or (at your option) any later version.
 */
#ifndef _LINUX_IF_BRIDGE_H

#define _LINUX_IF_BRIDGE_H


#include <linux/netdevice.h>
#include <uapi/linux/if_bridge.h>
#include <linux/bitops.h>


struct br_ip {
	union {
		
__be32	ip4;
#if IS_ENABLED(CONFIG_IPV6)
		
struct in6_addr ip6;
#endif
	} 
u;
	
__be16		proto;
	
__u16           vid;
};


struct br_ip_list {
	
struct list_head 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)

#define BR_PROXYARP_WIFI	BIT(10)


#define BR_DEFAULT_AGEING_TIME	(300 * HZ)

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) && IS_ENABLED(CONFIG_BRIDGE_IGMP_SNOOPING)
int br_multicast_list_adjacent(struct net_device *dev,
			       struct list_head *br_ip_list);
bool br_multicast_has_querier_anywhere(struct net_device *dev, int proto);
bool br_multicast_has_querier_adjacent(struct net_device *dev, int proto);
#else

static inline int br_multicast_list_adjacent(struct net_device *dev, struct list_head *br_ip_list) { return 0; }

Contributors

PersonTokensPropCommitsCommitProp
linus lussinglinus lussing20100.00%1100.00%
Total20100.00%1100.00%


static inline bool br_multicast_has_querier_anywhere(struct net_device *dev, int proto) { return false; }

Contributors

PersonTokensPropCommitsCommitProp
linus lussinglinus lussing18100.00%1100.00%
Total18100.00%1100.00%


static inline bool br_multicast_has_querier_adjacent(struct net_device *dev, int proto) { return false; }

Contributors

PersonTokensPropCommitsCommitProp
linus lussinglinus lussing18100.00%1100.00%
Total18100.00%1100.00%

#endif #endif

Overall Contributors

PersonTokensPropCommitsCommitProp
linus lussinglinus lussing15358.40%422.22%
scott feldmanscott feldman5119.47%316.67%
pre-gitpre-git218.02%15.56%
eric dumazeteric dumazet83.05%15.56%
bart de schuymerbart de schuymer72.67%15.56%
stephen hemmingerstephen hemminger72.67%211.11%
jouni malinenjouni malinen41.53%15.56%
eric w. biedermaneric w. biederman41.53%15.56%
al viroal viro31.15%15.56%
david howellsdavid howells20.76%15.56%
adrian bunkadrian bunk10.38%15.56%
herbert xuherbert xu10.38%15.56%
Total262100.00%18100.00%
Directory: include/linux
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
{% endraw %}