openvswitch: Add packet truncation support.
The patch adds a new OVS action, OVS_ACTION_ATTR_TRUNC, in order to truncate packets. A 'max_len' is added for setting up the maximum packet size, and a 'cutlen' field is to record the number of bytes to trim the packet when the packet is outputting to a port, or when the packet is sent to userspace. 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>
This commit is contained in:

committed by
David S. Miller

parent
1578b0a5e9
commit
f2a4d086ed
@@ -580,6 +580,10 @@ enum ovs_userspace_attr {
|
||||
|
||||
#define OVS_USERSPACE_ATTR_MAX (__OVS_USERSPACE_ATTR_MAX - 1)
|
||||
|
||||
struct ovs_action_trunc {
|
||||
uint32_t max_len; /* Max packet size in bytes. */
|
||||
};
|
||||
|
||||
/**
|
||||
* struct ovs_action_push_mpls - %OVS_ACTION_ATTR_PUSH_MPLS action argument.
|
||||
* @mpls_lse: MPLS label stack entry to push.
|
||||
@@ -703,6 +707,7 @@ enum ovs_nat_attr {
|
||||
* enum ovs_action_attr - Action types.
|
||||
*
|
||||
* @OVS_ACTION_ATTR_OUTPUT: Output packet to port.
|
||||
* @OVS_ACTION_ATTR_TRUNC: Output packet to port with truncated packet size.
|
||||
* @OVS_ACTION_ATTR_USERSPACE: Send packet to userspace according to nested
|
||||
* %OVS_USERSPACE_ATTR_* attributes.
|
||||
* @OVS_ACTION_ATTR_SET: Replaces the contents of an existing header. The
|
||||
@@ -756,6 +761,7 @@ enum ovs_action_attr {
|
||||
* The data must be zero for the unmasked
|
||||
* bits. */
|
||||
OVS_ACTION_ATTR_CT, /* Nested OVS_CT_ATTR_* . */
|
||||
OVS_ACTION_ATTR_TRUNC, /* u32 struct ovs_action_trunc. */
|
||||
|
||||
__OVS_ACTION_ATTR_MAX, /* Nothing past this will be accepted
|
||||
* from userspace. */
|
||||
|
Reference in New Issue
Block a user