<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <div class="moz-cite-prefix">On 18/08/21 12:24 pm, Amish wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:c6ff2d03-814c-b37e-0cad-ea72c2a247a0@gmail.com">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <p>Hello</p>
      <p>Further to my previous email:</p>
      <p>I see that there is already an <b>extremely similar issue</b>
        reported on July 12, 2021 and it has been fixed.<br>
        <br>
        <a class="moz-txt-link-freetext"
          href="https://github.com/systemd/systemd/issues/20203"
          moz-do-not-send="true">https://github.com/systemd/systemd/issues/20203</a><br>
        <br>
        But I do not know if this fix exists in systemd v249.3 (Arch
        Linux)<br>
        <br>
        If it exists that means that fix is breaking my system.<br>
        And if it does not exist that means, I can expect it to fix my
        issue.<br>
      </p>
    </blockquote>
    <p><br>
    </p>
    <p>systemd v249.4 seems to have fixed the issue. (Arch Linux)<br>
    </p>
    <p>Regards</p>
    <p>Amish</p>
    <p><br>
    </p>
    <blockquote type="cite"
      cite="mid:c6ff2d03-814c-b37e-0cad-ea72c2a247a0@gmail.com">
      <p> </p>
      <p>Regards,</p>
      <p>Amish.<br>
      </p>
      <div class="moz-cite-prefix">On 18/08/21 11:42 am, Amish wrote:<br>
      </div>
      <blockquote type="cite"
        cite="mid:1043b8c7-a453-ad5e-579a-8721a7fbcfd5@gmail.com">
        <meta http-equiv="Content-Type" content="text/html;
          charset=UTF-8">
        <p>Hello,</p>
        <p>Thank you for your reply.<br>
        </p>
        <p>I can understand that there can be race.</p>
        <p><b>But when I check logs, there is no race happening</b>.<br>
        </p>
        <p><b>Let us see and analyze the logs.</b></p>
        <p>Stage 1:<br>
          System boots, and kernel assigns eth0, eth1 and eth2 as
          interface names.<br>
        </p>
        <p>Aug 18 09:17:13 kk kernel: e1000e 0000:00:1f.6 eth0: (PCI
          Express:2.5GT/s:Width x1) e0:d5:5e:8d:7f:2f<br>
          Aug 18 09:17:13 kk kernel: e1000e 0000:00:1f.6 eth0: Intel(R)
          PRO/1000 Network Connection<br>
          Aug 18 09:17:13 kk kernel: e1000e 0000:00:1f.6 eth0: MAC: 13,
          PHY: 12, PBA No: FFFFFF-0FF<br>
          Aug 18 09:17:13 kk kernel: 8139too 0000:04:00.0 eth1: RealTek
          RTL8139 at 0x000000000e8fc9bb, 00:e0:4d:05:ee:a2, IRQ 19<br>
          Aug 18 09:17:13 kk kernel: r8169 0000:02:00.0 eth2:
          RTL8168e/8111e, 50:3e:aa:05:2b:ca, XID 2c2, IRQ 129<br>
          Aug 18 09:17:13 kk kernel: r8169 0000:02:00.0 eth2: jumbo
          features [frames: 9194 bytes, tx checksumming: ko]</p>
        <p>Stage 2:<br>
          Now udev rules are triggered and the interfaces are renamed to
          tmpeth0, tmpeth2 and tmpeth1.<br>
        </p>
        <p>Aug 18 09:17:13 kk kernel: 8139too 0000:04:00.0 tmpeth2:
          renamed from eth1<br>
          Aug 18 09:17:13 kk kernel: e1000e 0000:00:1f.6 tmpeth0:
          renamed from eth0<br>
          Aug 18 09:17:13 kk kernel: r8169 0000:02:00.0 tmpeth1: renamed
          from eth2</p>
        <p>Stage 3:<br>
          Now my script is called and it renames interfaces to eth0,
          eth2 and eth1.<br>
        </p>
        <p>Aug 18 09:17:13 kk kernel: e1000e 0000:00:1f.6 eth0: renamed
          from tmpeth0<br>
          Aug 18 09:17:14 kk kernel: r8169 0000:02:00.0 eth1: renamed
          from tmpeth1<br>
          Aug 18 09:17:14 kk kernel: 8139too 0000:04:00.0 eth2: renamed
          from tmpeth2</p>
        <p>Effectively original interface eth1 and eth2 are swapped.
          While eth0 remains eth0.<br>
        </p>
        <p>All these happened before systemd-networkd started and
          interface renaming was over by 9:17:14.<br>
        </p>
        <p>Stage 4:<br>
          Now systemd-networkd starts, 2 seconds after all interface
          have been assigned their final names.</p>
        <p>Aug 18 09:17:16 kk systemd[1]: Starting Network
          Configuration...<br>
          Aug 18 09:17:17 kk systemd-networkd[426]: lo: Link UP<br>
          Aug 18 09:17:17 kk systemd-networkd[426]: lo: Gained carrier<br>
          Aug 18 09:17:17 kk systemd-networkd[426]: Enumeration
          completed<br>
          Aug 18 09:17:17 kk systemd[1]: Started Network Configuration.<br>
          Aug 18 09:17:17 kk systemd-networkd[426]: eth2: Interface name
          change detected, renamed to eth1.<br>
          Aug 18 09:17:17 kk systemd-networkd[426]: Could not process
          link message: File exists<br>
          Aug 18 09:17:17 kk systemd-networkd[426]: eth1: Failed<br>
          Aug 18 09:17:17 kk systemd-networkd[426]: eth1: Interface name
          change detected, renamed to eth2.<br>
          Aug 18 09:17:17 kk systemd-networkd[426]: eth1: Interface name
          change detected, renamed to tmpeth2.<br>
          Aug 18 09:17:17 kk systemd-networkd[426]: eth0: Interface name
          change detected, renamed to tmpeth0.<br>
          Aug 18 09:17:17 kk systemd-networkd[426]: eth2: Interface name
          change detected, renamed to tmpeth1.<br>
          Aug 18 09:17:17 kk systemd-networkd[426]: tmpeth0: Interface
          name change detected, renamed to eth0.<br>
          Aug 18 09:17:17 kk systemd-networkd[426]: tmpeth1: Interface
          name change detected, renamed to eth1.<br>
          Aug 18 09:17:17 kk systemd-networkd[426]: tmpeth2: Interface
          name change detected, renamed to eth2.<br>
          Aug 18 09:17:17 kk systemd-networkd[426]: eth1: Link UP<br>
          Aug 18 09:17:17 kk systemd-networkd[426]: eth0: Link UP<br>
          Aug 18 09:17:20 kk systemd-networkd[426]: eth0: Gained carrier<br>
        </p>
        <p>This is when eth0 and eth1 interfaces are up and configured
          by systemd-networkd but eth2 is down and not configured.</p>
        <p><b>None of the .network configuration files match by
            interface names. They all match just by MAC address.<br>
            <br>
          </b># sample .network file.<br>
        </p>
        <p>[Match]<br>
          MACAddress=e0:d5:5e:8d:7f:2f<br>
          Type=ether<br>
          <br>
          [Network]<br>
          IgnoreCarrierLoss=yes<br>
          LinkLocalAddressing=no<br>
          IPv6AcceptRA=no<br>
          ConfigureWithoutCarrier=true<br>
          Address=192.168.25.2/24<br>
          <b><br>
          </b></p>
        <p>Above error message "eth1: failed", was not showing earlier
          version of systemd.</p>
        <p>So recent version of systemd-networkd is doing something
          different and this is where something is going wrong.<br>
          <br>
        </p>
        <p>Stage 5: (my workaround for this issue)<br>
          I wrote a new service file which restarts systemd-networkd
          after waiting for 10 seconds.</p>
        <p>Aug 18 09:17:27 kk systemd[1]: Stopping Network
          Configuration...<br>
          Aug 18 09:17:27 kk systemd[1]: systemd-networkd.service:
          Deactivated successfully.<br>
          Aug 18 09:17:27 kk systemd[1]: Stopped Network Configuration.<br>
          Aug 18 09:17:27 kk systemd[1]: Starting Network
          Configuration...<br>
          Aug 18 09:17:27 kk systemd-networkd[579]: eth1: Link UP<br>
          Aug 18 09:17:27 kk systemd-networkd[579]: eth0: Link UP<br>
          Aug 18 09:17:27 kk systemd-networkd[579]: eth0: Gained carrier<br>
          Aug 18 09:17:27 kk systemd-networkd[579]: lo: Link UP<br>
          Aug 18 09:17:27 kk systemd-networkd[579]: lo: Gained carrier<br>
          Aug 18 09:17:27 kk systemd-networkd[579]: Enumeration
          completed<br>
          Aug 18 09:17:27 kk systemd[1]: Started Network Configuration.<br>
          Aug 18 09:17:27 kk systemd-networkd[579]: eth2: Link UP<br>
          Aug 18 09:17:27 kk systemd-networkd[579]: eth2: Gained carrier<br>
          <br>
          All interfaces are now up and running as expected.<br>
        </p>
        <p>Please check as I do not believe that this issue is causing
          any race but to me it looks like some logical change in
          systemd-networkd which is causing the issue.<br>
        </p>
        <p>Thank you and regards,<br>
        </p>
        <p>Amish</p>
      </blockquote>
    </blockquote>
  </body>
</html>