On Tue, May 26, 2015 at 10:38 AM, Jiri Benc <jb...@redhat.com> 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?

> Signed-off-by: Jiri Benc <jb...@redhat.com>
> ---
>  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

Reply via email to