Blame view
include/linux/if_bridge.h
2.48 KB
1da177e4c Linux-2.6.12-rc2 |
1 2 3 4 5 6 |
/* * Linux ethernet bridge * * Authors: * Lennert Buytenhek <buytenh@gnu.org> * |
1da177e4c Linux-2.6.12-rc2 |
7 8 9 10 11 |
* 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. */ |
1da177e4c Linux-2.6.12-rc2 |
12 13 |
#ifndef _LINUX_IF_BRIDGE_H #define _LINUX_IF_BRIDGE_H |
1da177e4c Linux-2.6.12-rc2 |
14 15 |
#include <linux/netdevice.h> |
607ca46e9 UAPI: (Scripted) ... |
16 |
#include <uapi/linux/if_bridge.h> |
065c212a9 bridge: move priv... |
17 |
#include <linux/bitops.h> |
1da177e4c Linux-2.6.12-rc2 |
18 |
|
07f8ac4a1 bridge: add expor... |
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
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; }; |
065c212a9 bridge: move priv... |
34 35 36 37 38 39 40 41 42 43 |
#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) |
efacacdaf bridge: add new b... |
44 |
#define BR_LEARNING_SYNC BIT(9) |
842a9ae08 bridge: Extend Pr... |
45 |
#define BR_PROXYARP_WIFI BIT(10) |
b6cb5ac83 net: bridge: add ... |
46 |
#define BR_MCAST_FLOOD BIT(11) |
6db6f0eae bridge: multicast... |
47 |
#define BR_MULTICAST_TO_UNICAST BIT(12) |
b3c7ef0ad bridge: uapi: add... |
48 |
#define BR_VLAN_TUNNEL BIT(13) |
99f906e9a bridge: add per-p... |
49 |
#define BR_BCAST_FLOOD BIT(14) |
065c212a9 bridge: move priv... |
50 |
|
a79e88d9f bridge: define so... |
51 |
#define BR_DEFAULT_AGEING_TIME (300 * HZ) |
881d966b4 [NET]: Make the d... |
52 |
extern void brioctl_set(int (*ioctl_hook)(struct net *, unsigned int, void __user *)); |
a386f9902 bridge: add prope... |
53 |
|
2f46e0799 netfilter: ebtabl... |
54 |
typedef int br_should_route_hook_t(struct sk_buff *skb); |
a386f9902 bridge: add prope... |
55 |
extern br_should_route_hook_t __rcu *br_should_route_hook; |
f941a6d9a bridge: adding st... |
56 57 |
#if IS_ENABLED(CONFIG_BRIDGE) && IS_ENABLED(CONFIG_BRIDGE_IGMP_SNOOPING) |
07f8ac4a1 bridge: add expor... |
58 59 |
int br_multicast_list_adjacent(struct net_device *dev, struct list_head *br_ip_list); |
c34963e21 bridge: export kn... |
60 |
bool br_multicast_has_querier_anywhere(struct net_device *dev, int proto); |
2cd414319 bridge: memorize ... |
61 |
bool br_multicast_has_querier_adjacent(struct net_device *dev, int proto); |
9341b988e bridge: Export mu... |
62 |
bool br_multicast_enabled(const struct net_device *dev); |
f941a6d9a bridge: adding st... |
63 64 65 66 67 68 |
#else static inline int br_multicast_list_adjacent(struct net_device *dev, struct list_head *br_ip_list) { return 0; } |
c34963e21 bridge: export kn... |
69 70 71 72 73 |
static inline bool br_multicast_has_querier_anywhere(struct net_device *dev, int proto) { return false; } |
f941a6d9a bridge: adding st... |
74 75 76 77 78 |
static inline bool br_multicast_has_querier_adjacent(struct net_device *dev, int proto) { return false; } |
9341b988e bridge: Export mu... |
79 80 81 82 |
static inline bool br_multicast_enabled(const struct net_device *dev) { return false; } |
f941a6d9a bridge: adding st... |
83 |
#endif |
1da177e4c Linux-2.6.12-rc2 |
84 |
|
1f51445af bridge: Export VL... |
85 86 87 88 89 90 91 92 |
#if IS_ENABLED(CONFIG_BRIDGE) && IS_ENABLED(CONFIG_BRIDGE_VLAN_FILTERING) bool br_vlan_enabled(const struct net_device *dev); #else static inline bool br_vlan_enabled(const struct net_device *dev) { return false; } #endif |
1da177e4c Linux-2.6.12-rc2 |
93 |
#endif |