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

Reply via email to