aboutsummaryrefslogtreecommitdiffstats
path: root/include/uapi/linux/openvswitch.h
diff options
context:
space:
mode:
authorWilliam Tu <u9012063@gmail.com>2016-06-20 10:26:17 -0400
committerDavid S. Miller <davem@davemloft.net>2016-06-22 16:34:39 -0400
commitb95e5928fcc76d156352570858abdea7b2628efd (patch)
treea1957ca55d8e3a9d49af276d1b347340de0256c7 /include/uapi/linux/openvswitch.h
parent904632a224b2ea39920e526cdc93565aaf1fb43e (diff)
openvswitch: Add packet len info to upcall.
The commit f2a4d086ed4c ("openvswitch: Add packet truncation support.") introduces packet truncation before sending to userspace upcall receiver. This patch passes up the skb->len before truncation so that the upcall receiver knows the original packet size. Potentially this will be used by sFlow, where OVS translates sFlow config header=N to a sample action, truncating packet to N byte in kernel datapath. Thus, only N bytes instead of full-packet size is copied from kernel to userspace, saving the kernel-to-userspace bandwidth. Signed-off-by: William Tu <u9012063@gmail.com> Cc: Pravin Shelar <pshelar@nicira.com> Acked-by: Pravin B Shelar <pshelar@ovn.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/uapi/linux/openvswitch.h')
-rw-r--r--include/uapi/linux/openvswitch.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/uapi/linux/openvswitch.h b/include/uapi/linux/openvswitch.h
index 8274675ba9a3..d95a3018f6a1 100644
--- a/include/uapi/linux/openvswitch.h
+++ b/include/uapi/linux/openvswitch.h
@@ -166,6 +166,7 @@ enum ovs_packet_cmd {
166 * output port is actually a tunnel port. Contains the output tunnel key 166 * output port is actually a tunnel port. Contains the output tunnel key
167 * extracted from the packet as nested %OVS_TUNNEL_KEY_ATTR_* attributes. 167 * extracted from the packet as nested %OVS_TUNNEL_KEY_ATTR_* attributes.
168 * @OVS_PACKET_ATTR_MRU: Present for an %OVS_PACKET_CMD_ACTION and 168 * @OVS_PACKET_ATTR_MRU: Present for an %OVS_PACKET_CMD_ACTION and
169 * @OVS_PACKET_ATTR_LEN: Packet size before truncation.
169 * %OVS_PACKET_ATTR_USERSPACE action specify the Maximum received fragment 170 * %OVS_PACKET_ATTR_USERSPACE action specify the Maximum received fragment
170 * size. 171 * size.
171 * 172 *
@@ -185,6 +186,7 @@ enum ovs_packet_attr {
185 OVS_PACKET_ATTR_PROBE, /* Packet operation is a feature probe, 186 OVS_PACKET_ATTR_PROBE, /* Packet operation is a feature probe,
186 error logging should be suppressed. */ 187 error logging should be suppressed. */
187 OVS_PACKET_ATTR_MRU, /* Maximum received IP fragment size. */ 188 OVS_PACKET_ATTR_MRU, /* Maximum received IP fragment size. */
189 OVS_PACKET_ATTR_LEN, /* Packet size before truncation. */
188 __OVS_PACKET_ATTR_MAX 190 __OVS_PACKET_ATTR_MAX
189}; 191};
190 192