<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Priority</th>
          <td>medium
          </td>
        </tr>

        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - udev 197 network device renaming race condition"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=59964">59964</a>
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>systemd-bugs@lists.freedesktop.org
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>udev 197 network device renaming race condition
          </td>
        </tr>

        <tr>
          <th>QA Contact</th>
          <td>systemd-bugs@lists.freedesktop.org
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux (All)
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>shados@shados.net
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>unspecified
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>general
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>systemd
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Currently, udev is not guaranteed to have completed renaming the initial set of
network devices to persistent names before network.target and it's Wants are
run. This can cause a race condition where a network configuration unit file
will fail because it is attempting to configure devices that to do not (yet)
exist. 

This can be be worked around by using an instantiated unit file and specifying
'After=sys-subsystem-net-devices-%i.device', but this would have to be done for
every initial network configuration unit file. Additionally, this is not a
valid solution for unit files that may need to configure multiple interfaces
based upon configuration information elsewhere. Such services would each need
to handle this case themselves, which seems like an unnecessary duplication of
functionality across the system.

Having read <a href="http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget">http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget</a>, I
understand the difficulty in choosing a good general default for the meaning of
"the network is up", but "initial attached network devices have their
persistent names" does seem like a minimal prerequisite; I'm having trouble
coming up with a sane meaning of "the network is up" that doesn't depend on it.



For some extra context, I'm coming from:
<a href="https://bbs.archlinux.org/viewtopic.php?id=156956">https://bbs.archlinux.org/viewtopic.php?id=156956</a></pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the QA Contact for the bug.</li>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>