On Tue, Oct 15, 2013 at 9:53 AM, Alexei Starovoitov <[email protected]> wrote: > On Tue, Oct 15, 2013 at 8:31 AM, Jesse Gross <[email protected]> wrote: >> On Sun, Oct 13, 2013 at 8:50 PM, Alexei Starovoitov <[email protected]> >> wrote: >>> diff --git a/net/openvswitch/dp_notify.c b/net/openvswitch/dp_notify.c >>> index c323567..ffa429a 100644 >>> --- a/net/openvswitch/dp_notify.c >>> +++ b/net/openvswitch/dp_notify.c >>> @@ -59,15 +59,9 @@ void ovs_dp_notify_wq(struct work_struct *work) >>> struct hlist_node *n; >>> >>> hlist_for_each_entry_safe(vport, n, &dp->ports[i], >>> dp_hash_node) { >>> - struct netdev_vport *netdev_vport; >>> - >>> if (vport->ops->type != >>> OVS_VPORT_TYPE_NETDEV) >>> continue; >>> - >>> - netdev_vport = netdev_vport_priv(vport); >>> - if (netdev_vport->dev->reg_state == >>> NETREG_UNREGISTERED || >>> - netdev_vport->dev->reg_state == >>> NETREG_UNREGISTERING) >>> - dp_detach_port_notify(vport); >>> + dp_detach_port_notify(vport); >> >> Doesn't this free *all* ports of type OVS_VPORT_TYPE_NETDEV when any >> one of them is removed? > > sorry. not sure what I was thinking on Sunday evening. will respin
will take it back. the check was removed to prevent hang upon dev netns moves, since reg_state will still be == netreg_registered, but yes, different check is needed. sending v4 _______________________________________________ dev mailing list [email protected] http://openvswitch.org/mailman/listinfo/dev
