• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /****************************************************************************
2  ****************************************************************************
3  ***
4  ***   This header was automatically generated from a Linux kernel header
5  ***   of the same name, to make information necessary for userspace to
6  ***   call into the kernel available to libc.  It contains only constants,
7  ***   structures, and macros generated from the original header, and thus,
8  ***   contains no copyrightable information.
9  ***
10  ****************************************************************************
11  ****************************************************************************/
12 #ifndef _LINUX_IF_BRIDGE_H
13 #define _LINUX_IF_BRIDGE_H
14 
15 #include <linux/types.h>
16 
17 #define SYSFS_BRIDGE_ATTR "bridge"
18 #define SYSFS_BRIDGE_FDB "brforward"
19 #define SYSFS_BRIDGE_PORT_SUBDIR "brif"
20 #define SYSFS_BRIDGE_PORT_ATTR "brport"
21 #define SYSFS_BRIDGE_PORT_LINK "bridge"
22 
23 #define BRCTL_VERSION 1
24 
25 #define BRCTL_GET_VERSION 0
26 #define BRCTL_GET_BRIDGES 1
27 #define BRCTL_ADD_BRIDGE 2
28 #define BRCTL_DEL_BRIDGE 3
29 #define BRCTL_ADD_IF 4
30 #define BRCTL_DEL_IF 5
31 #define BRCTL_GET_BRIDGE_INFO 6
32 #define BRCTL_GET_PORT_LIST 7
33 #define BRCTL_SET_BRIDGE_FORWARD_DELAY 8
34 #define BRCTL_SET_BRIDGE_HELLO_TIME 9
35 #define BRCTL_SET_BRIDGE_MAX_AGE 10
36 #define BRCTL_SET_AGEING_TIME 11
37 #define BRCTL_SET_GC_INTERVAL 12
38 #define BRCTL_GET_PORT_INFO 13
39 #define BRCTL_SET_BRIDGE_STP_STATE 14
40 #define BRCTL_SET_BRIDGE_PRIORITY 15
41 #define BRCTL_SET_PORT_PRIORITY 16
42 #define BRCTL_SET_PATH_COST 17
43 #define BRCTL_GET_FDB_ENTRIES 18
44 
45 #define BR_STATE_DISABLED 0
46 #define BR_STATE_LISTENING 1
47 #define BR_STATE_LEARNING 2
48 #define BR_STATE_FORWARDING 3
49 #define BR_STATE_BLOCKING 4
50 
51 struct __bridge_info
52 {
53  __u64 designated_root;
54  __u64 bridge_id;
55  __u32 root_path_cost;
56  __u32 max_age;
57  __u32 hello_time;
58  __u32 forward_delay;
59  __u32 bridge_max_age;
60  __u32 bridge_hello_time;
61  __u32 bridge_forward_delay;
62  __u8 topology_change;
63  __u8 topology_change_detected;
64  __u8 root_port;
65  __u8 stp_enabled;
66  __u32 ageing_time;
67  __u32 gc_interval;
68  __u32 hello_timer_value;
69  __u32 tcn_timer_value;
70  __u32 topology_change_timer_value;
71  __u32 gc_timer_value;
72 };
73 
74 struct __port_info
75 {
76  __u64 designated_root;
77  __u64 designated_bridge;
78  __u16 port_id;
79  __u16 designated_port;
80  __u32 path_cost;
81  __u32 designated_cost;
82  __u8 state;
83  __u8 top_change_ack;
84  __u8 config_pending;
85  __u8 unused0;
86  __u32 message_age_timer_value;
87  __u32 forward_delay_timer_value;
88  __u32 hold_timer_value;
89 };
90 
91 struct __fdb_entry
92 {
93  __u8 mac_addr[6];
94  __u8 port_no;
95  __u8 is_local;
96  __u32 ageing_timer_value;
97  __u32 unused;
98 };
99 
100 #endif
101