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