Hi,

I had a query regarding the patch in the subject line.


>From the patch pasted below

             vlan = vlan_dev_priv(vlandev);
             if (!(vlan->flags & VLAN_FLAG_LOOSE_BINDING))
-                dev_change_flags(vlandev, flgs & ~IFF_UP);
+                list_add(&vlandev->close_list, &close_list);
+        }
+
+        dev_close_many(&close_list, false);
+
+        list_for_each_entry_safe(vlandev, tmp, &close_list, close_list) {
             netif_stacked_transfer_operstate(dev, vlandev);
+            list_del_init(&vlandev->close_list);
         }
+        list_del(&close_list);

"

             if (!(vlan->flags & VLAN_FLAG_LOOSE_BINDING))
-                dev_change_flags(vlandev, flgs & ~IFF_UP);
+                list_add(&vlandev->close_list, &close_list);
+        }
+
+        dev_close_many(&close_list, false);
+
+        list_for_each_entry_safe(vlandev, tmp, &close_list, close_list) {
             netif_stacked_transfer_operstate(dev, vlandev);
+            list_del_init(&vlandev->close_list);
         }
+        list_del(&close_list);.


i can see that dev_change_flags which was setting the vlan device to
down state in case VLAN_FLAG_LOOSE_BINDING was not enabled.
But setting the operstate when the VLAN real device goes admin down
was quite independent of VLAN_FLAG_LOOSE_BINDING.

Operstate was always getting transferred irrespective of LOOSE_BINDING flag.


But now with this patch, we see that control of transferring the
operstate is based of VLAN_FLAG_LOOSE_BINDING. If
VLAN_FLAG_LOOSE_BINDING is set then oper state is not changed as per
its real iface.


Is this the expected behavior. Does VLAN_FLAG_LOOSE_BINDING with this
patch has to control the operstate as well which was not
the case earlier without this patch. ?

Can someone share your views about this.

Kernel version: 4.4.20

patch link:
https://patchwork.ozlabs.org/patch/447837/

-- 
Regards,
Prasad

Reply via email to