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 | ||