1 /**************************************************************************** 2 **************************************************************************** 3 *** 4 *** This header was automatically generated from a Linux kernel header 5 *** of the same name, to make information necessary for userspace to 6 *** call into the kernel available to libc. It contains only constants, 7 *** structures, and macros generated from the original header, and thus, 8 *** contains no copyrightable information. 9 *** 10 *** To edit the content of this header, modify the corresponding 11 *** source file (e.g. under external/kernel-headers/original/) then 12 *** run bionic/libc/kernel/tools/update_all.py 13 *** 14 *** Any manual change here will be lost the next time this script will 15 *** be run. You've been warned! 16 *** 17 **************************************************************************** 18 ****************************************************************************/ 19 #ifndef _UAPI__LINUX_OPENVSWITCH_H 20 #define _UAPI__LINUX_OPENVSWITCH_H 1 21 #include <linux/types.h> 22 #include <linux/if_ether.h> 23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 24 struct ovs_header { 25 int dp_ifindex; 26 }; 27 #define OVS_DATAPATH_FAMILY "ovs_datapath" 28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 29 #define OVS_DATAPATH_MCGROUP "ovs_datapath" 30 #define OVS_DATAPATH_VERSION 0x1 31 enum ovs_datapath_cmd { 32 OVS_DP_CMD_UNSPEC, 33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 34 OVS_DP_CMD_NEW, 35 OVS_DP_CMD_DEL, 36 OVS_DP_CMD_GET, 37 OVS_DP_CMD_SET 38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 39 }; 40 enum ovs_datapath_attr { 41 OVS_DP_ATTR_UNSPEC, 42 OVS_DP_ATTR_NAME, 43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 44 OVS_DP_ATTR_UPCALL_PID, 45 OVS_DP_ATTR_STATS, 46 __OVS_DP_ATTR_MAX 47 }; 48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 49 #define OVS_DP_ATTR_MAX (__OVS_DP_ATTR_MAX - 1) 50 struct ovs_dp_stats { 51 __u64 n_hit; 52 __u64 n_missed; 53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 54 __u64 n_lost; 55 __u64 n_flows; 56 }; 57 struct ovs_vport_stats { 58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 59 __u64 rx_packets; 60 __u64 tx_packets; 61 __u64 rx_bytes; 62 __u64 tx_bytes; 63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 64 __u64 rx_errors; 65 __u64 tx_errors; 66 __u64 rx_dropped; 67 __u64 tx_dropped; 68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 69 }; 70 #define OVSP_LOCAL ((__u32)0) 71 #define OVS_PACKET_FAMILY "ovs_packet" 72 #define OVS_PACKET_VERSION 0x1 73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 74 enum ovs_packet_cmd { 75 OVS_PACKET_CMD_UNSPEC, 76 OVS_PACKET_CMD_MISS, 77 OVS_PACKET_CMD_ACTION, 78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 79 OVS_PACKET_CMD_EXECUTE 80 }; 81 enum ovs_packet_attr { 82 OVS_PACKET_ATTR_UNSPEC, 83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 84 OVS_PACKET_ATTR_PACKET, 85 OVS_PACKET_ATTR_KEY, 86 OVS_PACKET_ATTR_ACTIONS, 87 OVS_PACKET_ATTR_USERDATA, 88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 89 __OVS_PACKET_ATTR_MAX 90 }; 91 #define OVS_PACKET_ATTR_MAX (__OVS_PACKET_ATTR_MAX - 1) 92 #define OVS_VPORT_FAMILY "ovs_vport" 93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 94 #define OVS_VPORT_MCGROUP "ovs_vport" 95 #define OVS_VPORT_VERSION 0x1 96 enum ovs_vport_cmd { 97 OVS_VPORT_CMD_UNSPEC, 98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 99 OVS_VPORT_CMD_NEW, 100 OVS_VPORT_CMD_DEL, 101 OVS_VPORT_CMD_GET, 102 OVS_VPORT_CMD_SET 103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 104 }; 105 enum ovs_vport_type { 106 OVS_VPORT_TYPE_UNSPEC, 107 OVS_VPORT_TYPE_NETDEV, 108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 109 OVS_VPORT_TYPE_INTERNAL, 110 __OVS_VPORT_TYPE_MAX 111 }; 112 #define OVS_VPORT_TYPE_MAX (__OVS_VPORT_TYPE_MAX - 1) 113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 114 enum ovs_vport_attr { 115 OVS_VPORT_ATTR_UNSPEC, 116 OVS_VPORT_ATTR_PORT_NO, 117 OVS_VPORT_ATTR_TYPE, 118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 119 OVS_VPORT_ATTR_NAME, 120 OVS_VPORT_ATTR_OPTIONS, 121 OVS_VPORT_ATTR_UPCALL_PID, 122 OVS_VPORT_ATTR_STATS, 123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 124 __OVS_VPORT_ATTR_MAX 125 }; 126 #define OVS_VPORT_ATTR_MAX (__OVS_VPORT_ATTR_MAX - 1) 127 #define OVS_FLOW_FAMILY "ovs_flow" 128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 129 #define OVS_FLOW_MCGROUP "ovs_flow" 130 #define OVS_FLOW_VERSION 0x1 131 enum ovs_flow_cmd { 132 OVS_FLOW_CMD_UNSPEC, 133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 134 OVS_FLOW_CMD_NEW, 135 OVS_FLOW_CMD_DEL, 136 OVS_FLOW_CMD_GET, 137 OVS_FLOW_CMD_SET 138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 139 }; 140 struct ovs_flow_stats { 141 __u64 n_packets; 142 __u64 n_bytes; 143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 144 }; 145 enum ovs_key_attr { 146 OVS_KEY_ATTR_UNSPEC, 147 OVS_KEY_ATTR_ENCAP, 148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 149 OVS_KEY_ATTR_PRIORITY, 150 OVS_KEY_ATTR_IN_PORT, 151 OVS_KEY_ATTR_ETHERNET, 152 OVS_KEY_ATTR_VLAN, 153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 154 OVS_KEY_ATTR_ETHERTYPE, 155 OVS_KEY_ATTR_IPV4, 156 OVS_KEY_ATTR_IPV6, 157 OVS_KEY_ATTR_TCP, 158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 159 OVS_KEY_ATTR_UDP, 160 OVS_KEY_ATTR_ICMP, 161 OVS_KEY_ATTR_ICMPV6, 162 OVS_KEY_ATTR_ARP, 163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 164 OVS_KEY_ATTR_ND, 165 OVS_KEY_ATTR_SKB_MARK, 166 __OVS_KEY_ATTR_MAX 167 }; 168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 169 #define OVS_KEY_ATTR_MAX (__OVS_KEY_ATTR_MAX - 1) 170 enum ovs_frag_type { 171 OVS_FRAG_TYPE_NONE, 172 OVS_FRAG_TYPE_FIRST, 173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 174 OVS_FRAG_TYPE_LATER, 175 __OVS_FRAG_TYPE_MAX 176 }; 177 #define OVS_FRAG_TYPE_MAX (__OVS_FRAG_TYPE_MAX - 1) 178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 179 struct ovs_key_ethernet { 180 __u8 eth_src[ETH_ALEN]; 181 __u8 eth_dst[ETH_ALEN]; 182 }; 183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 184 struct ovs_key_ipv4 { 185 __be32 ipv4_src; 186 __be32 ipv4_dst; 187 __u8 ipv4_proto; 188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 189 __u8 ipv4_tos; 190 __u8 ipv4_ttl; 191 __u8 ipv4_frag; 192 }; 193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 194 struct ovs_key_ipv6 { 195 __be32 ipv6_src[4]; 196 __be32 ipv6_dst[4]; 197 __be32 ipv6_label; 198 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 199 __u8 ipv6_proto; 200 __u8 ipv6_tclass; 201 __u8 ipv6_hlimit; 202 __u8 ipv6_frag; 203 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 204 }; 205 struct ovs_key_tcp { 206 __be16 tcp_src; 207 __be16 tcp_dst; 208 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 209 }; 210 struct ovs_key_udp { 211 __be16 udp_src; 212 __be16 udp_dst; 213 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 214 }; 215 struct ovs_key_icmp { 216 __u8 icmp_type; 217 __u8 icmp_code; 218 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 219 }; 220 struct ovs_key_icmpv6 { 221 __u8 icmpv6_type; 222 __u8 icmpv6_code; 223 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 224 }; 225 struct ovs_key_arp { 226 __be32 arp_sip; 227 __be32 arp_tip; 228 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 229 __be16 arp_op; 230 __u8 arp_sha[ETH_ALEN]; 231 __u8 arp_tha[ETH_ALEN]; 232 }; 233 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 234 struct ovs_key_nd { 235 __u32 nd_target[4]; 236 __u8 nd_sll[ETH_ALEN]; 237 __u8 nd_tll[ETH_ALEN]; 238 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 239 }; 240 enum ovs_flow_attr { 241 OVS_FLOW_ATTR_UNSPEC, 242 OVS_FLOW_ATTR_KEY, 243 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 244 OVS_FLOW_ATTR_ACTIONS, 245 OVS_FLOW_ATTR_STATS, 246 OVS_FLOW_ATTR_TCP_FLAGS, 247 OVS_FLOW_ATTR_USED, 248 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 249 OVS_FLOW_ATTR_CLEAR, 250 __OVS_FLOW_ATTR_MAX 251 }; 252 #define OVS_FLOW_ATTR_MAX (__OVS_FLOW_ATTR_MAX - 1) 253 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 254 enum ovs_sample_attr { 255 OVS_SAMPLE_ATTR_UNSPEC, 256 OVS_SAMPLE_ATTR_PROBABILITY, 257 OVS_SAMPLE_ATTR_ACTIONS, 258 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 259 __OVS_SAMPLE_ATTR_MAX, 260 }; 261 #define OVS_SAMPLE_ATTR_MAX (__OVS_SAMPLE_ATTR_MAX - 1) 262 enum ovs_userspace_attr { 263 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 264 OVS_USERSPACE_ATTR_UNSPEC, 265 OVS_USERSPACE_ATTR_PID, 266 OVS_USERSPACE_ATTR_USERDATA, 267 __OVS_USERSPACE_ATTR_MAX 268 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 269 }; 270 #define OVS_USERSPACE_ATTR_MAX (__OVS_USERSPACE_ATTR_MAX - 1) 271 struct ovs_action_push_vlan { 272 __be16 vlan_tpid; 273 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 274 __be16 vlan_tci; 275 }; 276 enum ovs_action_attr { 277 OVS_ACTION_ATTR_UNSPEC, 278 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 279 OVS_ACTION_ATTR_OUTPUT, 280 OVS_ACTION_ATTR_USERSPACE, 281 OVS_ACTION_ATTR_SET, 282 OVS_ACTION_ATTR_PUSH_VLAN, 283 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 284 OVS_ACTION_ATTR_POP_VLAN, 285 OVS_ACTION_ATTR_SAMPLE, 286 __OVS_ACTION_ATTR_MAX 287 }; 288 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 289 #define OVS_ACTION_ATTR_MAX (__OVS_ACTION_ATTR_MAX - 1) 290 #endif 291