diff options
Diffstat (limited to 'include/uapi/linux/openvswitch.h')
| -rw-r--r-- | include/uapi/linux/openvswitch.h | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/include/uapi/linux/openvswitch.h b/include/uapi/linux/openvswitch.h index c55efaaa9bb4..a74d375b439b 100644 --- a/include/uapi/linux/openvswitch.h +++ b/include/uapi/linux/openvswitch.h | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | 1 | ||
| 2 | /* | 2 | /* |
| 3 | * Copyright (c) 2007-2011 Nicira Networks. | 3 | * Copyright (c) 2007-2013 Nicira, Inc. |
| 4 | * | 4 | * |
| 5 | * This program is free software; you can redistribute it and/or | 5 | * This program is free software; you can redistribute it and/or |
| 6 | * modify it under the terms of version 2 of the GNU General Public | 6 | * modify it under the terms of version 2 of the GNU General Public |
| @@ -165,6 +165,7 @@ enum ovs_vport_type { | |||
| 165 | OVS_VPORT_TYPE_NETDEV, /* network device */ | 165 | OVS_VPORT_TYPE_NETDEV, /* network device */ |
| 166 | OVS_VPORT_TYPE_INTERNAL, /* network device implemented by datapath */ | 166 | OVS_VPORT_TYPE_INTERNAL, /* network device implemented by datapath */ |
| 167 | OVS_VPORT_TYPE_GRE, /* GRE tunnel. */ | 167 | OVS_VPORT_TYPE_GRE, /* GRE tunnel. */ |
| 168 | OVS_VPORT_TYPE_VXLAN, /* VXLAN tunnel. */ | ||
| 168 | __OVS_VPORT_TYPE_MAX | 169 | __OVS_VPORT_TYPE_MAX |
| 169 | }; | 170 | }; |
| 170 | 171 | ||
| @@ -211,6 +212,16 @@ enum ovs_vport_attr { | |||
| 211 | 212 | ||
| 212 | #define OVS_VPORT_ATTR_MAX (__OVS_VPORT_ATTR_MAX - 1) | 213 | #define OVS_VPORT_ATTR_MAX (__OVS_VPORT_ATTR_MAX - 1) |
| 213 | 214 | ||
| 215 | /* OVS_VPORT_ATTR_OPTIONS attributes for tunnels. | ||
| 216 | */ | ||
| 217 | enum { | ||
| 218 | OVS_TUNNEL_ATTR_UNSPEC, | ||
| 219 | OVS_TUNNEL_ATTR_DST_PORT, /* 16-bit UDP port, used by L4 tunnels. */ | ||
| 220 | __OVS_TUNNEL_ATTR_MAX | ||
| 221 | }; | ||
| 222 | |||
| 223 | #define OVS_TUNNEL_ATTR_MAX (__OVS_TUNNEL_ATTR_MAX - 1) | ||
| 224 | |||
| 214 | /* Flows. */ | 225 | /* Flows. */ |
| 215 | 226 | ||
| 216 | #define OVS_FLOW_FAMILY "ovs_flow" | 227 | #define OVS_FLOW_FAMILY "ovs_flow" |
| @@ -248,6 +259,7 @@ enum ovs_key_attr { | |||
| 248 | OVS_KEY_ATTR_ND, /* struct ovs_key_nd */ | 259 | OVS_KEY_ATTR_ND, /* struct ovs_key_nd */ |
| 249 | OVS_KEY_ATTR_SKB_MARK, /* u32 skb mark */ | 260 | OVS_KEY_ATTR_SKB_MARK, /* u32 skb mark */ |
| 250 | OVS_KEY_ATTR_TUNNEL, /* Nested set of ovs_tunnel attributes */ | 261 | OVS_KEY_ATTR_TUNNEL, /* Nested set of ovs_tunnel attributes */ |
| 262 | OVS_KEY_ATTR_SCTP, /* struct ovs_key_sctp */ | ||
| 251 | 263 | ||
| 252 | #ifdef __KERNEL__ | 264 | #ifdef __KERNEL__ |
| 253 | OVS_KEY_ATTR_IPV4_TUNNEL, /* struct ovs_key_ipv4_tunnel */ | 265 | OVS_KEY_ATTR_IPV4_TUNNEL, /* struct ovs_key_ipv4_tunnel */ |
| @@ -322,6 +334,11 @@ struct ovs_key_udp { | |||
| 322 | __be16 udp_dst; | 334 | __be16 udp_dst; |
| 323 | }; | 335 | }; |
| 324 | 336 | ||
| 337 | struct ovs_key_sctp { | ||
| 338 | __be16 sctp_src; | ||
| 339 | __be16 sctp_dst; | ||
| 340 | }; | ||
| 341 | |||
| 325 | struct ovs_key_icmp { | 342 | struct ovs_key_icmp { |
| 326 | __u8 icmp_type; | 343 | __u8 icmp_type; |
| 327 | __u8 icmp_code; | 344 | __u8 icmp_code; |
| @@ -368,6 +385,12 @@ struct ovs_key_nd { | |||
| 368 | * @OVS_FLOW_ATTR_CLEAR: If present in a %OVS_FLOW_CMD_SET request, clears the | 385 | * @OVS_FLOW_ATTR_CLEAR: If present in a %OVS_FLOW_CMD_SET request, clears the |
| 369 | * last-used time, accumulated TCP flags, and statistics for this flow. | 386 | * last-used time, accumulated TCP flags, and statistics for this flow. |
| 370 | * Otherwise ignored in requests. Never present in notifications. | 387 | * Otherwise ignored in requests. Never present in notifications. |
| 388 | * @OVS_FLOW_ATTR_MASK: Nested %OVS_KEY_ATTR_* attributes specifying the | ||
| 389 | * mask bits for wildcarded flow match. Mask bit value '1' specifies exact | ||
| 390 | * match with corresponding flow key bit, while mask bit value '0' specifies | ||
| 391 | * a wildcarded match. Omitting attribute is treated as wildcarding all | ||
| 392 | * corresponding fields. Optional for all requests. If not present, | ||
| 393 | * all flow key bits are exact match bits. | ||
| 371 | * | 394 | * |
| 372 | * These attributes follow the &struct ovs_header within the Generic Netlink | 395 | * These attributes follow the &struct ovs_header within the Generic Netlink |
| 373 | * payload for %OVS_FLOW_* commands. | 396 | * payload for %OVS_FLOW_* commands. |
| @@ -380,6 +403,7 @@ enum ovs_flow_attr { | |||
| 380 | OVS_FLOW_ATTR_TCP_FLAGS, /* 8-bit OR'd TCP flags. */ | 403 | OVS_FLOW_ATTR_TCP_FLAGS, /* 8-bit OR'd TCP flags. */ |
| 381 | OVS_FLOW_ATTR_USED, /* u64 msecs last used in monotonic time. */ | 404 | OVS_FLOW_ATTR_USED, /* u64 msecs last used in monotonic time. */ |
| 382 | OVS_FLOW_ATTR_CLEAR, /* Flag to clear stats, tcp_flags, used. */ | 405 | OVS_FLOW_ATTR_CLEAR, /* Flag to clear stats, tcp_flags, used. */ |
| 406 | OVS_FLOW_ATTR_MASK, /* Sequence of OVS_KEY_ATTR_* attributes. */ | ||
| 383 | __OVS_FLOW_ATTR_MAX | 407 | __OVS_FLOW_ATTR_MAX |
| 384 | }; | 408 | }; |
| 385 | 409 | ||
