openvswitch.h revision 655a7c081f83b8351ed5f11a6c6accd9458293a8
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 */ 24struct 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 31enum 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}; 40enum 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) 50struct 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}; 57struct 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 */ 74enum 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}; 81enum 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 96enum 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}; 105enum 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_GRE, 111 __OVS_VPORT_TYPE_MAX 112}; 113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 114#define OVS_VPORT_TYPE_MAX (__OVS_VPORT_TYPE_MAX - 1) 115enum ovs_vport_attr { 116 OVS_VPORT_ATTR_UNSPEC, 117 OVS_VPORT_ATTR_PORT_NO, 118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 119 OVS_VPORT_ATTR_TYPE, 120 OVS_VPORT_ATTR_NAME, 121 OVS_VPORT_ATTR_OPTIONS, 122 OVS_VPORT_ATTR_UPCALL_PID, 123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 124 OVS_VPORT_ATTR_STATS, 125 __OVS_VPORT_ATTR_MAX 126}; 127#define OVS_VPORT_ATTR_MAX (__OVS_VPORT_ATTR_MAX - 1) 128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 129#define OVS_FLOW_FAMILY "ovs_flow" 130#define OVS_FLOW_MCGROUP "ovs_flow" 131#define OVS_FLOW_VERSION 0x1 132enum ovs_flow_cmd { 133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 134 OVS_FLOW_CMD_UNSPEC, 135 OVS_FLOW_CMD_NEW, 136 OVS_FLOW_CMD_DEL, 137 OVS_FLOW_CMD_GET, 138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 139 OVS_FLOW_CMD_SET 140}; 141struct ovs_flow_stats { 142 __u64 n_packets; 143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 144 __u64 n_bytes; 145}; 146enum ovs_key_attr { 147 OVS_KEY_ATTR_UNSPEC, 148/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 149 OVS_KEY_ATTR_ENCAP, 150 OVS_KEY_ATTR_PRIORITY, 151 OVS_KEY_ATTR_IN_PORT, 152 OVS_KEY_ATTR_ETHERNET, 153/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 154 OVS_KEY_ATTR_VLAN, 155 OVS_KEY_ATTR_ETHERTYPE, 156 OVS_KEY_ATTR_IPV4, 157 OVS_KEY_ATTR_IPV6, 158/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 159 OVS_KEY_ATTR_TCP, 160 OVS_KEY_ATTR_UDP, 161 OVS_KEY_ATTR_ICMP, 162 OVS_KEY_ATTR_ICMPV6, 163/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 164 OVS_KEY_ATTR_ARP, 165 OVS_KEY_ATTR_ND, 166 OVS_KEY_ATTR_SKB_MARK, 167 OVS_KEY_ATTR_TUNNEL, 168/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 169 __OVS_KEY_ATTR_MAX 170}; 171#define OVS_KEY_ATTR_MAX (__OVS_KEY_ATTR_MAX - 1) 172enum ovs_tunnel_key_attr { 173/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 174 OVS_TUNNEL_KEY_ATTR_ID, 175 OVS_TUNNEL_KEY_ATTR_IPV4_SRC, 176 OVS_TUNNEL_KEY_ATTR_IPV4_DST, 177 OVS_TUNNEL_KEY_ATTR_TOS, 178/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 179 OVS_TUNNEL_KEY_ATTR_TTL, 180 OVS_TUNNEL_KEY_ATTR_DONT_FRAGMENT, 181 OVS_TUNNEL_KEY_ATTR_CSUM, 182 __OVS_TUNNEL_KEY_ATTR_MAX 183/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 184}; 185#define OVS_TUNNEL_KEY_ATTR_MAX (__OVS_TUNNEL_KEY_ATTR_MAX - 1) 186enum ovs_frag_type { 187 OVS_FRAG_TYPE_NONE, 188/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 189 OVS_FRAG_TYPE_FIRST, 190 OVS_FRAG_TYPE_LATER, 191 __OVS_FRAG_TYPE_MAX 192}; 193/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 194#define OVS_FRAG_TYPE_MAX (__OVS_FRAG_TYPE_MAX - 1) 195struct ovs_key_ethernet { 196 __u8 eth_src[ETH_ALEN]; 197 __u8 eth_dst[ETH_ALEN]; 198/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 199}; 200struct ovs_key_ipv4 { 201 __be32 ipv4_src; 202 __be32 ipv4_dst; 203/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 204 __u8 ipv4_proto; 205 __u8 ipv4_tos; 206 __u8 ipv4_ttl; 207 __u8 ipv4_frag; 208/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 209}; 210struct ovs_key_ipv6 { 211 __be32 ipv6_src[4]; 212 __be32 ipv6_dst[4]; 213/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 214 __be32 ipv6_label; 215 __u8 ipv6_proto; 216 __u8 ipv6_tclass; 217 __u8 ipv6_hlimit; 218/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 219 __u8 ipv6_frag; 220}; 221struct ovs_key_tcp { 222 __be16 tcp_src; 223/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 224 __be16 tcp_dst; 225}; 226struct ovs_key_udp { 227 __be16 udp_src; 228/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 229 __be16 udp_dst; 230}; 231struct ovs_key_icmp { 232 __u8 icmp_type; 233/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 234 __u8 icmp_code; 235}; 236struct ovs_key_icmpv6 { 237 __u8 icmpv6_type; 238/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 239 __u8 icmpv6_code; 240}; 241struct ovs_key_arp { 242 __be32 arp_sip; 243/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 244 __be32 arp_tip; 245 __be16 arp_op; 246 __u8 arp_sha[ETH_ALEN]; 247 __u8 arp_tha[ETH_ALEN]; 248/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 249}; 250struct ovs_key_nd { 251 __u32 nd_target[4]; 252 __u8 nd_sll[ETH_ALEN]; 253/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 254 __u8 nd_tll[ETH_ALEN]; 255}; 256enum ovs_flow_attr { 257 OVS_FLOW_ATTR_UNSPEC, 258/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 259 OVS_FLOW_ATTR_KEY, 260 OVS_FLOW_ATTR_ACTIONS, 261 OVS_FLOW_ATTR_STATS, 262 OVS_FLOW_ATTR_TCP_FLAGS, 263/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 264 OVS_FLOW_ATTR_USED, 265 OVS_FLOW_ATTR_CLEAR, 266 __OVS_FLOW_ATTR_MAX 267}; 268/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 269#define OVS_FLOW_ATTR_MAX (__OVS_FLOW_ATTR_MAX - 1) 270enum ovs_sample_attr { 271 OVS_SAMPLE_ATTR_UNSPEC, 272 OVS_SAMPLE_ATTR_PROBABILITY, 273/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 274 OVS_SAMPLE_ATTR_ACTIONS, 275 __OVS_SAMPLE_ATTR_MAX, 276}; 277#define OVS_SAMPLE_ATTR_MAX (__OVS_SAMPLE_ATTR_MAX - 1) 278/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 279enum ovs_userspace_attr { 280 OVS_USERSPACE_ATTR_UNSPEC, 281 OVS_USERSPACE_ATTR_PID, 282 OVS_USERSPACE_ATTR_USERDATA, 283/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 284 __OVS_USERSPACE_ATTR_MAX 285}; 286#define OVS_USERSPACE_ATTR_MAX (__OVS_USERSPACE_ATTR_MAX - 1) 287struct ovs_action_push_vlan { 288/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 289 __be16 vlan_tpid; 290 __be16 vlan_tci; 291}; 292enum ovs_action_attr { 293/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 294 OVS_ACTION_ATTR_UNSPEC, 295 OVS_ACTION_ATTR_OUTPUT, 296 OVS_ACTION_ATTR_USERSPACE, 297 OVS_ACTION_ATTR_SET, 298/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 299 OVS_ACTION_ATTR_PUSH_VLAN, 300 OVS_ACTION_ATTR_POP_VLAN, 301 OVS_ACTION_ATTR_SAMPLE, 302 __OVS_ACTION_ATTR_MAX 303/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 304}; 305#define OVS_ACTION_ATTR_MAX (__OVS_ACTION_ATTR_MAX - 1) 306#endif 307