On Mon, Apr 28, 2014 at 11:53:51PM -0700, Alex Wang wrote: > Based on the policy of 'OVS_VPORT_ATTR_UPCALL_PID', if upcall should > not be sent to userspace (i.e. the number of handler threads is zero), > the netlink message for creating vport should be an one-element array of > value 0. However, dpif_linux_port_add__() fails to obey it and generates > zero-payload netlink message which causes the netlink transaction failing > with ERANGE error. > > This is particularly bad when the 'flow-restore-wait' is set during upgrade, > since number of handler threads is not set in dpif-linux module and ovs is > not able to add port in datapath until the 'flow-restore-wait' is disabled. > Connection may lose due to this bug. > > This bug was introduced by commit 1579cf677fc (dpif-linux: Implement the > API functions to allow multiple handler threads read upcall.). > > This commit fixes the bug by fixing the dpif_linux_port_add__() to generate > the correct netlink message when the number of handler threads is not set. > > Bug #1239914. > Bug #1240598. > Bug #1240626. > > Reported-by: Gurucharan Shetty <gshe...@nicira.com> > Signed-off-by: Alex Wang <al...@nicira.com>
Good catch. Acked-by: Ben Pfaff <b...@nicira.com> _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev