1*8d67ca89SAndroid Build Coastguard Worker /* 2*8d67ca89SAndroid Build Coastguard Worker * This file is auto-generated. Modifications will be lost. 3*8d67ca89SAndroid Build Coastguard Worker * 4*8d67ca89SAndroid Build Coastguard Worker * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/ 5*8d67ca89SAndroid Build Coastguard Worker * for more information. 6*8d67ca89SAndroid Build Coastguard Worker */ 7*8d67ca89SAndroid Build Coastguard Worker #ifndef _UAPI_LINUX_IF_BRIDGE_H 8*8d67ca89SAndroid Build Coastguard Worker #define _UAPI_LINUX_IF_BRIDGE_H 9*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h> 10*8d67ca89SAndroid Build Coastguard Worker #include <linux/if_ether.h> 11*8d67ca89SAndroid Build Coastguard Worker #include <linux/in6.h> 12*8d67ca89SAndroid Build Coastguard Worker #define SYSFS_BRIDGE_ATTR "bridge" 13*8d67ca89SAndroid Build Coastguard Worker #define SYSFS_BRIDGE_FDB "brforward" 14*8d67ca89SAndroid Build Coastguard Worker #define SYSFS_BRIDGE_PORT_SUBDIR "brif" 15*8d67ca89SAndroid Build Coastguard Worker #define SYSFS_BRIDGE_PORT_ATTR "brport" 16*8d67ca89SAndroid Build Coastguard Worker #define SYSFS_BRIDGE_PORT_LINK "bridge" 17*8d67ca89SAndroid Build Coastguard Worker #define BRCTL_VERSION 1 18*8d67ca89SAndroid Build Coastguard Worker #define BRCTL_GET_VERSION 0 19*8d67ca89SAndroid Build Coastguard Worker #define BRCTL_GET_BRIDGES 1 20*8d67ca89SAndroid Build Coastguard Worker #define BRCTL_ADD_BRIDGE 2 21*8d67ca89SAndroid Build Coastguard Worker #define BRCTL_DEL_BRIDGE 3 22*8d67ca89SAndroid Build Coastguard Worker #define BRCTL_ADD_IF 4 23*8d67ca89SAndroid Build Coastguard Worker #define BRCTL_DEL_IF 5 24*8d67ca89SAndroid Build Coastguard Worker #define BRCTL_GET_BRIDGE_INFO 6 25*8d67ca89SAndroid Build Coastguard Worker #define BRCTL_GET_PORT_LIST 7 26*8d67ca89SAndroid Build Coastguard Worker #define BRCTL_SET_BRIDGE_FORWARD_DELAY 8 27*8d67ca89SAndroid Build Coastguard Worker #define BRCTL_SET_BRIDGE_HELLO_TIME 9 28*8d67ca89SAndroid Build Coastguard Worker #define BRCTL_SET_BRIDGE_MAX_AGE 10 29*8d67ca89SAndroid Build Coastguard Worker #define BRCTL_SET_AGEING_TIME 11 30*8d67ca89SAndroid Build Coastguard Worker #define BRCTL_SET_GC_INTERVAL 12 31*8d67ca89SAndroid Build Coastguard Worker #define BRCTL_GET_PORT_INFO 13 32*8d67ca89SAndroid Build Coastguard Worker #define BRCTL_SET_BRIDGE_STP_STATE 14 33*8d67ca89SAndroid Build Coastguard Worker #define BRCTL_SET_BRIDGE_PRIORITY 15 34*8d67ca89SAndroid Build Coastguard Worker #define BRCTL_SET_PORT_PRIORITY 16 35*8d67ca89SAndroid Build Coastguard Worker #define BRCTL_SET_PATH_COST 17 36*8d67ca89SAndroid Build Coastguard Worker #define BRCTL_GET_FDB_ENTRIES 18 37*8d67ca89SAndroid Build Coastguard Worker #define BR_STATE_DISABLED 0 38*8d67ca89SAndroid Build Coastguard Worker #define BR_STATE_LISTENING 1 39*8d67ca89SAndroid Build Coastguard Worker #define BR_STATE_LEARNING 2 40*8d67ca89SAndroid Build Coastguard Worker #define BR_STATE_FORWARDING 3 41*8d67ca89SAndroid Build Coastguard Worker #define BR_STATE_BLOCKING 4 42*8d67ca89SAndroid Build Coastguard Worker struct __bridge_info { 43*8d67ca89SAndroid Build Coastguard Worker __u64 designated_root; 44*8d67ca89SAndroid Build Coastguard Worker __u64 bridge_id; 45*8d67ca89SAndroid Build Coastguard Worker __u32 root_path_cost; 46*8d67ca89SAndroid Build Coastguard Worker __u32 max_age; 47*8d67ca89SAndroid Build Coastguard Worker __u32 hello_time; 48*8d67ca89SAndroid Build Coastguard Worker __u32 forward_delay; 49*8d67ca89SAndroid Build Coastguard Worker __u32 bridge_max_age; 50*8d67ca89SAndroid Build Coastguard Worker __u32 bridge_hello_time; 51*8d67ca89SAndroid Build Coastguard Worker __u32 bridge_forward_delay; 52*8d67ca89SAndroid Build Coastguard Worker __u8 topology_change; 53*8d67ca89SAndroid Build Coastguard Worker __u8 topology_change_detected; 54*8d67ca89SAndroid Build Coastguard Worker __u8 root_port; 55*8d67ca89SAndroid Build Coastguard Worker __u8 stp_enabled; 56*8d67ca89SAndroid Build Coastguard Worker __u32 ageing_time; 57*8d67ca89SAndroid Build Coastguard Worker __u32 gc_interval; 58*8d67ca89SAndroid Build Coastguard Worker __u32 hello_timer_value; 59*8d67ca89SAndroid Build Coastguard Worker __u32 tcn_timer_value; 60*8d67ca89SAndroid Build Coastguard Worker __u32 topology_change_timer_value; 61*8d67ca89SAndroid Build Coastguard Worker __u32 gc_timer_value; 62*8d67ca89SAndroid Build Coastguard Worker }; 63*8d67ca89SAndroid Build Coastguard Worker struct __port_info { 64*8d67ca89SAndroid Build Coastguard Worker __u64 designated_root; 65*8d67ca89SAndroid Build Coastguard Worker __u64 designated_bridge; 66*8d67ca89SAndroid Build Coastguard Worker __u16 port_id; 67*8d67ca89SAndroid Build Coastguard Worker __u16 designated_port; 68*8d67ca89SAndroid Build Coastguard Worker __u32 path_cost; 69*8d67ca89SAndroid Build Coastguard Worker __u32 designated_cost; 70*8d67ca89SAndroid Build Coastguard Worker __u8 state; 71*8d67ca89SAndroid Build Coastguard Worker __u8 top_change_ack; 72*8d67ca89SAndroid Build Coastguard Worker __u8 config_pending; 73*8d67ca89SAndroid Build Coastguard Worker __u8 unused0; 74*8d67ca89SAndroid Build Coastguard Worker __u32 message_age_timer_value; 75*8d67ca89SAndroid Build Coastguard Worker __u32 forward_delay_timer_value; 76*8d67ca89SAndroid Build Coastguard Worker __u32 hold_timer_value; 77*8d67ca89SAndroid Build Coastguard Worker }; 78*8d67ca89SAndroid Build Coastguard Worker struct __fdb_entry { 79*8d67ca89SAndroid Build Coastguard Worker __u8 mac_addr[ETH_ALEN]; 80*8d67ca89SAndroid Build Coastguard Worker __u8 port_no; 81*8d67ca89SAndroid Build Coastguard Worker __u8 is_local; 82*8d67ca89SAndroid Build Coastguard Worker __u32 ageing_timer_value; 83*8d67ca89SAndroid Build Coastguard Worker __u8 port_hi; 84*8d67ca89SAndroid Build Coastguard Worker __u8 pad0; 85*8d67ca89SAndroid Build Coastguard Worker __u16 unused; 86*8d67ca89SAndroid Build Coastguard Worker }; 87*8d67ca89SAndroid Build Coastguard Worker #define BRIDGE_FLAGS_MASTER 1 88*8d67ca89SAndroid Build Coastguard Worker #define BRIDGE_FLAGS_SELF 2 89*8d67ca89SAndroid Build Coastguard Worker #define BRIDGE_MODE_VEB 0 90*8d67ca89SAndroid Build Coastguard Worker #define BRIDGE_MODE_VEPA 1 91*8d67ca89SAndroid Build Coastguard Worker #define BRIDGE_MODE_UNDEF 0xFFFF 92*8d67ca89SAndroid Build Coastguard Worker enum { 93*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_FLAGS, 94*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MODE, 95*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_VLAN_INFO, 96*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_VLAN_TUNNEL_INFO, 97*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP, 98*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM, 99*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MST, 100*8d67ca89SAndroid Build Coastguard Worker __IFLA_BRIDGE_MAX, 101*8d67ca89SAndroid Build Coastguard Worker }; 102*8d67ca89SAndroid Build Coastguard Worker #define IFLA_BRIDGE_MAX (__IFLA_BRIDGE_MAX - 1) 103*8d67ca89SAndroid Build Coastguard Worker #define BRIDGE_VLAN_INFO_MASTER (1 << 0) 104*8d67ca89SAndroid Build Coastguard Worker #define BRIDGE_VLAN_INFO_PVID (1 << 1) 105*8d67ca89SAndroid Build Coastguard Worker #define BRIDGE_VLAN_INFO_UNTAGGED (1 << 2) 106*8d67ca89SAndroid Build Coastguard Worker #define BRIDGE_VLAN_INFO_RANGE_BEGIN (1 << 3) 107*8d67ca89SAndroid Build Coastguard Worker #define BRIDGE_VLAN_INFO_RANGE_END (1 << 4) 108*8d67ca89SAndroid Build Coastguard Worker #define BRIDGE_VLAN_INFO_BRENTRY (1 << 5) 109*8d67ca89SAndroid Build Coastguard Worker #define BRIDGE_VLAN_INFO_ONLY_OPTS (1 << 6) 110*8d67ca89SAndroid Build Coastguard Worker struct bridge_vlan_info { 111*8d67ca89SAndroid Build Coastguard Worker __u16 flags; 112*8d67ca89SAndroid Build Coastguard Worker __u16 vid; 113*8d67ca89SAndroid Build Coastguard Worker }; 114*8d67ca89SAndroid Build Coastguard Worker enum { 115*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_VLAN_TUNNEL_UNSPEC, 116*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_VLAN_TUNNEL_ID, 117*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_VLAN_TUNNEL_VID, 118*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_VLAN_TUNNEL_FLAGS, 119*8d67ca89SAndroid Build Coastguard Worker __IFLA_BRIDGE_VLAN_TUNNEL_MAX, 120*8d67ca89SAndroid Build Coastguard Worker }; 121*8d67ca89SAndroid Build Coastguard Worker #define IFLA_BRIDGE_VLAN_TUNNEL_MAX (__IFLA_BRIDGE_VLAN_TUNNEL_MAX - 1) 122*8d67ca89SAndroid Build Coastguard Worker struct bridge_vlan_xstats { 123*8d67ca89SAndroid Build Coastguard Worker __u64 rx_bytes; 124*8d67ca89SAndroid Build Coastguard Worker __u64 rx_packets; 125*8d67ca89SAndroid Build Coastguard Worker __u64 tx_bytes; 126*8d67ca89SAndroid Build Coastguard Worker __u64 tx_packets; 127*8d67ca89SAndroid Build Coastguard Worker __u16 vid; 128*8d67ca89SAndroid Build Coastguard Worker __u16 flags; 129*8d67ca89SAndroid Build Coastguard Worker __u32 pad2; 130*8d67ca89SAndroid Build Coastguard Worker }; 131*8d67ca89SAndroid Build Coastguard Worker enum { 132*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_UNSPEC, 133*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_INSTANCE, 134*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_PORT_STATE, 135*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_PORT_ROLE, 136*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_RING_STATE, 137*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_RING_ROLE, 138*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_START_TEST, 139*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_INFO, 140*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_IN_ROLE, 141*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_IN_STATE, 142*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_START_IN_TEST, 143*8d67ca89SAndroid Build Coastguard Worker __IFLA_BRIDGE_MRP_MAX, 144*8d67ca89SAndroid Build Coastguard Worker }; 145*8d67ca89SAndroid Build Coastguard Worker #define IFLA_BRIDGE_MRP_MAX (__IFLA_BRIDGE_MRP_MAX - 1) 146*8d67ca89SAndroid Build Coastguard Worker enum { 147*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_INSTANCE_UNSPEC, 148*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_INSTANCE_RING_ID, 149*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_INSTANCE_P_IFINDEX, 150*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_INSTANCE_S_IFINDEX, 151*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_INSTANCE_PRIO, 152*8d67ca89SAndroid Build Coastguard Worker __IFLA_BRIDGE_MRP_INSTANCE_MAX, 153*8d67ca89SAndroid Build Coastguard Worker }; 154*8d67ca89SAndroid Build Coastguard Worker #define IFLA_BRIDGE_MRP_INSTANCE_MAX (__IFLA_BRIDGE_MRP_INSTANCE_MAX - 1) 155*8d67ca89SAndroid Build Coastguard Worker enum { 156*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_PORT_STATE_UNSPEC, 157*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_PORT_STATE_STATE, 158*8d67ca89SAndroid Build Coastguard Worker __IFLA_BRIDGE_MRP_PORT_STATE_MAX, 159*8d67ca89SAndroid Build Coastguard Worker }; 160*8d67ca89SAndroid Build Coastguard Worker #define IFLA_BRIDGE_MRP_PORT_STATE_MAX (__IFLA_BRIDGE_MRP_PORT_STATE_MAX - 1) 161*8d67ca89SAndroid Build Coastguard Worker enum { 162*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_PORT_ROLE_UNSPEC, 163*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_PORT_ROLE_ROLE, 164*8d67ca89SAndroid Build Coastguard Worker __IFLA_BRIDGE_MRP_PORT_ROLE_MAX, 165*8d67ca89SAndroid Build Coastguard Worker }; 166*8d67ca89SAndroid Build Coastguard Worker #define IFLA_BRIDGE_MRP_PORT_ROLE_MAX (__IFLA_BRIDGE_MRP_PORT_ROLE_MAX - 1) 167*8d67ca89SAndroid Build Coastguard Worker enum { 168*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_RING_STATE_UNSPEC, 169*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_RING_STATE_RING_ID, 170*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_RING_STATE_STATE, 171*8d67ca89SAndroid Build Coastguard Worker __IFLA_BRIDGE_MRP_RING_STATE_MAX, 172*8d67ca89SAndroid Build Coastguard Worker }; 173*8d67ca89SAndroid Build Coastguard Worker #define IFLA_BRIDGE_MRP_RING_STATE_MAX (__IFLA_BRIDGE_MRP_RING_STATE_MAX - 1) 174*8d67ca89SAndroid Build Coastguard Worker enum { 175*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_RING_ROLE_UNSPEC, 176*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_RING_ROLE_RING_ID, 177*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_RING_ROLE_ROLE, 178*8d67ca89SAndroid Build Coastguard Worker __IFLA_BRIDGE_MRP_RING_ROLE_MAX, 179*8d67ca89SAndroid Build Coastguard Worker }; 180*8d67ca89SAndroid Build Coastguard Worker #define IFLA_BRIDGE_MRP_RING_ROLE_MAX (__IFLA_BRIDGE_MRP_RING_ROLE_MAX - 1) 181*8d67ca89SAndroid Build Coastguard Worker enum { 182*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_START_TEST_UNSPEC, 183*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_START_TEST_RING_ID, 184*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_START_TEST_INTERVAL, 185*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_START_TEST_MAX_MISS, 186*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_START_TEST_PERIOD, 187*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_START_TEST_MONITOR, 188*8d67ca89SAndroid Build Coastguard Worker __IFLA_BRIDGE_MRP_START_TEST_MAX, 189*8d67ca89SAndroid Build Coastguard Worker }; 190*8d67ca89SAndroid Build Coastguard Worker #define IFLA_BRIDGE_MRP_START_TEST_MAX (__IFLA_BRIDGE_MRP_START_TEST_MAX - 1) 191*8d67ca89SAndroid Build Coastguard Worker enum { 192*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_INFO_UNSPEC, 193*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_INFO_RING_ID, 194*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_INFO_P_IFINDEX, 195*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_INFO_S_IFINDEX, 196*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_INFO_PRIO, 197*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_INFO_RING_STATE, 198*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_INFO_RING_ROLE, 199*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_INFO_TEST_INTERVAL, 200*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_INFO_TEST_MAX_MISS, 201*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_INFO_TEST_MONITOR, 202*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_INFO_I_IFINDEX, 203*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_INFO_IN_STATE, 204*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_INFO_IN_ROLE, 205*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_INFO_IN_TEST_INTERVAL, 206*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_INFO_IN_TEST_MAX_MISS, 207*8d67ca89SAndroid Build Coastguard Worker __IFLA_BRIDGE_MRP_INFO_MAX, 208*8d67ca89SAndroid Build Coastguard Worker }; 209*8d67ca89SAndroid Build Coastguard Worker #define IFLA_BRIDGE_MRP_INFO_MAX (__IFLA_BRIDGE_MRP_INFO_MAX - 1) 210*8d67ca89SAndroid Build Coastguard Worker enum { 211*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_IN_STATE_UNSPEC, 212*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_IN_STATE_IN_ID, 213*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_IN_STATE_STATE, 214*8d67ca89SAndroid Build Coastguard Worker __IFLA_BRIDGE_MRP_IN_STATE_MAX, 215*8d67ca89SAndroid Build Coastguard Worker }; 216*8d67ca89SAndroid Build Coastguard Worker #define IFLA_BRIDGE_MRP_IN_STATE_MAX (__IFLA_BRIDGE_MRP_IN_STATE_MAX - 1) 217*8d67ca89SAndroid Build Coastguard Worker enum { 218*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_IN_ROLE_UNSPEC, 219*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_IN_ROLE_RING_ID, 220*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_IN_ROLE_IN_ID, 221*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_IN_ROLE_ROLE, 222*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_IN_ROLE_I_IFINDEX, 223*8d67ca89SAndroid Build Coastguard Worker __IFLA_BRIDGE_MRP_IN_ROLE_MAX, 224*8d67ca89SAndroid Build Coastguard Worker }; 225*8d67ca89SAndroid Build Coastguard Worker #define IFLA_BRIDGE_MRP_IN_ROLE_MAX (__IFLA_BRIDGE_MRP_IN_ROLE_MAX - 1) 226*8d67ca89SAndroid Build Coastguard Worker enum { 227*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_START_IN_TEST_UNSPEC, 228*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_START_IN_TEST_IN_ID, 229*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_START_IN_TEST_INTERVAL, 230*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_START_IN_TEST_MAX_MISS, 231*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MRP_START_IN_TEST_PERIOD, 232*8d67ca89SAndroid Build Coastguard Worker __IFLA_BRIDGE_MRP_START_IN_TEST_MAX, 233*8d67ca89SAndroid Build Coastguard Worker }; 234*8d67ca89SAndroid Build Coastguard Worker #define IFLA_BRIDGE_MRP_START_IN_TEST_MAX (__IFLA_BRIDGE_MRP_START_IN_TEST_MAX - 1) 235*8d67ca89SAndroid Build Coastguard Worker struct br_mrp_instance { 236*8d67ca89SAndroid Build Coastguard Worker __u32 ring_id; 237*8d67ca89SAndroid Build Coastguard Worker __u32 p_ifindex; 238*8d67ca89SAndroid Build Coastguard Worker __u32 s_ifindex; 239*8d67ca89SAndroid Build Coastguard Worker __u16 prio; 240*8d67ca89SAndroid Build Coastguard Worker }; 241*8d67ca89SAndroid Build Coastguard Worker struct br_mrp_ring_state { 242*8d67ca89SAndroid Build Coastguard Worker __u32 ring_id; 243*8d67ca89SAndroid Build Coastguard Worker __u32 ring_state; 244*8d67ca89SAndroid Build Coastguard Worker }; 245*8d67ca89SAndroid Build Coastguard Worker struct br_mrp_ring_role { 246*8d67ca89SAndroid Build Coastguard Worker __u32 ring_id; 247*8d67ca89SAndroid Build Coastguard Worker __u32 ring_role; 248*8d67ca89SAndroid Build Coastguard Worker }; 249*8d67ca89SAndroid Build Coastguard Worker struct br_mrp_start_test { 250*8d67ca89SAndroid Build Coastguard Worker __u32 ring_id; 251*8d67ca89SAndroid Build Coastguard Worker __u32 interval; 252*8d67ca89SAndroid Build Coastguard Worker __u32 max_miss; 253*8d67ca89SAndroid Build Coastguard Worker __u32 period; 254*8d67ca89SAndroid Build Coastguard Worker __u32 monitor; 255*8d67ca89SAndroid Build Coastguard Worker }; 256*8d67ca89SAndroid Build Coastguard Worker struct br_mrp_in_state { 257*8d67ca89SAndroid Build Coastguard Worker __u32 in_state; 258*8d67ca89SAndroid Build Coastguard Worker __u16 in_id; 259*8d67ca89SAndroid Build Coastguard Worker }; 260*8d67ca89SAndroid Build Coastguard Worker struct br_mrp_in_role { 261*8d67ca89SAndroid Build Coastguard Worker __u32 ring_id; 262*8d67ca89SAndroid Build Coastguard Worker __u32 in_role; 263*8d67ca89SAndroid Build Coastguard Worker __u32 i_ifindex; 264*8d67ca89SAndroid Build Coastguard Worker __u16 in_id; 265*8d67ca89SAndroid Build Coastguard Worker }; 266*8d67ca89SAndroid Build Coastguard Worker struct br_mrp_start_in_test { 267*8d67ca89SAndroid Build Coastguard Worker __u32 interval; 268*8d67ca89SAndroid Build Coastguard Worker __u32 max_miss; 269*8d67ca89SAndroid Build Coastguard Worker __u32 period; 270*8d67ca89SAndroid Build Coastguard Worker __u16 in_id; 271*8d67ca89SAndroid Build Coastguard Worker }; 272*8d67ca89SAndroid Build Coastguard Worker enum { 273*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_UNSPEC, 274*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_MEP_CREATE, 275*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_MEP_DELETE, 276*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_MEP_CONFIG, 277*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_CC_CONFIG, 278*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_CC_PEER_MEP_ADD, 279*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_CC_PEER_MEP_REMOVE, 280*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_CC_RDI, 281*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_CC_CCM_TX, 282*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_MEP_CREATE_INFO, 283*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_MEP_CONFIG_INFO, 284*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_CC_CONFIG_INFO, 285*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_CC_RDI_INFO, 286*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_CC_CCM_TX_INFO, 287*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_CC_PEER_MEP_INFO, 288*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_MEP_STATUS_INFO, 289*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_CC_PEER_STATUS_INFO, 290*8d67ca89SAndroid Build Coastguard Worker __IFLA_BRIDGE_CFM_MAX, 291*8d67ca89SAndroid Build Coastguard Worker }; 292*8d67ca89SAndroid Build Coastguard Worker #define IFLA_BRIDGE_CFM_MAX (__IFLA_BRIDGE_CFM_MAX - 1) 293*8d67ca89SAndroid Build Coastguard Worker enum { 294*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_MEP_CREATE_UNSPEC, 295*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_MEP_CREATE_INSTANCE, 296*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_MEP_CREATE_DOMAIN, 297*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_MEP_CREATE_DIRECTION, 298*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_MEP_CREATE_IFINDEX, 299*8d67ca89SAndroid Build Coastguard Worker __IFLA_BRIDGE_CFM_MEP_CREATE_MAX, 300*8d67ca89SAndroid Build Coastguard Worker }; 301*8d67ca89SAndroid Build Coastguard Worker #define IFLA_BRIDGE_CFM_MEP_CREATE_MAX (__IFLA_BRIDGE_CFM_MEP_CREATE_MAX - 1) 302*8d67ca89SAndroid Build Coastguard Worker enum { 303*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_MEP_DELETE_UNSPEC, 304*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_MEP_DELETE_INSTANCE, 305*8d67ca89SAndroid Build Coastguard Worker __IFLA_BRIDGE_CFM_MEP_DELETE_MAX, 306*8d67ca89SAndroid Build Coastguard Worker }; 307*8d67ca89SAndroid Build Coastguard Worker #define IFLA_BRIDGE_CFM_MEP_DELETE_MAX (__IFLA_BRIDGE_CFM_MEP_DELETE_MAX - 1) 308*8d67ca89SAndroid Build Coastguard Worker enum { 309*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_MEP_CONFIG_UNSPEC, 310*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_MEP_CONFIG_INSTANCE, 311*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_MEP_CONFIG_UNICAST_MAC, 312*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_MEP_CONFIG_MDLEVEL, 313*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_MEP_CONFIG_MEPID, 314*8d67ca89SAndroid Build Coastguard Worker __IFLA_BRIDGE_CFM_MEP_CONFIG_MAX, 315*8d67ca89SAndroid Build Coastguard Worker }; 316*8d67ca89SAndroid Build Coastguard Worker #define IFLA_BRIDGE_CFM_MEP_CONFIG_MAX (__IFLA_BRIDGE_CFM_MEP_CONFIG_MAX - 1) 317*8d67ca89SAndroid Build Coastguard Worker enum { 318*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_CC_CONFIG_UNSPEC, 319*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_CC_CONFIG_INSTANCE, 320*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_CC_CONFIG_ENABLE, 321*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_CC_CONFIG_EXP_INTERVAL, 322*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_CC_CONFIG_EXP_MAID, 323*8d67ca89SAndroid Build Coastguard Worker __IFLA_BRIDGE_CFM_CC_CONFIG_MAX, 324*8d67ca89SAndroid Build Coastguard Worker }; 325*8d67ca89SAndroid Build Coastguard Worker #define IFLA_BRIDGE_CFM_CC_CONFIG_MAX (__IFLA_BRIDGE_CFM_CC_CONFIG_MAX - 1) 326*8d67ca89SAndroid Build Coastguard Worker enum { 327*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_CC_PEER_MEP_UNSPEC, 328*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_CC_PEER_MEP_INSTANCE, 329*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_CC_PEER_MEPID, 330*8d67ca89SAndroid Build Coastguard Worker __IFLA_BRIDGE_CFM_CC_PEER_MEP_MAX, 331*8d67ca89SAndroid Build Coastguard Worker }; 332*8d67ca89SAndroid Build Coastguard Worker #define IFLA_BRIDGE_CFM_CC_PEER_MEP_MAX (__IFLA_BRIDGE_CFM_CC_PEER_MEP_MAX - 1) 333*8d67ca89SAndroid Build Coastguard Worker enum { 334*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_CC_RDI_UNSPEC, 335*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_CC_RDI_INSTANCE, 336*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_CC_RDI_RDI, 337*8d67ca89SAndroid Build Coastguard Worker __IFLA_BRIDGE_CFM_CC_RDI_MAX, 338*8d67ca89SAndroid Build Coastguard Worker }; 339*8d67ca89SAndroid Build Coastguard Worker #define IFLA_BRIDGE_CFM_CC_RDI_MAX (__IFLA_BRIDGE_CFM_CC_RDI_MAX - 1) 340*8d67ca89SAndroid Build Coastguard Worker enum { 341*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_CC_CCM_TX_UNSPEC, 342*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_CC_CCM_TX_INSTANCE, 343*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_CC_CCM_TX_DMAC, 344*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_CC_CCM_TX_SEQ_NO_UPDATE, 345*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_CC_CCM_TX_PERIOD, 346*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_CC_CCM_TX_IF_TLV, 347*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_CC_CCM_TX_IF_TLV_VALUE, 348*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_CC_CCM_TX_PORT_TLV, 349*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_CC_CCM_TX_PORT_TLV_VALUE, 350*8d67ca89SAndroid Build Coastguard Worker __IFLA_BRIDGE_CFM_CC_CCM_TX_MAX, 351*8d67ca89SAndroid Build Coastguard Worker }; 352*8d67ca89SAndroid Build Coastguard Worker #define IFLA_BRIDGE_CFM_CC_CCM_TX_MAX (__IFLA_BRIDGE_CFM_CC_CCM_TX_MAX - 1) 353*8d67ca89SAndroid Build Coastguard Worker enum { 354*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_MEP_STATUS_UNSPEC, 355*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_MEP_STATUS_INSTANCE, 356*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_MEP_STATUS_OPCODE_UNEXP_SEEN, 357*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_MEP_STATUS_VERSION_UNEXP_SEEN, 358*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_MEP_STATUS_RX_LEVEL_LOW_SEEN, 359*8d67ca89SAndroid Build Coastguard Worker __IFLA_BRIDGE_CFM_MEP_STATUS_MAX, 360*8d67ca89SAndroid Build Coastguard Worker }; 361*8d67ca89SAndroid Build Coastguard Worker #define IFLA_BRIDGE_CFM_MEP_STATUS_MAX (__IFLA_BRIDGE_CFM_MEP_STATUS_MAX - 1) 362*8d67ca89SAndroid Build Coastguard Worker enum { 363*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_CC_PEER_STATUS_UNSPEC, 364*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_CC_PEER_STATUS_INSTANCE, 365*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_CC_PEER_STATUS_PEER_MEPID, 366*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_CC_PEER_STATUS_CCM_DEFECT, 367*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_CC_PEER_STATUS_RDI, 368*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_CC_PEER_STATUS_PORT_TLV_VALUE, 369*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_CC_PEER_STATUS_IF_TLV_VALUE, 370*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_CC_PEER_STATUS_SEEN, 371*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_CC_PEER_STATUS_TLV_SEEN, 372*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_CFM_CC_PEER_STATUS_SEQ_UNEXP_SEEN, 373*8d67ca89SAndroid Build Coastguard Worker __IFLA_BRIDGE_CFM_CC_PEER_STATUS_MAX, 374*8d67ca89SAndroid Build Coastguard Worker }; 375*8d67ca89SAndroid Build Coastguard Worker #define IFLA_BRIDGE_CFM_CC_PEER_STATUS_MAX (__IFLA_BRIDGE_CFM_CC_PEER_STATUS_MAX - 1) 376*8d67ca89SAndroid Build Coastguard Worker enum { 377*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MST_UNSPEC, 378*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MST_ENTRY, 379*8d67ca89SAndroid Build Coastguard Worker __IFLA_BRIDGE_MST_MAX, 380*8d67ca89SAndroid Build Coastguard Worker }; 381*8d67ca89SAndroid Build Coastguard Worker #define IFLA_BRIDGE_MST_MAX (__IFLA_BRIDGE_MST_MAX - 1) 382*8d67ca89SAndroid Build Coastguard Worker enum { 383*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MST_ENTRY_UNSPEC, 384*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MST_ENTRY_MSTI, 385*8d67ca89SAndroid Build Coastguard Worker IFLA_BRIDGE_MST_ENTRY_STATE, 386*8d67ca89SAndroid Build Coastguard Worker __IFLA_BRIDGE_MST_ENTRY_MAX, 387*8d67ca89SAndroid Build Coastguard Worker }; 388*8d67ca89SAndroid Build Coastguard Worker #define IFLA_BRIDGE_MST_ENTRY_MAX (__IFLA_BRIDGE_MST_ENTRY_MAX - 1) 389*8d67ca89SAndroid Build Coastguard Worker struct bridge_stp_xstats { 390*8d67ca89SAndroid Build Coastguard Worker __u64 transition_blk; 391*8d67ca89SAndroid Build Coastguard Worker __u64 transition_fwd; 392*8d67ca89SAndroid Build Coastguard Worker __u64 rx_bpdu; 393*8d67ca89SAndroid Build Coastguard Worker __u64 tx_bpdu; 394*8d67ca89SAndroid Build Coastguard Worker __u64 rx_tcn; 395*8d67ca89SAndroid Build Coastguard Worker __u64 tx_tcn; 396*8d67ca89SAndroid Build Coastguard Worker }; 397*8d67ca89SAndroid Build Coastguard Worker struct br_vlan_msg { 398*8d67ca89SAndroid Build Coastguard Worker __u8 family; 399*8d67ca89SAndroid Build Coastguard Worker __u8 reserved1; 400*8d67ca89SAndroid Build Coastguard Worker __u16 reserved2; 401*8d67ca89SAndroid Build Coastguard Worker __u32 ifindex; 402*8d67ca89SAndroid Build Coastguard Worker }; 403*8d67ca89SAndroid Build Coastguard Worker enum { 404*8d67ca89SAndroid Build Coastguard Worker BRIDGE_VLANDB_DUMP_UNSPEC, 405*8d67ca89SAndroid Build Coastguard Worker BRIDGE_VLANDB_DUMP_FLAGS, 406*8d67ca89SAndroid Build Coastguard Worker __BRIDGE_VLANDB_DUMP_MAX, 407*8d67ca89SAndroid Build Coastguard Worker }; 408*8d67ca89SAndroid Build Coastguard Worker #define BRIDGE_VLANDB_DUMP_MAX (__BRIDGE_VLANDB_DUMP_MAX - 1) 409*8d67ca89SAndroid Build Coastguard Worker #define BRIDGE_VLANDB_DUMPF_STATS (1 << 0) 410*8d67ca89SAndroid Build Coastguard Worker #define BRIDGE_VLANDB_DUMPF_GLOBAL (1 << 1) 411*8d67ca89SAndroid Build Coastguard Worker enum { 412*8d67ca89SAndroid Build Coastguard Worker BRIDGE_VLANDB_UNSPEC, 413*8d67ca89SAndroid Build Coastguard Worker BRIDGE_VLANDB_ENTRY, 414*8d67ca89SAndroid Build Coastguard Worker BRIDGE_VLANDB_GLOBAL_OPTIONS, 415*8d67ca89SAndroid Build Coastguard Worker __BRIDGE_VLANDB_MAX, 416*8d67ca89SAndroid Build Coastguard Worker }; 417*8d67ca89SAndroid Build Coastguard Worker #define BRIDGE_VLANDB_MAX (__BRIDGE_VLANDB_MAX - 1) 418*8d67ca89SAndroid Build Coastguard Worker enum { 419*8d67ca89SAndroid Build Coastguard Worker BRIDGE_VLANDB_ENTRY_UNSPEC, 420*8d67ca89SAndroid Build Coastguard Worker BRIDGE_VLANDB_ENTRY_INFO, 421*8d67ca89SAndroid Build Coastguard Worker BRIDGE_VLANDB_ENTRY_RANGE, 422*8d67ca89SAndroid Build Coastguard Worker BRIDGE_VLANDB_ENTRY_STATE, 423*8d67ca89SAndroid Build Coastguard Worker BRIDGE_VLANDB_ENTRY_TUNNEL_INFO, 424*8d67ca89SAndroid Build Coastguard Worker BRIDGE_VLANDB_ENTRY_STATS, 425*8d67ca89SAndroid Build Coastguard Worker BRIDGE_VLANDB_ENTRY_MCAST_ROUTER, 426*8d67ca89SAndroid Build Coastguard Worker BRIDGE_VLANDB_ENTRY_MCAST_N_GROUPS, 427*8d67ca89SAndroid Build Coastguard Worker BRIDGE_VLANDB_ENTRY_MCAST_MAX_GROUPS, 428*8d67ca89SAndroid Build Coastguard Worker BRIDGE_VLANDB_ENTRY_NEIGH_SUPPRESS, 429*8d67ca89SAndroid Build Coastguard Worker __BRIDGE_VLANDB_ENTRY_MAX, 430*8d67ca89SAndroid Build Coastguard Worker }; 431*8d67ca89SAndroid Build Coastguard Worker #define BRIDGE_VLANDB_ENTRY_MAX (__BRIDGE_VLANDB_ENTRY_MAX - 1) 432*8d67ca89SAndroid Build Coastguard Worker enum { 433*8d67ca89SAndroid Build Coastguard Worker BRIDGE_VLANDB_TINFO_UNSPEC, 434*8d67ca89SAndroid Build Coastguard Worker BRIDGE_VLANDB_TINFO_ID, 435*8d67ca89SAndroid Build Coastguard Worker BRIDGE_VLANDB_TINFO_CMD, 436*8d67ca89SAndroid Build Coastguard Worker __BRIDGE_VLANDB_TINFO_MAX, 437*8d67ca89SAndroid Build Coastguard Worker }; 438*8d67ca89SAndroid Build Coastguard Worker #define BRIDGE_VLANDB_TINFO_MAX (__BRIDGE_VLANDB_TINFO_MAX - 1) 439*8d67ca89SAndroid Build Coastguard Worker enum { 440*8d67ca89SAndroid Build Coastguard Worker BRIDGE_VLANDB_STATS_UNSPEC, 441*8d67ca89SAndroid Build Coastguard Worker BRIDGE_VLANDB_STATS_RX_BYTES, 442*8d67ca89SAndroid Build Coastguard Worker BRIDGE_VLANDB_STATS_RX_PACKETS, 443*8d67ca89SAndroid Build Coastguard Worker BRIDGE_VLANDB_STATS_TX_BYTES, 444*8d67ca89SAndroid Build Coastguard Worker BRIDGE_VLANDB_STATS_TX_PACKETS, 445*8d67ca89SAndroid Build Coastguard Worker BRIDGE_VLANDB_STATS_PAD, 446*8d67ca89SAndroid Build Coastguard Worker __BRIDGE_VLANDB_STATS_MAX, 447*8d67ca89SAndroid Build Coastguard Worker }; 448*8d67ca89SAndroid Build Coastguard Worker #define BRIDGE_VLANDB_STATS_MAX (__BRIDGE_VLANDB_STATS_MAX - 1) 449*8d67ca89SAndroid Build Coastguard Worker enum { 450*8d67ca89SAndroid Build Coastguard Worker BRIDGE_VLANDB_GOPTS_UNSPEC, 451*8d67ca89SAndroid Build Coastguard Worker BRIDGE_VLANDB_GOPTS_ID, 452*8d67ca89SAndroid Build Coastguard Worker BRIDGE_VLANDB_GOPTS_RANGE, 453*8d67ca89SAndroid Build Coastguard Worker BRIDGE_VLANDB_GOPTS_MCAST_SNOOPING, 454*8d67ca89SAndroid Build Coastguard Worker BRIDGE_VLANDB_GOPTS_MCAST_IGMP_VERSION, 455*8d67ca89SAndroid Build Coastguard Worker BRIDGE_VLANDB_GOPTS_MCAST_MLD_VERSION, 456*8d67ca89SAndroid Build Coastguard Worker BRIDGE_VLANDB_GOPTS_MCAST_LAST_MEMBER_CNT, 457*8d67ca89SAndroid Build Coastguard Worker BRIDGE_VLANDB_GOPTS_MCAST_STARTUP_QUERY_CNT, 458*8d67ca89SAndroid Build Coastguard Worker BRIDGE_VLANDB_GOPTS_MCAST_LAST_MEMBER_INTVL, 459*8d67ca89SAndroid Build Coastguard Worker BRIDGE_VLANDB_GOPTS_PAD, 460*8d67ca89SAndroid Build Coastguard Worker BRIDGE_VLANDB_GOPTS_MCAST_MEMBERSHIP_INTVL, 461*8d67ca89SAndroid Build Coastguard Worker BRIDGE_VLANDB_GOPTS_MCAST_QUERIER_INTVL, 462*8d67ca89SAndroid Build Coastguard Worker BRIDGE_VLANDB_GOPTS_MCAST_QUERY_INTVL, 463*8d67ca89SAndroid Build Coastguard Worker BRIDGE_VLANDB_GOPTS_MCAST_QUERY_RESPONSE_INTVL, 464*8d67ca89SAndroid Build Coastguard Worker BRIDGE_VLANDB_GOPTS_MCAST_STARTUP_QUERY_INTVL, 465*8d67ca89SAndroid Build Coastguard Worker BRIDGE_VLANDB_GOPTS_MCAST_QUERIER, 466*8d67ca89SAndroid Build Coastguard Worker BRIDGE_VLANDB_GOPTS_MCAST_ROUTER_PORTS, 467*8d67ca89SAndroid Build Coastguard Worker BRIDGE_VLANDB_GOPTS_MCAST_QUERIER_STATE, 468*8d67ca89SAndroid Build Coastguard Worker BRIDGE_VLANDB_GOPTS_MSTI, 469*8d67ca89SAndroid Build Coastguard Worker __BRIDGE_VLANDB_GOPTS_MAX 470*8d67ca89SAndroid Build Coastguard Worker }; 471*8d67ca89SAndroid Build Coastguard Worker #define BRIDGE_VLANDB_GOPTS_MAX (__BRIDGE_VLANDB_GOPTS_MAX - 1) 472*8d67ca89SAndroid Build Coastguard Worker enum { 473*8d67ca89SAndroid Build Coastguard Worker MDBA_UNSPEC, 474*8d67ca89SAndroid Build Coastguard Worker MDBA_MDB, 475*8d67ca89SAndroid Build Coastguard Worker MDBA_ROUTER, 476*8d67ca89SAndroid Build Coastguard Worker __MDBA_MAX, 477*8d67ca89SAndroid Build Coastguard Worker }; 478*8d67ca89SAndroid Build Coastguard Worker #define MDBA_MAX (__MDBA_MAX - 1) 479*8d67ca89SAndroid Build Coastguard Worker enum { 480*8d67ca89SAndroid Build Coastguard Worker MDBA_MDB_UNSPEC, 481*8d67ca89SAndroid Build Coastguard Worker MDBA_MDB_ENTRY, 482*8d67ca89SAndroid Build Coastguard Worker __MDBA_MDB_MAX, 483*8d67ca89SAndroid Build Coastguard Worker }; 484*8d67ca89SAndroid Build Coastguard Worker #define MDBA_MDB_MAX (__MDBA_MDB_MAX - 1) 485*8d67ca89SAndroid Build Coastguard Worker enum { 486*8d67ca89SAndroid Build Coastguard Worker MDBA_MDB_ENTRY_UNSPEC, 487*8d67ca89SAndroid Build Coastguard Worker MDBA_MDB_ENTRY_INFO, 488*8d67ca89SAndroid Build Coastguard Worker __MDBA_MDB_ENTRY_MAX, 489*8d67ca89SAndroid Build Coastguard Worker }; 490*8d67ca89SAndroid Build Coastguard Worker #define MDBA_MDB_ENTRY_MAX (__MDBA_MDB_ENTRY_MAX - 1) 491*8d67ca89SAndroid Build Coastguard Worker enum { 492*8d67ca89SAndroid Build Coastguard Worker MDBA_MDB_EATTR_UNSPEC, 493*8d67ca89SAndroid Build Coastguard Worker MDBA_MDB_EATTR_TIMER, 494*8d67ca89SAndroid Build Coastguard Worker MDBA_MDB_EATTR_SRC_LIST, 495*8d67ca89SAndroid Build Coastguard Worker MDBA_MDB_EATTR_GROUP_MODE, 496*8d67ca89SAndroid Build Coastguard Worker MDBA_MDB_EATTR_SOURCE, 497*8d67ca89SAndroid Build Coastguard Worker MDBA_MDB_EATTR_RTPROT, 498*8d67ca89SAndroid Build Coastguard Worker MDBA_MDB_EATTR_DST, 499*8d67ca89SAndroid Build Coastguard Worker MDBA_MDB_EATTR_DST_PORT, 500*8d67ca89SAndroid Build Coastguard Worker MDBA_MDB_EATTR_VNI, 501*8d67ca89SAndroid Build Coastguard Worker MDBA_MDB_EATTR_IFINDEX, 502*8d67ca89SAndroid Build Coastguard Worker MDBA_MDB_EATTR_SRC_VNI, 503*8d67ca89SAndroid Build Coastguard Worker __MDBA_MDB_EATTR_MAX 504*8d67ca89SAndroid Build Coastguard Worker }; 505*8d67ca89SAndroid Build Coastguard Worker #define MDBA_MDB_EATTR_MAX (__MDBA_MDB_EATTR_MAX - 1) 506*8d67ca89SAndroid Build Coastguard Worker enum { 507*8d67ca89SAndroid Build Coastguard Worker MDBA_MDB_SRCLIST_UNSPEC, 508*8d67ca89SAndroid Build Coastguard Worker MDBA_MDB_SRCLIST_ENTRY, 509*8d67ca89SAndroid Build Coastguard Worker __MDBA_MDB_SRCLIST_MAX 510*8d67ca89SAndroid Build Coastguard Worker }; 511*8d67ca89SAndroid Build Coastguard Worker #define MDBA_MDB_SRCLIST_MAX (__MDBA_MDB_SRCLIST_MAX - 1) 512*8d67ca89SAndroid Build Coastguard Worker enum { 513*8d67ca89SAndroid Build Coastguard Worker MDBA_MDB_SRCATTR_UNSPEC, 514*8d67ca89SAndroid Build Coastguard Worker MDBA_MDB_SRCATTR_ADDRESS, 515*8d67ca89SAndroid Build Coastguard Worker MDBA_MDB_SRCATTR_TIMER, 516*8d67ca89SAndroid Build Coastguard Worker __MDBA_MDB_SRCATTR_MAX 517*8d67ca89SAndroid Build Coastguard Worker }; 518*8d67ca89SAndroid Build Coastguard Worker #define MDBA_MDB_SRCATTR_MAX (__MDBA_MDB_SRCATTR_MAX - 1) 519*8d67ca89SAndroid Build Coastguard Worker enum { 520*8d67ca89SAndroid Build Coastguard Worker MDB_RTR_TYPE_DISABLED, 521*8d67ca89SAndroid Build Coastguard Worker MDB_RTR_TYPE_TEMP_QUERY, 522*8d67ca89SAndroid Build Coastguard Worker MDB_RTR_TYPE_PERM, 523*8d67ca89SAndroid Build Coastguard Worker MDB_RTR_TYPE_TEMP 524*8d67ca89SAndroid Build Coastguard Worker }; 525*8d67ca89SAndroid Build Coastguard Worker enum { 526*8d67ca89SAndroid Build Coastguard Worker MDBA_ROUTER_UNSPEC, 527*8d67ca89SAndroid Build Coastguard Worker MDBA_ROUTER_PORT, 528*8d67ca89SAndroid Build Coastguard Worker __MDBA_ROUTER_MAX, 529*8d67ca89SAndroid Build Coastguard Worker }; 530*8d67ca89SAndroid Build Coastguard Worker #define MDBA_ROUTER_MAX (__MDBA_ROUTER_MAX - 1) 531*8d67ca89SAndroid Build Coastguard Worker enum { 532*8d67ca89SAndroid Build Coastguard Worker MDBA_ROUTER_PATTR_UNSPEC, 533*8d67ca89SAndroid Build Coastguard Worker MDBA_ROUTER_PATTR_TIMER, 534*8d67ca89SAndroid Build Coastguard Worker MDBA_ROUTER_PATTR_TYPE, 535*8d67ca89SAndroid Build Coastguard Worker MDBA_ROUTER_PATTR_INET_TIMER, 536*8d67ca89SAndroid Build Coastguard Worker MDBA_ROUTER_PATTR_INET6_TIMER, 537*8d67ca89SAndroid Build Coastguard Worker MDBA_ROUTER_PATTR_VID, 538*8d67ca89SAndroid Build Coastguard Worker __MDBA_ROUTER_PATTR_MAX 539*8d67ca89SAndroid Build Coastguard Worker }; 540*8d67ca89SAndroid Build Coastguard Worker #define MDBA_ROUTER_PATTR_MAX (__MDBA_ROUTER_PATTR_MAX - 1) 541*8d67ca89SAndroid Build Coastguard Worker struct br_port_msg { 542*8d67ca89SAndroid Build Coastguard Worker __u8 family; 543*8d67ca89SAndroid Build Coastguard Worker __u32 ifindex; 544*8d67ca89SAndroid Build Coastguard Worker }; 545*8d67ca89SAndroid Build Coastguard Worker struct br_mdb_entry { 546*8d67ca89SAndroid Build Coastguard Worker __u32 ifindex; 547*8d67ca89SAndroid Build Coastguard Worker #define MDB_TEMPORARY 0 548*8d67ca89SAndroid Build Coastguard Worker #define MDB_PERMANENT 1 549*8d67ca89SAndroid Build Coastguard Worker __u8 state; 550*8d67ca89SAndroid Build Coastguard Worker #define MDB_FLAGS_OFFLOAD (1 << 0) 551*8d67ca89SAndroid Build Coastguard Worker #define MDB_FLAGS_FAST_LEAVE (1 << 1) 552*8d67ca89SAndroid Build Coastguard Worker #define MDB_FLAGS_STAR_EXCL (1 << 2) 553*8d67ca89SAndroid Build Coastguard Worker #define MDB_FLAGS_BLOCKED (1 << 3) 554*8d67ca89SAndroid Build Coastguard Worker __u8 flags; 555*8d67ca89SAndroid Build Coastguard Worker __u16 vid; 556*8d67ca89SAndroid Build Coastguard Worker struct { 557*8d67ca89SAndroid Build Coastguard Worker union { 558*8d67ca89SAndroid Build Coastguard Worker __be32 ip4; 559*8d67ca89SAndroid Build Coastguard Worker struct in6_addr ip6; 560*8d67ca89SAndroid Build Coastguard Worker unsigned char mac_addr[ETH_ALEN]; 561*8d67ca89SAndroid Build Coastguard Worker } u; 562*8d67ca89SAndroid Build Coastguard Worker __be16 proto; 563*8d67ca89SAndroid Build Coastguard Worker } addr; 564*8d67ca89SAndroid Build Coastguard Worker }; 565*8d67ca89SAndroid Build Coastguard Worker enum { 566*8d67ca89SAndroid Build Coastguard Worker MDBA_SET_ENTRY_UNSPEC, 567*8d67ca89SAndroid Build Coastguard Worker MDBA_SET_ENTRY, 568*8d67ca89SAndroid Build Coastguard Worker MDBA_SET_ENTRY_ATTRS, 569*8d67ca89SAndroid Build Coastguard Worker __MDBA_SET_ENTRY_MAX, 570*8d67ca89SAndroid Build Coastguard Worker }; 571*8d67ca89SAndroid Build Coastguard Worker #define MDBA_SET_ENTRY_MAX (__MDBA_SET_ENTRY_MAX - 1) 572*8d67ca89SAndroid Build Coastguard Worker enum { 573*8d67ca89SAndroid Build Coastguard Worker MDBA_GET_ENTRY_UNSPEC, 574*8d67ca89SAndroid Build Coastguard Worker MDBA_GET_ENTRY, 575*8d67ca89SAndroid Build Coastguard Worker MDBA_GET_ENTRY_ATTRS, 576*8d67ca89SAndroid Build Coastguard Worker __MDBA_GET_ENTRY_MAX, 577*8d67ca89SAndroid Build Coastguard Worker }; 578*8d67ca89SAndroid Build Coastguard Worker #define MDBA_GET_ENTRY_MAX (__MDBA_GET_ENTRY_MAX - 1) 579*8d67ca89SAndroid Build Coastguard Worker enum { 580*8d67ca89SAndroid Build Coastguard Worker MDBE_ATTR_UNSPEC, 581*8d67ca89SAndroid Build Coastguard Worker MDBE_ATTR_SOURCE, 582*8d67ca89SAndroid Build Coastguard Worker MDBE_ATTR_SRC_LIST, 583*8d67ca89SAndroid Build Coastguard Worker MDBE_ATTR_GROUP_MODE, 584*8d67ca89SAndroid Build Coastguard Worker MDBE_ATTR_RTPROT, 585*8d67ca89SAndroid Build Coastguard Worker MDBE_ATTR_DST, 586*8d67ca89SAndroid Build Coastguard Worker MDBE_ATTR_DST_PORT, 587*8d67ca89SAndroid Build Coastguard Worker MDBE_ATTR_VNI, 588*8d67ca89SAndroid Build Coastguard Worker MDBE_ATTR_IFINDEX, 589*8d67ca89SAndroid Build Coastguard Worker MDBE_ATTR_SRC_VNI, 590*8d67ca89SAndroid Build Coastguard Worker MDBE_ATTR_STATE_MASK, 591*8d67ca89SAndroid Build Coastguard Worker __MDBE_ATTR_MAX, 592*8d67ca89SAndroid Build Coastguard Worker }; 593*8d67ca89SAndroid Build Coastguard Worker #define MDBE_ATTR_MAX (__MDBE_ATTR_MAX - 1) 594*8d67ca89SAndroid Build Coastguard Worker enum { 595*8d67ca89SAndroid Build Coastguard Worker MDBE_SRC_LIST_UNSPEC, 596*8d67ca89SAndroid Build Coastguard Worker MDBE_SRC_LIST_ENTRY, 597*8d67ca89SAndroid Build Coastguard Worker __MDBE_SRC_LIST_MAX, 598*8d67ca89SAndroid Build Coastguard Worker }; 599*8d67ca89SAndroid Build Coastguard Worker #define MDBE_SRC_LIST_MAX (__MDBE_SRC_LIST_MAX - 1) 600*8d67ca89SAndroid Build Coastguard Worker enum { 601*8d67ca89SAndroid Build Coastguard Worker MDBE_SRCATTR_UNSPEC, 602*8d67ca89SAndroid Build Coastguard Worker MDBE_SRCATTR_ADDRESS, 603*8d67ca89SAndroid Build Coastguard Worker __MDBE_SRCATTR_MAX, 604*8d67ca89SAndroid Build Coastguard Worker }; 605*8d67ca89SAndroid Build Coastguard Worker #define MDBE_SRCATTR_MAX (__MDBE_SRCATTR_MAX - 1) 606*8d67ca89SAndroid Build Coastguard Worker enum { 607*8d67ca89SAndroid Build Coastguard Worker BRIDGE_XSTATS_UNSPEC, 608*8d67ca89SAndroid Build Coastguard Worker BRIDGE_XSTATS_VLAN, 609*8d67ca89SAndroid Build Coastguard Worker BRIDGE_XSTATS_MCAST, 610*8d67ca89SAndroid Build Coastguard Worker BRIDGE_XSTATS_PAD, 611*8d67ca89SAndroid Build Coastguard Worker BRIDGE_XSTATS_STP, 612*8d67ca89SAndroid Build Coastguard Worker __BRIDGE_XSTATS_MAX 613*8d67ca89SAndroid Build Coastguard Worker }; 614*8d67ca89SAndroid Build Coastguard Worker #define BRIDGE_XSTATS_MAX (__BRIDGE_XSTATS_MAX - 1) 615*8d67ca89SAndroid Build Coastguard Worker enum { 616*8d67ca89SAndroid Build Coastguard Worker BR_MCAST_DIR_RX, 617*8d67ca89SAndroid Build Coastguard Worker BR_MCAST_DIR_TX, 618*8d67ca89SAndroid Build Coastguard Worker BR_MCAST_DIR_SIZE 619*8d67ca89SAndroid Build Coastguard Worker }; 620*8d67ca89SAndroid Build Coastguard Worker struct br_mcast_stats { 621*8d67ca89SAndroid Build Coastguard Worker __u64 igmp_v1queries[BR_MCAST_DIR_SIZE]; 622*8d67ca89SAndroid Build Coastguard Worker __u64 igmp_v2queries[BR_MCAST_DIR_SIZE]; 623*8d67ca89SAndroid Build Coastguard Worker __u64 igmp_v3queries[BR_MCAST_DIR_SIZE]; 624*8d67ca89SAndroid Build Coastguard Worker __u64 igmp_leaves[BR_MCAST_DIR_SIZE]; 625*8d67ca89SAndroid Build Coastguard Worker __u64 igmp_v1reports[BR_MCAST_DIR_SIZE]; 626*8d67ca89SAndroid Build Coastguard Worker __u64 igmp_v2reports[BR_MCAST_DIR_SIZE]; 627*8d67ca89SAndroid Build Coastguard Worker __u64 igmp_v3reports[BR_MCAST_DIR_SIZE]; 628*8d67ca89SAndroid Build Coastguard Worker __u64 igmp_parse_errors; 629*8d67ca89SAndroid Build Coastguard Worker __u64 mld_v1queries[BR_MCAST_DIR_SIZE]; 630*8d67ca89SAndroid Build Coastguard Worker __u64 mld_v2queries[BR_MCAST_DIR_SIZE]; 631*8d67ca89SAndroid Build Coastguard Worker __u64 mld_leaves[BR_MCAST_DIR_SIZE]; 632*8d67ca89SAndroid Build Coastguard Worker __u64 mld_v1reports[BR_MCAST_DIR_SIZE]; 633*8d67ca89SAndroid Build Coastguard Worker __u64 mld_v2reports[BR_MCAST_DIR_SIZE]; 634*8d67ca89SAndroid Build Coastguard Worker __u64 mld_parse_errors; 635*8d67ca89SAndroid Build Coastguard Worker __u64 mcast_bytes[BR_MCAST_DIR_SIZE]; 636*8d67ca89SAndroid Build Coastguard Worker __u64 mcast_packets[BR_MCAST_DIR_SIZE]; 637*8d67ca89SAndroid Build Coastguard Worker }; 638*8d67ca89SAndroid Build Coastguard Worker enum br_boolopt_id { 639*8d67ca89SAndroid Build Coastguard Worker BR_BOOLOPT_NO_LL_LEARN, 640*8d67ca89SAndroid Build Coastguard Worker BR_BOOLOPT_MCAST_VLAN_SNOOPING, 641*8d67ca89SAndroid Build Coastguard Worker BR_BOOLOPT_MST_ENABLE, 642*8d67ca89SAndroid Build Coastguard Worker BR_BOOLOPT_MAX 643*8d67ca89SAndroid Build Coastguard Worker }; 644*8d67ca89SAndroid Build Coastguard Worker struct br_boolopt_multi { 645*8d67ca89SAndroid Build Coastguard Worker __u32 optval; 646*8d67ca89SAndroid Build Coastguard Worker __u32 optmask; 647*8d67ca89SAndroid Build Coastguard Worker }; 648*8d67ca89SAndroid Build Coastguard Worker enum { 649*8d67ca89SAndroid Build Coastguard Worker BRIDGE_QUERIER_UNSPEC, 650*8d67ca89SAndroid Build Coastguard Worker BRIDGE_QUERIER_IP_ADDRESS, 651*8d67ca89SAndroid Build Coastguard Worker BRIDGE_QUERIER_IP_PORT, 652*8d67ca89SAndroid Build Coastguard Worker BRIDGE_QUERIER_IP_OTHER_TIMER, 653*8d67ca89SAndroid Build Coastguard Worker BRIDGE_QUERIER_PAD, 654*8d67ca89SAndroid Build Coastguard Worker BRIDGE_QUERIER_IPV6_ADDRESS, 655*8d67ca89SAndroid Build Coastguard Worker BRIDGE_QUERIER_IPV6_PORT, 656*8d67ca89SAndroid Build Coastguard Worker BRIDGE_QUERIER_IPV6_OTHER_TIMER, 657*8d67ca89SAndroid Build Coastguard Worker __BRIDGE_QUERIER_MAX 658*8d67ca89SAndroid Build Coastguard Worker }; 659*8d67ca89SAndroid Build Coastguard Worker #define BRIDGE_QUERIER_MAX (__BRIDGE_QUERIER_MAX - 1) 660*8d67ca89SAndroid Build Coastguard Worker #endif 661