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