Comment 0 for bug 1818282

Revision history for this message
Ioanna Alifieraki (joalif) wrote :

[Description]

When attaching multiple IPs on secondary interface the routing policy rules do not
apply for all IPs.
The rules that are applied after restarting networkd are random.

The issue has been reported and addressed upstream.

[Test Case]

Attach multiple IPs to secondary interface, config file:

$ cat /etc/systemd/network/ens8.network
[Match]
Name=ens8

[Network]
Address=172.31.28.195/20
Address=172.31.24.151/20
Address=172.31.24.152/20
Address=172.31.24.153/20

[Route]
Destination=0.0.0.0/0
Gateway=172.31.16.1
Table=1000

[Route]
Destination=172.31.24.153
Gateway=0.0.0.0
Scope=link
Table=1000

[Route]
Destination=172.31.28.195
Gateway=0.0.0.0
Scope=link
Table=1000

[Route]
Destination=172.31.24.151
Gateway=0.0.0.0
Scope=link
Table=1000

[Route]
Destination=172.31.24.152
Gateway=0.0.0.0
Scope=link
Table=1000

[RoutingPolicyRule]
From=172.31.24.153
Table=1000

[RoutingPolicyRule]
From=172.31.28.195
Table=1000

[RoutingPolicyRule]
From=172.31.24.152
Table=1000

[RoutingPolicyRule]
From=172.31.24.151
Table=1000

$ ip rule show
0: from all lookup local
0: from 172.31.24.151 lookup 1000
32766: from all lookup main
32767: from all lookup default

- restart networkd

$ sudo systemctl restart systemd-networkd

$ ip rule show
0: from all lookup local
0: from 172.31.24.151 lookup 1000
0: from 172.31.24.153 lookup 1000
0: from 172.31.28.195 lookup 1000
32766: from all lookup main
32767: from all lookup default

- restart again

$ sudo systemctl restart systemd-networkd

$ ip rule show
0: from all lookup local
0: from 172.31.24.151 lookup 1000
0: from 172.31.24.152 lookup 1000
32766: from all lookup main
32767: from all lookup default

The behaviour is random

[Other]

Affects Disco and Bionic (probably Cosmic as well, but haven't tested it yet).

Upstream bug : https://github.com/systemd/systemd/issues/11280
Upstream fix : https://github.com/systemd/systemd/pull/11795/commits

$ lsb_release -rd
Description: Ubuntu Disco Dingo (development branch)
Release: 19.04

Systemd version :
systemd:
  Installed: 240-6ubuntu1
  Candidate: 240-6ubuntu1
  Version table:
 *** 240-6ubuntu1 500
        500 http://gb.archive.ubuntu.com/ubuntu disco/main amd64 Packages
        100 /var/lib/dpkg/status