<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_ASSIGNED "
   title="ASSIGNED --- - systemd-networkd: VLAN on bond fails due to incorrect order of enslavement"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=76077#c5">Comment # 5</a>
              on <a class="bz_bug_link 
          bz_status_ASSIGNED "
   title="ASSIGNED --- - systemd-networkd: VLAN on bond fails due to incorrect order of enslavement"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=76077">bug 76077</a>
              from <span class="vcard"><a class="email" href="mailto:teg@jklm.no" title="Tom Gundersen <teg@jklm.no>"> <span class="fn">Tom Gundersen</span></a>
</span></b>
        <pre>Finally got around to looking into this properly. It appears Malte's analysis
in <a href="show_bug.cgi?id=76077#c4">comment #4</a> is spot on.

The situation is that VLAN's cannot be created on devices that has the feature
NETIF_F_VLAN_CHALLENGED (some feature...) set. Annoyingly that includes empty
bonds (but I don't know why[0]), and I have so far not figured out an elegant
way for us to get notified about when this flag changes.

I think we should do one of two things (preferably both):

1) hook up the feature flag with rtnetlink so we get notified about changes
2) figure out if empty bonds can be made to work with vlans (then the order
will no longer matter).

We could attempt to work around this in networkd by trying to add the VLAN
every time the number of slaves of a bond changes, but that feels too hacky (I
have already applied such hacks only to revert them four times in the past few
months), so I'd really prefer if we could fix this in the kernel.

[0]:
<<a href="http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/net/bonding/bond_main.c#n1005">http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/net/bonding/bond_main.c#n1005</a>></pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the QA Contact for the bug.</li>
      </ul>
    </body>
</html>