Re: [PATCH net] openvswitch: disable LRO unless stated otherwise
From: Pravin Shelar <hidden>
Date: 2015-05-26 22:03:56
On Tue, May 26, 2015 at 10:38 AM, Jiri Benc [off-list ref] wrote:
Currently, openvswitch tries to disable LRO from the user space. This does not work correctly when the device added is a vlan interface, though. Instead of dealing with possibly complex stacked cross name space relations in the user space, do the same as bridging does and call dev_disable_lro in the kernel. As there are use cases of openvswitch setup that can keep LRO enabled and there's a planned feature to optimize such use cases (and stop disabling LRO unconditionally from the user space daemon), allow the user space to override this when adding the interface.
OVS interface for generic networking device operation looks odd. have you considered adding new device ioctl to do this?
quoted hunk
Signed-off-by: Jiri Benc <redacted> --- include/uapi/linux/openvswitch.h | 9 +++++++++ net/openvswitch/vport-netdev.c | 3 +++ 2 files changed, 12 insertions(+)diff --git a/include/uapi/linux/openvswitch.h b/include/uapi/linux/openvswitch.h index bbd49a0c46c7..3832953a4f27 100644 --- a/include/uapi/linux/openvswitch.h +++ b/include/uapi/linux/openvswitch.h@@ -252,6 +252,15 @@ enum ovs_vport_attr { #define OVS_VPORT_ATTR_MAX (__OVS_VPORT_ATTR_MAX - 1) +/* OVS_VPORT_ATTR_OPTIONS attributes for netdev vports. + */ +enum { + OVS_NETDEV_ATTR_KEEP_LRO, /* flag */ + __OVS_NETDEV_ATTR_MAX +}; + +#define OVS_NETDEV_ATTR_MAX (__OVS_NETDEV_ATTR_MAX - 1) + enum { OVS_VXLAN_EXT_UNSPEC, OVS_VXLAN_EXT_GBP, /* Flag or __u32 */
_______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev