summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2013-08-27 22:11:18 -0400
committerDavid S. Miller <davem@davemloft.net>2013-08-27 22:11:18 -0400
commit5b2941b18dc5f60a5c14a5c15693f9c58b0dd922 (patch)
tree30351cd35586f3acf9907aa0f3b4ab9d4f7be81f /include
parentb6750b4056720629e4c1e2e0d05f63692bffad27 (diff)
parent5828cd9a68873df1340b420371c02c47647878fb (diff)
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jesse/openvswitch
Jesse Gross says: ==================== A number of significant new features and optimizations for net-next/3.12. Highlights are: * "Megaflows", an optimization that allows userspace to specify which flow fields were used to compute the results of the flow lookup. This allows for a major reduction in flow setups (the major performance bottleneck in Open vSwitch) without reducing flexibility. * Converting netlink dump operations to use RCU, allowing for additional parallelism in userspace. * Matching and modifying SCTP protocol fields. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r--include/net/ipv6.h1
-rw-r--r--include/uapi/linux/openvswitch.h15
2 files changed, 15 insertions, 1 deletions
diff --git a/include/net/ipv6.h b/include/net/ipv6.h
index 5fe564985171..7bdff0455065 100644
--- a/include/net/ipv6.h
+++ b/include/net/ipv6.h
@@ -41,6 +41,7 @@
41#define NEXTHDR_ICMP 58 /* ICMP for IPv6. */ 41#define NEXTHDR_ICMP 58 /* ICMP for IPv6. */
42#define NEXTHDR_NONE 59 /* No next header */ 42#define NEXTHDR_NONE 59 /* No next header */
43#define NEXTHDR_DEST 60 /* Destination options header. */ 43#define NEXTHDR_DEST 60 /* Destination options header. */
44#define NEXTHDR_SCTP 132 /* SCTP message. */
44#define NEXTHDR_MOBILITY 135 /* Mobility header. */ 45#define NEXTHDR_MOBILITY 135 /* Mobility header. */
45 46
46#define NEXTHDR_MAX 255 47#define NEXTHDR_MAX 255
diff --git a/include/uapi/linux/openvswitch.h b/include/uapi/linux/openvswitch.h
index 52490b0e62b5..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
@@ -259,6 +259,7 @@ enum ovs_key_attr {
259 OVS_KEY_ATTR_ND, /* struct ovs_key_nd */ 259 OVS_KEY_ATTR_ND, /* struct ovs_key_nd */
260 OVS_KEY_ATTR_SKB_MARK, /* u32 skb mark */ 260 OVS_KEY_ATTR_SKB_MARK, /* u32 skb mark */
261 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 */
262 263
263#ifdef __KERNEL__ 264#ifdef __KERNEL__
264 OVS_KEY_ATTR_IPV4_TUNNEL, /* struct ovs_key_ipv4_tunnel */ 265 OVS_KEY_ATTR_IPV4_TUNNEL, /* struct ovs_key_ipv4_tunnel */
@@ -333,6 +334,11 @@ struct ovs_key_udp {
333 __be16 udp_dst; 334 __be16 udp_dst;
334}; 335};
335 336
337struct ovs_key_sctp {
338 __be16 sctp_src;
339 __be16 sctp_dst;
340};
341
336struct ovs_key_icmp { 342struct ovs_key_icmp {
337 __u8 icmp_type; 343 __u8 icmp_type;
338 __u8 icmp_code; 344 __u8 icmp_code;
@@ -379,6 +385,12 @@ struct ovs_key_nd {
379 * @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
380 * last-used time, accumulated TCP flags, and statistics for this flow. 386 * last-used time, accumulated TCP flags, and statistics for this flow.
381 * 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.
382 * 394 *
383 * These attributes follow the &struct ovs_header within the Generic Netlink 395 * These attributes follow the &struct ovs_header within the Generic Netlink
384 * payload for %OVS_FLOW_* commands. 396 * payload for %OVS_FLOW_* commands.
@@ -391,6 +403,7 @@ enum ovs_flow_attr {
391 OVS_FLOW_ATTR_TCP_FLAGS, /* 8-bit OR'd TCP flags. */ 403 OVS_FLOW_ATTR_TCP_FLAGS, /* 8-bit OR'd TCP flags. */
392 OVS_FLOW_ATTR_USED, /* u64 msecs last used in monotonic time. */ 404 OVS_FLOW_ATTR_USED, /* u64 msecs last used in monotonic time. */
393 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. */
394 __OVS_FLOW_ATTR_MAX 407 __OVS_FLOW_ATTR_MAX
395}; 408};
396 409