diff options
| author | David S. Miller <davem@davemloft.net> | 2013-11-04 16:25:04 -0500 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2013-11-04 16:25:04 -0500 |
| commit | 6fcf018ae4491dc11b080892fa9f3dbd928fdbb9 (patch) | |
| tree | f28592676e295183581d59149fd1eac913b229a2 /include | |
| parent | 5a6e55c461db3364aa5be919101db972bc859133 (diff) | |
| parent | 8ddd094675cfd453fc9838caa46ea108a4107183 (diff) | |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jesse/openvswitch
Jesse Gross says:
====================
Open vSwitch
A set of updates for net-next/3.13. Major changes are:
* Restructure flow handling code to be more logically organized and
easier to read.
* Rehashing of the flow table is moved from a workqueue to flow
installation time. Before, heavy load could block the workqueue for
excessive periods of time.
* Additional debugging information is provided to help diagnose megaflows.
* It's now possible to match on TCP flags.
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
| -rw-r--r-- | include/uapi/linux/openvswitch.h | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/include/uapi/linux/openvswitch.h b/include/uapi/linux/openvswitch.h index a74d375b439b..d120f9fe0017 100644 --- a/include/uapi/linux/openvswitch.h +++ b/include/uapi/linux/openvswitch.h | |||
| @@ -63,15 +63,18 @@ enum ovs_datapath_cmd { | |||
| 63 | * not be sent. | 63 | * not be sent. |
| 64 | * @OVS_DP_ATTR_STATS: Statistics about packets that have passed through the | 64 | * @OVS_DP_ATTR_STATS: Statistics about packets that have passed through the |
| 65 | * datapath. Always present in notifications. | 65 | * datapath. Always present in notifications. |
| 66 | * @OVS_DP_ATTR_MEGAFLOW_STATS: Statistics about mega flow masks usage for the | ||
| 67 | * datapath. Always present in notifications. | ||
| 66 | * | 68 | * |
| 67 | * These attributes follow the &struct ovs_header within the Generic Netlink | 69 | * These attributes follow the &struct ovs_header within the Generic Netlink |
| 68 | * payload for %OVS_DP_* commands. | 70 | * payload for %OVS_DP_* commands. |
| 69 | */ | 71 | */ |
| 70 | enum ovs_datapath_attr { | 72 | enum ovs_datapath_attr { |
| 71 | OVS_DP_ATTR_UNSPEC, | 73 | OVS_DP_ATTR_UNSPEC, |
| 72 | OVS_DP_ATTR_NAME, /* name of dp_ifindex netdev */ | 74 | OVS_DP_ATTR_NAME, /* name of dp_ifindex netdev */ |
| 73 | OVS_DP_ATTR_UPCALL_PID, /* Netlink PID to receive upcalls */ | 75 | OVS_DP_ATTR_UPCALL_PID, /* Netlink PID to receive upcalls */ |
| 74 | OVS_DP_ATTR_STATS, /* struct ovs_dp_stats */ | 76 | OVS_DP_ATTR_STATS, /* struct ovs_dp_stats */ |
| 77 | OVS_DP_ATTR_MEGAFLOW_STATS, /* struct ovs_dp_megaflow_stats */ | ||
| 75 | __OVS_DP_ATTR_MAX | 78 | __OVS_DP_ATTR_MAX |
| 76 | }; | 79 | }; |
| 77 | 80 | ||
| @@ -84,6 +87,14 @@ struct ovs_dp_stats { | |||
| 84 | __u64 n_flows; /* Number of flows present */ | 87 | __u64 n_flows; /* Number of flows present */ |
| 85 | }; | 88 | }; |
| 86 | 89 | ||
| 90 | struct ovs_dp_megaflow_stats { | ||
| 91 | __u64 n_mask_hit; /* Number of masks used for flow lookups. */ | ||
| 92 | __u32 n_masks; /* Number of masks for the datapath. */ | ||
| 93 | __u32 pad0; /* Pad for future expension. */ | ||
| 94 | __u64 pad1; /* Pad for future expension. */ | ||
| 95 | __u64 pad2; /* Pad for future expension. */ | ||
| 96 | }; | ||
| 97 | |||
| 87 | struct ovs_vport_stats { | 98 | struct ovs_vport_stats { |
| 88 | __u64 rx_packets; /* total packets received */ | 99 | __u64 rx_packets; /* total packets received */ |
| 89 | __u64 tx_packets; /* total packets transmitted */ | 100 | __u64 tx_packets; /* total packets transmitted */ |
| @@ -260,6 +271,7 @@ enum ovs_key_attr { | |||
| 260 | OVS_KEY_ATTR_SKB_MARK, /* u32 skb mark */ | 271 | OVS_KEY_ATTR_SKB_MARK, /* u32 skb mark */ |
| 261 | OVS_KEY_ATTR_TUNNEL, /* Nested set of ovs_tunnel attributes */ | 272 | OVS_KEY_ATTR_TUNNEL, /* Nested set of ovs_tunnel attributes */ |
| 262 | OVS_KEY_ATTR_SCTP, /* struct ovs_key_sctp */ | 273 | OVS_KEY_ATTR_SCTP, /* struct ovs_key_sctp */ |
| 274 | OVS_KEY_ATTR_TCP_FLAGS, /* be16 TCP flags. */ | ||
| 263 | 275 | ||
| 264 | #ifdef __KERNEL__ | 276 | #ifdef __KERNEL__ |
| 265 | OVS_KEY_ATTR_IPV4_TUNNEL, /* struct ovs_key_ipv4_tunnel */ | 277 | OVS_KEY_ATTR_IPV4_TUNNEL, /* struct ovs_key_ipv4_tunnel */ |
