1*cda5da8dSAndroid Build Coastguard Worker /* 2*cda5da8dSAndroid Build Coastguard Worker * This file is auto-generated. Modifications will be lost. 3*cda5da8dSAndroid Build Coastguard Worker * 4*cda5da8dSAndroid Build Coastguard Worker * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/ 5*cda5da8dSAndroid Build Coastguard Worker * for more information. 6*cda5da8dSAndroid Build Coastguard Worker */ 7*cda5da8dSAndroid Build Coastguard Worker #ifndef _UAPI__LINUX_OPENVSWITCH_H 8*cda5da8dSAndroid Build Coastguard Worker #define _UAPI__LINUX_OPENVSWITCH_H 1 9*cda5da8dSAndroid Build Coastguard Worker #include <linux/types.h> 10*cda5da8dSAndroid Build Coastguard Worker #include <linux/if_ether.h> 11*cda5da8dSAndroid Build Coastguard Worker struct ovs_header { 12*cda5da8dSAndroid Build Coastguard Worker int dp_ifindex; 13*cda5da8dSAndroid Build Coastguard Worker }; 14*cda5da8dSAndroid Build Coastguard Worker #define OVS_DATAPATH_FAMILY "ovs_datapath" 15*cda5da8dSAndroid Build Coastguard Worker #define OVS_DATAPATH_MCGROUP "ovs_datapath" 16*cda5da8dSAndroid Build Coastguard Worker #define OVS_DATAPATH_VERSION 2 17*cda5da8dSAndroid Build Coastguard Worker #define OVS_DP_VER_FEATURES 2 18*cda5da8dSAndroid Build Coastguard Worker enum ovs_datapath_cmd { 19*cda5da8dSAndroid Build Coastguard Worker OVS_DP_CMD_UNSPEC, 20*cda5da8dSAndroid Build Coastguard Worker OVS_DP_CMD_NEW, 21*cda5da8dSAndroid Build Coastguard Worker OVS_DP_CMD_DEL, 22*cda5da8dSAndroid Build Coastguard Worker OVS_DP_CMD_GET, 23*cda5da8dSAndroid Build Coastguard Worker OVS_DP_CMD_SET 24*cda5da8dSAndroid Build Coastguard Worker }; 25*cda5da8dSAndroid Build Coastguard Worker enum ovs_datapath_attr { 26*cda5da8dSAndroid Build Coastguard Worker OVS_DP_ATTR_UNSPEC, 27*cda5da8dSAndroid Build Coastguard Worker OVS_DP_ATTR_NAME, 28*cda5da8dSAndroid Build Coastguard Worker OVS_DP_ATTR_UPCALL_PID, 29*cda5da8dSAndroid Build Coastguard Worker OVS_DP_ATTR_STATS, 30*cda5da8dSAndroid Build Coastguard Worker OVS_DP_ATTR_MEGAFLOW_STATS, 31*cda5da8dSAndroid Build Coastguard Worker OVS_DP_ATTR_USER_FEATURES, 32*cda5da8dSAndroid Build Coastguard Worker OVS_DP_ATTR_PAD, 33*cda5da8dSAndroid Build Coastguard Worker OVS_DP_ATTR_MASKS_CACHE_SIZE, 34*cda5da8dSAndroid Build Coastguard Worker OVS_DP_ATTR_PER_CPU_PIDS, 35*cda5da8dSAndroid Build Coastguard Worker OVS_DP_ATTR_IFINDEX, 36*cda5da8dSAndroid Build Coastguard Worker __OVS_DP_ATTR_MAX 37*cda5da8dSAndroid Build Coastguard Worker }; 38*cda5da8dSAndroid Build Coastguard Worker #define OVS_DP_ATTR_MAX (__OVS_DP_ATTR_MAX - 1) 39*cda5da8dSAndroid Build Coastguard Worker struct ovs_dp_stats { 40*cda5da8dSAndroid Build Coastguard Worker __u64 n_hit; 41*cda5da8dSAndroid Build Coastguard Worker __u64 n_missed; 42*cda5da8dSAndroid Build Coastguard Worker __u64 n_lost; 43*cda5da8dSAndroid Build Coastguard Worker __u64 n_flows; 44*cda5da8dSAndroid Build Coastguard Worker }; 45*cda5da8dSAndroid Build Coastguard Worker struct ovs_dp_megaflow_stats { 46*cda5da8dSAndroid Build Coastguard Worker __u64 n_mask_hit; 47*cda5da8dSAndroid Build Coastguard Worker __u32 n_masks; 48*cda5da8dSAndroid Build Coastguard Worker __u32 pad0; 49*cda5da8dSAndroid Build Coastguard Worker __u64 n_cache_hit; 50*cda5da8dSAndroid Build Coastguard Worker __u64 pad1; 51*cda5da8dSAndroid Build Coastguard Worker }; 52*cda5da8dSAndroid Build Coastguard Worker struct ovs_vport_stats { 53*cda5da8dSAndroid Build Coastguard Worker __u64 rx_packets; 54*cda5da8dSAndroid Build Coastguard Worker __u64 tx_packets; 55*cda5da8dSAndroid Build Coastguard Worker __u64 rx_bytes; 56*cda5da8dSAndroid Build Coastguard Worker __u64 tx_bytes; 57*cda5da8dSAndroid Build Coastguard Worker __u64 rx_errors; 58*cda5da8dSAndroid Build Coastguard Worker __u64 tx_errors; 59*cda5da8dSAndroid Build Coastguard Worker __u64 rx_dropped; 60*cda5da8dSAndroid Build Coastguard Worker __u64 tx_dropped; 61*cda5da8dSAndroid Build Coastguard Worker }; 62*cda5da8dSAndroid Build Coastguard Worker #define OVS_DP_F_UNALIGNED (1 << 0) 63*cda5da8dSAndroid Build Coastguard Worker #define OVS_DP_F_VPORT_PIDS (1 << 1) 64*cda5da8dSAndroid Build Coastguard Worker #define OVS_DP_F_TC_RECIRC_SHARING (1 << 2) 65*cda5da8dSAndroid Build Coastguard Worker #define OVS_DP_F_DISPATCH_UPCALL_PER_CPU (1 << 3) 66*cda5da8dSAndroid Build Coastguard Worker #define OVSP_LOCAL ((__u32) 0) 67*cda5da8dSAndroid Build Coastguard Worker #define OVS_PACKET_FAMILY "ovs_packet" 68*cda5da8dSAndroid Build Coastguard Worker #define OVS_PACKET_VERSION 0x1 69*cda5da8dSAndroid Build Coastguard Worker enum ovs_packet_cmd { 70*cda5da8dSAndroid Build Coastguard Worker OVS_PACKET_CMD_UNSPEC, 71*cda5da8dSAndroid Build Coastguard Worker OVS_PACKET_CMD_MISS, 72*cda5da8dSAndroid Build Coastguard Worker OVS_PACKET_CMD_ACTION, 73*cda5da8dSAndroid Build Coastguard Worker OVS_PACKET_CMD_EXECUTE 74*cda5da8dSAndroid Build Coastguard Worker }; 75*cda5da8dSAndroid Build Coastguard Worker enum ovs_packet_attr { 76*cda5da8dSAndroid Build Coastguard Worker OVS_PACKET_ATTR_UNSPEC, 77*cda5da8dSAndroid Build Coastguard Worker OVS_PACKET_ATTR_PACKET, 78*cda5da8dSAndroid Build Coastguard Worker OVS_PACKET_ATTR_KEY, 79*cda5da8dSAndroid Build Coastguard Worker OVS_PACKET_ATTR_ACTIONS, 80*cda5da8dSAndroid Build Coastguard Worker OVS_PACKET_ATTR_USERDATA, 81*cda5da8dSAndroid Build Coastguard Worker OVS_PACKET_ATTR_EGRESS_TUN_KEY, 82*cda5da8dSAndroid Build Coastguard Worker OVS_PACKET_ATTR_UNUSED1, 83*cda5da8dSAndroid Build Coastguard Worker OVS_PACKET_ATTR_UNUSED2, 84*cda5da8dSAndroid Build Coastguard Worker OVS_PACKET_ATTR_PROBE, 85*cda5da8dSAndroid Build Coastguard Worker OVS_PACKET_ATTR_MRU, 86*cda5da8dSAndroid Build Coastguard Worker OVS_PACKET_ATTR_LEN, 87*cda5da8dSAndroid Build Coastguard Worker OVS_PACKET_ATTR_HASH, 88*cda5da8dSAndroid Build Coastguard Worker __OVS_PACKET_ATTR_MAX 89*cda5da8dSAndroid Build Coastguard Worker }; 90*cda5da8dSAndroid Build Coastguard Worker #define OVS_PACKET_ATTR_MAX (__OVS_PACKET_ATTR_MAX - 1) 91*cda5da8dSAndroid Build Coastguard Worker #define OVS_VPORT_FAMILY "ovs_vport" 92*cda5da8dSAndroid Build Coastguard Worker #define OVS_VPORT_MCGROUP "ovs_vport" 93*cda5da8dSAndroid Build Coastguard Worker #define OVS_VPORT_VERSION 0x1 94*cda5da8dSAndroid Build Coastguard Worker enum ovs_vport_cmd { 95*cda5da8dSAndroid Build Coastguard Worker OVS_VPORT_CMD_UNSPEC, 96*cda5da8dSAndroid Build Coastguard Worker OVS_VPORT_CMD_NEW, 97*cda5da8dSAndroid Build Coastguard Worker OVS_VPORT_CMD_DEL, 98*cda5da8dSAndroid Build Coastguard Worker OVS_VPORT_CMD_GET, 99*cda5da8dSAndroid Build Coastguard Worker OVS_VPORT_CMD_SET 100*cda5da8dSAndroid Build Coastguard Worker }; 101*cda5da8dSAndroid Build Coastguard Worker enum ovs_vport_type { 102*cda5da8dSAndroid Build Coastguard Worker OVS_VPORT_TYPE_UNSPEC, 103*cda5da8dSAndroid Build Coastguard Worker OVS_VPORT_TYPE_NETDEV, 104*cda5da8dSAndroid Build Coastguard Worker OVS_VPORT_TYPE_INTERNAL, 105*cda5da8dSAndroid Build Coastguard Worker OVS_VPORT_TYPE_GRE, 106*cda5da8dSAndroid Build Coastguard Worker OVS_VPORT_TYPE_VXLAN, 107*cda5da8dSAndroid Build Coastguard Worker OVS_VPORT_TYPE_GENEVE, 108*cda5da8dSAndroid Build Coastguard Worker __OVS_VPORT_TYPE_MAX 109*cda5da8dSAndroid Build Coastguard Worker }; 110*cda5da8dSAndroid Build Coastguard Worker #define OVS_VPORT_TYPE_MAX (__OVS_VPORT_TYPE_MAX - 1) 111*cda5da8dSAndroid Build Coastguard Worker enum ovs_vport_attr { 112*cda5da8dSAndroid Build Coastguard Worker OVS_VPORT_ATTR_UNSPEC, 113*cda5da8dSAndroid Build Coastguard Worker OVS_VPORT_ATTR_PORT_NO, 114*cda5da8dSAndroid Build Coastguard Worker OVS_VPORT_ATTR_TYPE, 115*cda5da8dSAndroid Build Coastguard Worker OVS_VPORT_ATTR_NAME, 116*cda5da8dSAndroid Build Coastguard Worker OVS_VPORT_ATTR_OPTIONS, 117*cda5da8dSAndroid Build Coastguard Worker OVS_VPORT_ATTR_UPCALL_PID, 118*cda5da8dSAndroid Build Coastguard Worker OVS_VPORT_ATTR_STATS, 119*cda5da8dSAndroid Build Coastguard Worker OVS_VPORT_ATTR_PAD, 120*cda5da8dSAndroid Build Coastguard Worker OVS_VPORT_ATTR_IFINDEX, 121*cda5da8dSAndroid Build Coastguard Worker OVS_VPORT_ATTR_NETNSID, 122*cda5da8dSAndroid Build Coastguard Worker OVS_VPORT_ATTR_UPCALL_STATS, 123*cda5da8dSAndroid Build Coastguard Worker __OVS_VPORT_ATTR_MAX 124*cda5da8dSAndroid Build Coastguard Worker }; 125*cda5da8dSAndroid Build Coastguard Worker #define OVS_VPORT_ATTR_MAX (__OVS_VPORT_ATTR_MAX - 1) 126*cda5da8dSAndroid Build Coastguard Worker enum ovs_vport_upcall_attr { 127*cda5da8dSAndroid Build Coastguard Worker OVS_VPORT_UPCALL_ATTR_SUCCESS, 128*cda5da8dSAndroid Build Coastguard Worker OVS_VPORT_UPCALL_ATTR_FAIL, 129*cda5da8dSAndroid Build Coastguard Worker __OVS_VPORT_UPCALL_ATTR_MAX 130*cda5da8dSAndroid Build Coastguard Worker }; 131*cda5da8dSAndroid Build Coastguard Worker #define OVS_VPORT_UPCALL_ATTR_MAX (__OVS_VPORT_UPCALL_ATTR_MAX - 1) 132*cda5da8dSAndroid Build Coastguard Worker enum { 133*cda5da8dSAndroid Build Coastguard Worker OVS_VXLAN_EXT_UNSPEC, 134*cda5da8dSAndroid Build Coastguard Worker OVS_VXLAN_EXT_GBP, 135*cda5da8dSAndroid Build Coastguard Worker __OVS_VXLAN_EXT_MAX, 136*cda5da8dSAndroid Build Coastguard Worker }; 137*cda5da8dSAndroid Build Coastguard Worker #define OVS_VXLAN_EXT_MAX (__OVS_VXLAN_EXT_MAX - 1) 138*cda5da8dSAndroid Build Coastguard Worker enum { 139*cda5da8dSAndroid Build Coastguard Worker OVS_TUNNEL_ATTR_UNSPEC, 140*cda5da8dSAndroid Build Coastguard Worker OVS_TUNNEL_ATTR_DST_PORT, 141*cda5da8dSAndroid Build Coastguard Worker OVS_TUNNEL_ATTR_EXTENSION, 142*cda5da8dSAndroid Build Coastguard Worker __OVS_TUNNEL_ATTR_MAX 143*cda5da8dSAndroid Build Coastguard Worker }; 144*cda5da8dSAndroid Build Coastguard Worker #define OVS_TUNNEL_ATTR_MAX (__OVS_TUNNEL_ATTR_MAX - 1) 145*cda5da8dSAndroid Build Coastguard Worker #define OVS_FLOW_FAMILY "ovs_flow" 146*cda5da8dSAndroid Build Coastguard Worker #define OVS_FLOW_MCGROUP "ovs_flow" 147*cda5da8dSAndroid Build Coastguard Worker #define OVS_FLOW_VERSION 0x1 148*cda5da8dSAndroid Build Coastguard Worker enum ovs_flow_cmd { 149*cda5da8dSAndroid Build Coastguard Worker OVS_FLOW_CMD_UNSPEC, 150*cda5da8dSAndroid Build Coastguard Worker OVS_FLOW_CMD_NEW, 151*cda5da8dSAndroid Build Coastguard Worker OVS_FLOW_CMD_DEL, 152*cda5da8dSAndroid Build Coastguard Worker OVS_FLOW_CMD_GET, 153*cda5da8dSAndroid Build Coastguard Worker OVS_FLOW_CMD_SET 154*cda5da8dSAndroid Build Coastguard Worker }; 155*cda5da8dSAndroid Build Coastguard Worker struct ovs_flow_stats { 156*cda5da8dSAndroid Build Coastguard Worker __u64 n_packets; 157*cda5da8dSAndroid Build Coastguard Worker __u64 n_bytes; 158*cda5da8dSAndroid Build Coastguard Worker }; 159*cda5da8dSAndroid Build Coastguard Worker enum ovs_key_attr { 160*cda5da8dSAndroid Build Coastguard Worker OVS_KEY_ATTR_UNSPEC, 161*cda5da8dSAndroid Build Coastguard Worker OVS_KEY_ATTR_ENCAP, 162*cda5da8dSAndroid Build Coastguard Worker OVS_KEY_ATTR_PRIORITY, 163*cda5da8dSAndroid Build Coastguard Worker OVS_KEY_ATTR_IN_PORT, 164*cda5da8dSAndroid Build Coastguard Worker OVS_KEY_ATTR_ETHERNET, 165*cda5da8dSAndroid Build Coastguard Worker OVS_KEY_ATTR_VLAN, 166*cda5da8dSAndroid Build Coastguard Worker OVS_KEY_ATTR_ETHERTYPE, 167*cda5da8dSAndroid Build Coastguard Worker OVS_KEY_ATTR_IPV4, 168*cda5da8dSAndroid Build Coastguard Worker OVS_KEY_ATTR_IPV6, 169*cda5da8dSAndroid Build Coastguard Worker OVS_KEY_ATTR_TCP, 170*cda5da8dSAndroid Build Coastguard Worker OVS_KEY_ATTR_UDP, 171*cda5da8dSAndroid Build Coastguard Worker OVS_KEY_ATTR_ICMP, 172*cda5da8dSAndroid Build Coastguard Worker OVS_KEY_ATTR_ICMPV6, 173*cda5da8dSAndroid Build Coastguard Worker OVS_KEY_ATTR_ARP, 174*cda5da8dSAndroid Build Coastguard Worker OVS_KEY_ATTR_ND, 175*cda5da8dSAndroid Build Coastguard Worker OVS_KEY_ATTR_SKB_MARK, 176*cda5da8dSAndroid Build Coastguard Worker OVS_KEY_ATTR_TUNNEL, 177*cda5da8dSAndroid Build Coastguard Worker OVS_KEY_ATTR_SCTP, 178*cda5da8dSAndroid Build Coastguard Worker OVS_KEY_ATTR_TCP_FLAGS, 179*cda5da8dSAndroid Build Coastguard Worker OVS_KEY_ATTR_DP_HASH, 180*cda5da8dSAndroid Build Coastguard Worker OVS_KEY_ATTR_RECIRC_ID, 181*cda5da8dSAndroid Build Coastguard Worker OVS_KEY_ATTR_MPLS, 182*cda5da8dSAndroid Build Coastguard Worker OVS_KEY_ATTR_CT_STATE, 183*cda5da8dSAndroid Build Coastguard Worker OVS_KEY_ATTR_CT_ZONE, 184*cda5da8dSAndroid Build Coastguard Worker OVS_KEY_ATTR_CT_MARK, 185*cda5da8dSAndroid Build Coastguard Worker OVS_KEY_ATTR_CT_LABELS, 186*cda5da8dSAndroid Build Coastguard Worker OVS_KEY_ATTR_CT_ORIG_TUPLE_IPV4, 187*cda5da8dSAndroid Build Coastguard Worker OVS_KEY_ATTR_CT_ORIG_TUPLE_IPV6, 188*cda5da8dSAndroid Build Coastguard Worker OVS_KEY_ATTR_NSH, 189*cda5da8dSAndroid Build Coastguard Worker OVS_KEY_ATTR_PACKET_TYPE, 190*cda5da8dSAndroid Build Coastguard Worker OVS_KEY_ATTR_ND_EXTENSIONS, 191*cda5da8dSAndroid Build Coastguard Worker OVS_KEY_ATTR_TUNNEL_INFO, 192*cda5da8dSAndroid Build Coastguard Worker OVS_KEY_ATTR_IPV6_EXTHDRS, 193*cda5da8dSAndroid Build Coastguard Worker __OVS_KEY_ATTR_MAX 194*cda5da8dSAndroid Build Coastguard Worker }; 195*cda5da8dSAndroid Build Coastguard Worker #define OVS_KEY_ATTR_MAX (__OVS_KEY_ATTR_MAX - 1) 196*cda5da8dSAndroid Build Coastguard Worker enum ovs_tunnel_key_attr { 197*cda5da8dSAndroid Build Coastguard Worker OVS_TUNNEL_KEY_ATTR_ID, 198*cda5da8dSAndroid Build Coastguard Worker OVS_TUNNEL_KEY_ATTR_IPV4_SRC, 199*cda5da8dSAndroid Build Coastguard Worker OVS_TUNNEL_KEY_ATTR_IPV4_DST, 200*cda5da8dSAndroid Build Coastguard Worker OVS_TUNNEL_KEY_ATTR_TOS, 201*cda5da8dSAndroid Build Coastguard Worker OVS_TUNNEL_KEY_ATTR_TTL, 202*cda5da8dSAndroid Build Coastguard Worker OVS_TUNNEL_KEY_ATTR_DONT_FRAGMENT, 203*cda5da8dSAndroid Build Coastguard Worker OVS_TUNNEL_KEY_ATTR_CSUM, 204*cda5da8dSAndroid Build Coastguard Worker OVS_TUNNEL_KEY_ATTR_OAM, 205*cda5da8dSAndroid Build Coastguard Worker OVS_TUNNEL_KEY_ATTR_GENEVE_OPTS, 206*cda5da8dSAndroid Build Coastguard Worker OVS_TUNNEL_KEY_ATTR_TP_SRC, 207*cda5da8dSAndroid Build Coastguard Worker OVS_TUNNEL_KEY_ATTR_TP_DST, 208*cda5da8dSAndroid Build Coastguard Worker OVS_TUNNEL_KEY_ATTR_VXLAN_OPTS, 209*cda5da8dSAndroid Build Coastguard Worker OVS_TUNNEL_KEY_ATTR_IPV6_SRC, 210*cda5da8dSAndroid Build Coastguard Worker OVS_TUNNEL_KEY_ATTR_IPV6_DST, 211*cda5da8dSAndroid Build Coastguard Worker OVS_TUNNEL_KEY_ATTR_PAD, 212*cda5da8dSAndroid Build Coastguard Worker OVS_TUNNEL_KEY_ATTR_ERSPAN_OPTS, 213*cda5da8dSAndroid Build Coastguard Worker OVS_TUNNEL_KEY_ATTR_IPV4_INFO_BRIDGE, 214*cda5da8dSAndroid Build Coastguard Worker __OVS_TUNNEL_KEY_ATTR_MAX 215*cda5da8dSAndroid Build Coastguard Worker }; 216*cda5da8dSAndroid Build Coastguard Worker #define OVS_TUNNEL_KEY_ATTR_MAX (__OVS_TUNNEL_KEY_ATTR_MAX - 1) 217*cda5da8dSAndroid Build Coastguard Worker enum ovs_frag_type { 218*cda5da8dSAndroid Build Coastguard Worker OVS_FRAG_TYPE_NONE, 219*cda5da8dSAndroid Build Coastguard Worker OVS_FRAG_TYPE_FIRST, 220*cda5da8dSAndroid Build Coastguard Worker OVS_FRAG_TYPE_LATER, 221*cda5da8dSAndroid Build Coastguard Worker __OVS_FRAG_TYPE_MAX 222*cda5da8dSAndroid Build Coastguard Worker }; 223*cda5da8dSAndroid Build Coastguard Worker #define OVS_FRAG_TYPE_MAX (__OVS_FRAG_TYPE_MAX - 1) 224*cda5da8dSAndroid Build Coastguard Worker struct ovs_key_ethernet { 225*cda5da8dSAndroid Build Coastguard Worker __u8 eth_src[ETH_ALEN]; 226*cda5da8dSAndroid Build Coastguard Worker __u8 eth_dst[ETH_ALEN]; 227*cda5da8dSAndroid Build Coastguard Worker }; 228*cda5da8dSAndroid Build Coastguard Worker struct ovs_key_mpls { 229*cda5da8dSAndroid Build Coastguard Worker __be32 mpls_lse; 230*cda5da8dSAndroid Build Coastguard Worker }; 231*cda5da8dSAndroid Build Coastguard Worker struct ovs_key_ipv4 { 232*cda5da8dSAndroid Build Coastguard Worker __be32 ipv4_src; 233*cda5da8dSAndroid Build Coastguard Worker __be32 ipv4_dst; 234*cda5da8dSAndroid Build Coastguard Worker __u8 ipv4_proto; 235*cda5da8dSAndroid Build Coastguard Worker __u8 ipv4_tos; 236*cda5da8dSAndroid Build Coastguard Worker __u8 ipv4_ttl; 237*cda5da8dSAndroid Build Coastguard Worker __u8 ipv4_frag; 238*cda5da8dSAndroid Build Coastguard Worker }; 239*cda5da8dSAndroid Build Coastguard Worker struct ovs_key_ipv6 { 240*cda5da8dSAndroid Build Coastguard Worker __be32 ipv6_src[4]; 241*cda5da8dSAndroid Build Coastguard Worker __be32 ipv6_dst[4]; 242*cda5da8dSAndroid Build Coastguard Worker __be32 ipv6_label; 243*cda5da8dSAndroid Build Coastguard Worker __u8 ipv6_proto; 244*cda5da8dSAndroid Build Coastguard Worker __u8 ipv6_tclass; 245*cda5da8dSAndroid Build Coastguard Worker __u8 ipv6_hlimit; 246*cda5da8dSAndroid Build Coastguard Worker __u8 ipv6_frag; 247*cda5da8dSAndroid Build Coastguard Worker }; 248*cda5da8dSAndroid Build Coastguard Worker struct ovs_key_ipv6_exthdrs { 249*cda5da8dSAndroid Build Coastguard Worker __u16 hdrs; 250*cda5da8dSAndroid Build Coastguard Worker }; 251*cda5da8dSAndroid Build Coastguard Worker struct ovs_key_tcp { 252*cda5da8dSAndroid Build Coastguard Worker __be16 tcp_src; 253*cda5da8dSAndroid Build Coastguard Worker __be16 tcp_dst; 254*cda5da8dSAndroid Build Coastguard Worker }; 255*cda5da8dSAndroid Build Coastguard Worker struct ovs_key_udp { 256*cda5da8dSAndroid Build Coastguard Worker __be16 udp_src; 257*cda5da8dSAndroid Build Coastguard Worker __be16 udp_dst; 258*cda5da8dSAndroid Build Coastguard Worker }; 259*cda5da8dSAndroid Build Coastguard Worker struct ovs_key_sctp { 260*cda5da8dSAndroid Build Coastguard Worker __be16 sctp_src; 261*cda5da8dSAndroid Build Coastguard Worker __be16 sctp_dst; 262*cda5da8dSAndroid Build Coastguard Worker }; 263*cda5da8dSAndroid Build Coastguard Worker struct ovs_key_icmp { 264*cda5da8dSAndroid Build Coastguard Worker __u8 icmp_type; 265*cda5da8dSAndroid Build Coastguard Worker __u8 icmp_code; 266*cda5da8dSAndroid Build Coastguard Worker }; 267*cda5da8dSAndroid Build Coastguard Worker struct ovs_key_icmpv6 { 268*cda5da8dSAndroid Build Coastguard Worker __u8 icmpv6_type; 269*cda5da8dSAndroid Build Coastguard Worker __u8 icmpv6_code; 270*cda5da8dSAndroid Build Coastguard Worker }; 271*cda5da8dSAndroid Build Coastguard Worker struct ovs_key_arp { 272*cda5da8dSAndroid Build Coastguard Worker __be32 arp_sip; 273*cda5da8dSAndroid Build Coastguard Worker __be32 arp_tip; 274*cda5da8dSAndroid Build Coastguard Worker __be16 arp_op; 275*cda5da8dSAndroid Build Coastguard Worker __u8 arp_sha[ETH_ALEN]; 276*cda5da8dSAndroid Build Coastguard Worker __u8 arp_tha[ETH_ALEN]; 277*cda5da8dSAndroid Build Coastguard Worker }; 278*cda5da8dSAndroid Build Coastguard Worker struct ovs_key_nd { 279*cda5da8dSAndroid Build Coastguard Worker __be32 nd_target[4]; 280*cda5da8dSAndroid Build Coastguard Worker __u8 nd_sll[ETH_ALEN]; 281*cda5da8dSAndroid Build Coastguard Worker __u8 nd_tll[ETH_ALEN]; 282*cda5da8dSAndroid Build Coastguard Worker }; 283*cda5da8dSAndroid Build Coastguard Worker #define OVS_CT_LABELS_LEN_32 4 284*cda5da8dSAndroid Build Coastguard Worker #define OVS_CT_LABELS_LEN (OVS_CT_LABELS_LEN_32 * sizeof(__u32)) 285*cda5da8dSAndroid Build Coastguard Worker struct ovs_key_ct_labels { 286*cda5da8dSAndroid Build Coastguard Worker union { 287*cda5da8dSAndroid Build Coastguard Worker __u8 ct_labels[OVS_CT_LABELS_LEN]; 288*cda5da8dSAndroid Build Coastguard Worker __u32 ct_labels_32[OVS_CT_LABELS_LEN_32]; 289*cda5da8dSAndroid Build Coastguard Worker }; 290*cda5da8dSAndroid Build Coastguard Worker }; 291*cda5da8dSAndroid Build Coastguard Worker #define OVS_CS_F_NEW 0x01 292*cda5da8dSAndroid Build Coastguard Worker #define OVS_CS_F_ESTABLISHED 0x02 293*cda5da8dSAndroid Build Coastguard Worker #define OVS_CS_F_RELATED 0x04 294*cda5da8dSAndroid Build Coastguard Worker #define OVS_CS_F_REPLY_DIR 0x08 295*cda5da8dSAndroid Build Coastguard Worker #define OVS_CS_F_INVALID 0x10 296*cda5da8dSAndroid Build Coastguard Worker #define OVS_CS_F_TRACKED 0x20 297*cda5da8dSAndroid Build Coastguard Worker #define OVS_CS_F_SRC_NAT 0x40 298*cda5da8dSAndroid Build Coastguard Worker #define OVS_CS_F_DST_NAT 0x80 299*cda5da8dSAndroid Build Coastguard Worker #define OVS_CS_F_NAT_MASK (OVS_CS_F_SRC_NAT | OVS_CS_F_DST_NAT) 300*cda5da8dSAndroid Build Coastguard Worker struct ovs_key_ct_tuple_ipv4 { 301*cda5da8dSAndroid Build Coastguard Worker __be32 ipv4_src; 302*cda5da8dSAndroid Build Coastguard Worker __be32 ipv4_dst; 303*cda5da8dSAndroid Build Coastguard Worker __be16 src_port; 304*cda5da8dSAndroid Build Coastguard Worker __be16 dst_port; 305*cda5da8dSAndroid Build Coastguard Worker __u8 ipv4_proto; 306*cda5da8dSAndroid Build Coastguard Worker }; 307*cda5da8dSAndroid Build Coastguard Worker struct ovs_key_ct_tuple_ipv6 { 308*cda5da8dSAndroid Build Coastguard Worker __be32 ipv6_src[4]; 309*cda5da8dSAndroid Build Coastguard Worker __be32 ipv6_dst[4]; 310*cda5da8dSAndroid Build Coastguard Worker __be16 src_port; 311*cda5da8dSAndroid Build Coastguard Worker __be16 dst_port; 312*cda5da8dSAndroid Build Coastguard Worker __u8 ipv6_proto; 313*cda5da8dSAndroid Build Coastguard Worker }; 314*cda5da8dSAndroid Build Coastguard Worker enum ovs_nsh_key_attr { 315*cda5da8dSAndroid Build Coastguard Worker OVS_NSH_KEY_ATTR_UNSPEC, 316*cda5da8dSAndroid Build Coastguard Worker OVS_NSH_KEY_ATTR_BASE, 317*cda5da8dSAndroid Build Coastguard Worker OVS_NSH_KEY_ATTR_MD1, 318*cda5da8dSAndroid Build Coastguard Worker OVS_NSH_KEY_ATTR_MD2, 319*cda5da8dSAndroid Build Coastguard Worker __OVS_NSH_KEY_ATTR_MAX 320*cda5da8dSAndroid Build Coastguard Worker }; 321*cda5da8dSAndroid Build Coastguard Worker #define OVS_NSH_KEY_ATTR_MAX (__OVS_NSH_KEY_ATTR_MAX - 1) 322*cda5da8dSAndroid Build Coastguard Worker struct ovs_nsh_key_base { 323*cda5da8dSAndroid Build Coastguard Worker __u8 flags; 324*cda5da8dSAndroid Build Coastguard Worker __u8 ttl; 325*cda5da8dSAndroid Build Coastguard Worker __u8 mdtype; 326*cda5da8dSAndroid Build Coastguard Worker __u8 np; 327*cda5da8dSAndroid Build Coastguard Worker __be32 path_hdr; 328*cda5da8dSAndroid Build Coastguard Worker }; 329*cda5da8dSAndroid Build Coastguard Worker #define NSH_MD1_CONTEXT_SIZE 4 330*cda5da8dSAndroid Build Coastguard Worker struct ovs_nsh_key_md1 { 331*cda5da8dSAndroid Build Coastguard Worker __be32 context[NSH_MD1_CONTEXT_SIZE]; 332*cda5da8dSAndroid Build Coastguard Worker }; 333*cda5da8dSAndroid Build Coastguard Worker enum ovs_flow_attr { 334*cda5da8dSAndroid Build Coastguard Worker OVS_FLOW_ATTR_UNSPEC, 335*cda5da8dSAndroid Build Coastguard Worker OVS_FLOW_ATTR_KEY, 336*cda5da8dSAndroid Build Coastguard Worker OVS_FLOW_ATTR_ACTIONS, 337*cda5da8dSAndroid Build Coastguard Worker OVS_FLOW_ATTR_STATS, 338*cda5da8dSAndroid Build Coastguard Worker OVS_FLOW_ATTR_TCP_FLAGS, 339*cda5da8dSAndroid Build Coastguard Worker OVS_FLOW_ATTR_USED, 340*cda5da8dSAndroid Build Coastguard Worker OVS_FLOW_ATTR_CLEAR, 341*cda5da8dSAndroid Build Coastguard Worker OVS_FLOW_ATTR_MASK, 342*cda5da8dSAndroid Build Coastguard Worker OVS_FLOW_ATTR_PROBE, 343*cda5da8dSAndroid Build Coastguard Worker OVS_FLOW_ATTR_UFID, 344*cda5da8dSAndroid Build Coastguard Worker OVS_FLOW_ATTR_UFID_FLAGS, 345*cda5da8dSAndroid Build Coastguard Worker OVS_FLOW_ATTR_PAD, 346*cda5da8dSAndroid Build Coastguard Worker __OVS_FLOW_ATTR_MAX 347*cda5da8dSAndroid Build Coastguard Worker }; 348*cda5da8dSAndroid Build Coastguard Worker #define OVS_FLOW_ATTR_MAX (__OVS_FLOW_ATTR_MAX - 1) 349*cda5da8dSAndroid Build Coastguard Worker #define OVS_UFID_F_OMIT_KEY (1 << 0) 350*cda5da8dSAndroid Build Coastguard Worker #define OVS_UFID_F_OMIT_MASK (1 << 1) 351*cda5da8dSAndroid Build Coastguard Worker #define OVS_UFID_F_OMIT_ACTIONS (1 << 2) 352*cda5da8dSAndroid Build Coastguard Worker enum ovs_sample_attr { 353*cda5da8dSAndroid Build Coastguard Worker OVS_SAMPLE_ATTR_UNSPEC, 354*cda5da8dSAndroid Build Coastguard Worker OVS_SAMPLE_ATTR_PROBABILITY, 355*cda5da8dSAndroid Build Coastguard Worker OVS_SAMPLE_ATTR_ACTIONS, 356*cda5da8dSAndroid Build Coastguard Worker __OVS_SAMPLE_ATTR_MAX, 357*cda5da8dSAndroid Build Coastguard Worker }; 358*cda5da8dSAndroid Build Coastguard Worker #define OVS_SAMPLE_ATTR_MAX (__OVS_SAMPLE_ATTR_MAX - 1) 359*cda5da8dSAndroid Build Coastguard Worker enum ovs_userspace_attr { 360*cda5da8dSAndroid Build Coastguard Worker OVS_USERSPACE_ATTR_UNSPEC, 361*cda5da8dSAndroid Build Coastguard Worker OVS_USERSPACE_ATTR_PID, 362*cda5da8dSAndroid Build Coastguard Worker OVS_USERSPACE_ATTR_USERDATA, 363*cda5da8dSAndroid Build Coastguard Worker OVS_USERSPACE_ATTR_EGRESS_TUN_PORT, 364*cda5da8dSAndroid Build Coastguard Worker OVS_USERSPACE_ATTR_ACTIONS, 365*cda5da8dSAndroid Build Coastguard Worker __OVS_USERSPACE_ATTR_MAX 366*cda5da8dSAndroid Build Coastguard Worker }; 367*cda5da8dSAndroid Build Coastguard Worker #define OVS_USERSPACE_ATTR_MAX (__OVS_USERSPACE_ATTR_MAX - 1) 368*cda5da8dSAndroid Build Coastguard Worker struct ovs_action_trunc { 369*cda5da8dSAndroid Build Coastguard Worker __u32 max_len; 370*cda5da8dSAndroid Build Coastguard Worker }; 371*cda5da8dSAndroid Build Coastguard Worker struct ovs_action_push_mpls { 372*cda5da8dSAndroid Build Coastguard Worker __be32 mpls_lse; 373*cda5da8dSAndroid Build Coastguard Worker __be16 mpls_ethertype; 374*cda5da8dSAndroid Build Coastguard Worker }; 375*cda5da8dSAndroid Build Coastguard Worker struct ovs_action_add_mpls { 376*cda5da8dSAndroid Build Coastguard Worker __be32 mpls_lse; 377*cda5da8dSAndroid Build Coastguard Worker __be16 mpls_ethertype; 378*cda5da8dSAndroid Build Coastguard Worker __u16 tun_flags; 379*cda5da8dSAndroid Build Coastguard Worker }; 380*cda5da8dSAndroid Build Coastguard Worker #define OVS_MPLS_L3_TUNNEL_FLAG_MASK (1 << 0) 381*cda5da8dSAndroid Build Coastguard Worker struct ovs_action_push_vlan { 382*cda5da8dSAndroid Build Coastguard Worker __be16 vlan_tpid; 383*cda5da8dSAndroid Build Coastguard Worker __be16 vlan_tci; 384*cda5da8dSAndroid Build Coastguard Worker }; 385*cda5da8dSAndroid Build Coastguard Worker enum ovs_hash_alg { 386*cda5da8dSAndroid Build Coastguard Worker OVS_HASH_ALG_L4, 387*cda5da8dSAndroid Build Coastguard Worker OVS_HASH_ALG_SYM_L4, 388*cda5da8dSAndroid Build Coastguard Worker }; 389*cda5da8dSAndroid Build Coastguard Worker struct ovs_action_hash { 390*cda5da8dSAndroid Build Coastguard Worker __u32 hash_alg; 391*cda5da8dSAndroid Build Coastguard Worker __u32 hash_basis; 392*cda5da8dSAndroid Build Coastguard Worker }; 393*cda5da8dSAndroid Build Coastguard Worker enum ovs_ct_attr { 394*cda5da8dSAndroid Build Coastguard Worker OVS_CT_ATTR_UNSPEC, 395*cda5da8dSAndroid Build Coastguard Worker OVS_CT_ATTR_COMMIT, 396*cda5da8dSAndroid Build Coastguard Worker OVS_CT_ATTR_ZONE, 397*cda5da8dSAndroid Build Coastguard Worker OVS_CT_ATTR_MARK, 398*cda5da8dSAndroid Build Coastguard Worker OVS_CT_ATTR_LABELS, 399*cda5da8dSAndroid Build Coastguard Worker OVS_CT_ATTR_HELPER, 400*cda5da8dSAndroid Build Coastguard Worker OVS_CT_ATTR_NAT, 401*cda5da8dSAndroid Build Coastguard Worker OVS_CT_ATTR_FORCE_COMMIT, 402*cda5da8dSAndroid Build Coastguard Worker OVS_CT_ATTR_EVENTMASK, 403*cda5da8dSAndroid Build Coastguard Worker OVS_CT_ATTR_TIMEOUT, 404*cda5da8dSAndroid Build Coastguard Worker __OVS_CT_ATTR_MAX 405*cda5da8dSAndroid Build Coastguard Worker }; 406*cda5da8dSAndroid Build Coastguard Worker #define OVS_CT_ATTR_MAX (__OVS_CT_ATTR_MAX - 1) 407*cda5da8dSAndroid Build Coastguard Worker enum ovs_nat_attr { 408*cda5da8dSAndroid Build Coastguard Worker OVS_NAT_ATTR_UNSPEC, 409*cda5da8dSAndroid Build Coastguard Worker OVS_NAT_ATTR_SRC, 410*cda5da8dSAndroid Build Coastguard Worker OVS_NAT_ATTR_DST, 411*cda5da8dSAndroid Build Coastguard Worker OVS_NAT_ATTR_IP_MIN, 412*cda5da8dSAndroid Build Coastguard Worker OVS_NAT_ATTR_IP_MAX, 413*cda5da8dSAndroid Build Coastguard Worker OVS_NAT_ATTR_PROTO_MIN, 414*cda5da8dSAndroid Build Coastguard Worker OVS_NAT_ATTR_PROTO_MAX, 415*cda5da8dSAndroid Build Coastguard Worker OVS_NAT_ATTR_PERSISTENT, 416*cda5da8dSAndroid Build Coastguard Worker OVS_NAT_ATTR_PROTO_HASH, 417*cda5da8dSAndroid Build Coastguard Worker OVS_NAT_ATTR_PROTO_RANDOM, 418*cda5da8dSAndroid Build Coastguard Worker __OVS_NAT_ATTR_MAX, 419*cda5da8dSAndroid Build Coastguard Worker }; 420*cda5da8dSAndroid Build Coastguard Worker #define OVS_NAT_ATTR_MAX (__OVS_NAT_ATTR_MAX - 1) 421*cda5da8dSAndroid Build Coastguard Worker struct ovs_action_push_eth { 422*cda5da8dSAndroid Build Coastguard Worker struct ovs_key_ethernet addresses; 423*cda5da8dSAndroid Build Coastguard Worker }; 424*cda5da8dSAndroid Build Coastguard Worker enum ovs_check_pkt_len_attr { 425*cda5da8dSAndroid Build Coastguard Worker OVS_CHECK_PKT_LEN_ATTR_UNSPEC, 426*cda5da8dSAndroid Build Coastguard Worker OVS_CHECK_PKT_LEN_ATTR_PKT_LEN, 427*cda5da8dSAndroid Build Coastguard Worker OVS_CHECK_PKT_LEN_ATTR_ACTIONS_IF_GREATER, 428*cda5da8dSAndroid Build Coastguard Worker OVS_CHECK_PKT_LEN_ATTR_ACTIONS_IF_LESS_EQUAL, 429*cda5da8dSAndroid Build Coastguard Worker __OVS_CHECK_PKT_LEN_ATTR_MAX, 430*cda5da8dSAndroid Build Coastguard Worker }; 431*cda5da8dSAndroid Build Coastguard Worker #define OVS_CHECK_PKT_LEN_ATTR_MAX (__OVS_CHECK_PKT_LEN_ATTR_MAX - 1) 432*cda5da8dSAndroid Build Coastguard Worker #define OVS_PSAMPLE_COOKIE_MAX_SIZE 16 433*cda5da8dSAndroid Build Coastguard Worker enum ovs_psample_attr { 434*cda5da8dSAndroid Build Coastguard Worker OVS_PSAMPLE_ATTR_GROUP = 1, 435*cda5da8dSAndroid Build Coastguard Worker OVS_PSAMPLE_ATTR_COOKIE, 436*cda5da8dSAndroid Build Coastguard Worker __OVS_PSAMPLE_ATTR_MAX 437*cda5da8dSAndroid Build Coastguard Worker }; 438*cda5da8dSAndroid Build Coastguard Worker #define OVS_PSAMPLE_ATTR_MAX (__OVS_PSAMPLE_ATTR_MAX - 1) 439*cda5da8dSAndroid Build Coastguard Worker enum ovs_action_attr { 440*cda5da8dSAndroid Build Coastguard Worker OVS_ACTION_ATTR_UNSPEC, 441*cda5da8dSAndroid Build Coastguard Worker OVS_ACTION_ATTR_OUTPUT, 442*cda5da8dSAndroid Build Coastguard Worker OVS_ACTION_ATTR_USERSPACE, 443*cda5da8dSAndroid Build Coastguard Worker OVS_ACTION_ATTR_SET, 444*cda5da8dSAndroid Build Coastguard Worker OVS_ACTION_ATTR_PUSH_VLAN, 445*cda5da8dSAndroid Build Coastguard Worker OVS_ACTION_ATTR_POP_VLAN, 446*cda5da8dSAndroid Build Coastguard Worker OVS_ACTION_ATTR_SAMPLE, 447*cda5da8dSAndroid Build Coastguard Worker OVS_ACTION_ATTR_RECIRC, 448*cda5da8dSAndroid Build Coastguard Worker OVS_ACTION_ATTR_HASH, 449*cda5da8dSAndroid Build Coastguard Worker OVS_ACTION_ATTR_PUSH_MPLS, 450*cda5da8dSAndroid Build Coastguard Worker OVS_ACTION_ATTR_POP_MPLS, 451*cda5da8dSAndroid Build Coastguard Worker OVS_ACTION_ATTR_SET_MASKED, 452*cda5da8dSAndroid Build Coastguard Worker OVS_ACTION_ATTR_CT, 453*cda5da8dSAndroid Build Coastguard Worker OVS_ACTION_ATTR_TRUNC, 454*cda5da8dSAndroid Build Coastguard Worker OVS_ACTION_ATTR_PUSH_ETH, 455*cda5da8dSAndroid Build Coastguard Worker OVS_ACTION_ATTR_POP_ETH, 456*cda5da8dSAndroid Build Coastguard Worker OVS_ACTION_ATTR_CT_CLEAR, 457*cda5da8dSAndroid Build Coastguard Worker OVS_ACTION_ATTR_PUSH_NSH, 458*cda5da8dSAndroid Build Coastguard Worker OVS_ACTION_ATTR_POP_NSH, 459*cda5da8dSAndroid Build Coastguard Worker OVS_ACTION_ATTR_METER, 460*cda5da8dSAndroid Build Coastguard Worker OVS_ACTION_ATTR_CLONE, 461*cda5da8dSAndroid Build Coastguard Worker OVS_ACTION_ATTR_CHECK_PKT_LEN, 462*cda5da8dSAndroid Build Coastguard Worker OVS_ACTION_ATTR_ADD_MPLS, 463*cda5da8dSAndroid Build Coastguard Worker OVS_ACTION_ATTR_DEC_TTL, 464*cda5da8dSAndroid Build Coastguard Worker OVS_ACTION_ATTR_DROP, 465*cda5da8dSAndroid Build Coastguard Worker OVS_ACTION_ATTR_PSAMPLE, 466*cda5da8dSAndroid Build Coastguard Worker __OVS_ACTION_ATTR_MAX, 467*cda5da8dSAndroid Build Coastguard Worker }; 468*cda5da8dSAndroid Build Coastguard Worker #define OVS_ACTION_ATTR_MAX (__OVS_ACTION_ATTR_MAX - 1) 469*cda5da8dSAndroid Build Coastguard Worker #define OVS_METER_FAMILY "ovs_meter" 470*cda5da8dSAndroid Build Coastguard Worker #define OVS_METER_MCGROUP "ovs_meter" 471*cda5da8dSAndroid Build Coastguard Worker #define OVS_METER_VERSION 0x1 472*cda5da8dSAndroid Build Coastguard Worker enum ovs_meter_cmd { 473*cda5da8dSAndroid Build Coastguard Worker OVS_METER_CMD_UNSPEC, 474*cda5da8dSAndroid Build Coastguard Worker OVS_METER_CMD_FEATURES, 475*cda5da8dSAndroid Build Coastguard Worker OVS_METER_CMD_SET, 476*cda5da8dSAndroid Build Coastguard Worker OVS_METER_CMD_DEL, 477*cda5da8dSAndroid Build Coastguard Worker OVS_METER_CMD_GET 478*cda5da8dSAndroid Build Coastguard Worker }; 479*cda5da8dSAndroid Build Coastguard Worker enum ovs_meter_attr { 480*cda5da8dSAndroid Build Coastguard Worker OVS_METER_ATTR_UNSPEC, 481*cda5da8dSAndroid Build Coastguard Worker OVS_METER_ATTR_ID, 482*cda5da8dSAndroid Build Coastguard Worker OVS_METER_ATTR_KBPS, 483*cda5da8dSAndroid Build Coastguard Worker OVS_METER_ATTR_STATS, 484*cda5da8dSAndroid Build Coastguard Worker OVS_METER_ATTR_BANDS, 485*cda5da8dSAndroid Build Coastguard Worker OVS_METER_ATTR_USED, 486*cda5da8dSAndroid Build Coastguard Worker OVS_METER_ATTR_CLEAR, 487*cda5da8dSAndroid Build Coastguard Worker OVS_METER_ATTR_MAX_METERS, 488*cda5da8dSAndroid Build Coastguard Worker OVS_METER_ATTR_MAX_BANDS, 489*cda5da8dSAndroid Build Coastguard Worker OVS_METER_ATTR_PAD, 490*cda5da8dSAndroid Build Coastguard Worker __OVS_METER_ATTR_MAX 491*cda5da8dSAndroid Build Coastguard Worker }; 492*cda5da8dSAndroid Build Coastguard Worker #define OVS_METER_ATTR_MAX (__OVS_METER_ATTR_MAX - 1) 493*cda5da8dSAndroid Build Coastguard Worker enum ovs_band_attr { 494*cda5da8dSAndroid Build Coastguard Worker OVS_BAND_ATTR_UNSPEC, 495*cda5da8dSAndroid Build Coastguard Worker OVS_BAND_ATTR_TYPE, 496*cda5da8dSAndroid Build Coastguard Worker OVS_BAND_ATTR_RATE, 497*cda5da8dSAndroid Build Coastguard Worker OVS_BAND_ATTR_BURST, 498*cda5da8dSAndroid Build Coastguard Worker OVS_BAND_ATTR_STATS, 499*cda5da8dSAndroid Build Coastguard Worker __OVS_BAND_ATTR_MAX 500*cda5da8dSAndroid Build Coastguard Worker }; 501*cda5da8dSAndroid Build Coastguard Worker #define OVS_BAND_ATTR_MAX (__OVS_BAND_ATTR_MAX - 1) 502*cda5da8dSAndroid Build Coastguard Worker enum ovs_meter_band_type { 503*cda5da8dSAndroid Build Coastguard Worker OVS_METER_BAND_TYPE_UNSPEC, 504*cda5da8dSAndroid Build Coastguard Worker OVS_METER_BAND_TYPE_DROP, 505*cda5da8dSAndroid Build Coastguard Worker __OVS_METER_BAND_TYPE_MAX 506*cda5da8dSAndroid Build Coastguard Worker }; 507*cda5da8dSAndroid Build Coastguard Worker #define OVS_METER_BAND_TYPE_MAX (__OVS_METER_BAND_TYPE_MAX - 1) 508*cda5da8dSAndroid Build Coastguard Worker #define OVS_CT_LIMIT_FAMILY "ovs_ct_limit" 509*cda5da8dSAndroid Build Coastguard Worker #define OVS_CT_LIMIT_MCGROUP "ovs_ct_limit" 510*cda5da8dSAndroid Build Coastguard Worker #define OVS_CT_LIMIT_VERSION 0x1 511*cda5da8dSAndroid Build Coastguard Worker enum ovs_ct_limit_cmd { 512*cda5da8dSAndroid Build Coastguard Worker OVS_CT_LIMIT_CMD_UNSPEC, 513*cda5da8dSAndroid Build Coastguard Worker OVS_CT_LIMIT_CMD_SET, 514*cda5da8dSAndroid Build Coastguard Worker OVS_CT_LIMIT_CMD_DEL, 515*cda5da8dSAndroid Build Coastguard Worker OVS_CT_LIMIT_CMD_GET 516*cda5da8dSAndroid Build Coastguard Worker }; 517*cda5da8dSAndroid Build Coastguard Worker enum ovs_ct_limit_attr { 518*cda5da8dSAndroid Build Coastguard Worker OVS_CT_LIMIT_ATTR_UNSPEC, 519*cda5da8dSAndroid Build Coastguard Worker OVS_CT_LIMIT_ATTR_ZONE_LIMIT, 520*cda5da8dSAndroid Build Coastguard Worker __OVS_CT_LIMIT_ATTR_MAX 521*cda5da8dSAndroid Build Coastguard Worker }; 522*cda5da8dSAndroid Build Coastguard Worker #define OVS_CT_LIMIT_ATTR_MAX (__OVS_CT_LIMIT_ATTR_MAX - 1) 523*cda5da8dSAndroid Build Coastguard Worker #define OVS_ZONE_LIMIT_DEFAULT_ZONE - 1 524*cda5da8dSAndroid Build Coastguard Worker struct ovs_zone_limit { 525*cda5da8dSAndroid Build Coastguard Worker int zone_id; 526*cda5da8dSAndroid Build Coastguard Worker __u32 limit; 527*cda5da8dSAndroid Build Coastguard Worker __u32 count; 528*cda5da8dSAndroid Build Coastguard Worker }; 529*cda5da8dSAndroid Build Coastguard Worker enum ovs_dec_ttl_attr { 530*cda5da8dSAndroid Build Coastguard Worker OVS_DEC_TTL_ATTR_UNSPEC, 531*cda5da8dSAndroid Build Coastguard Worker OVS_DEC_TTL_ATTR_ACTION, 532*cda5da8dSAndroid Build Coastguard Worker __OVS_DEC_TTL_ATTR_MAX 533*cda5da8dSAndroid Build Coastguard Worker }; 534*cda5da8dSAndroid Build Coastguard Worker #define OVS_DEC_TTL_ATTR_MAX (__OVS_DEC_TTL_ATTR_MAX - 1) 535*cda5da8dSAndroid Build Coastguard Worker #endif 536