systemd-networkd - RoutingPolicyRule does not apply correctly
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
systemd (Debian) |
Fix Released
|
Unknown
|
|||
systemd (Ubuntu) |
Fix Released
|
Medium
|
Ioanna Alifieraki | ||
Bionic |
Fix Released
|
Medium
|
Ioanna Alifieraki | ||
Cosmic |
Fix Released
|
Medium
|
Ioanna Alifieraki | ||
Disco |
Fix Released
|
Medium
|
Ioanna Alifieraki |
Bug Description
[Impact]
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/
[Match]
Name=ens8
[Network]
Address=
Address=
Address=
Address=
[Route]
Destination=
Gateway=172.31.16.1
Table=1000
[Route]
Destination=
Gateway=0.0.0.0
Scope=link
Table=1000
[Route]
Destination=
Gateway=0.0.0.0
Scope=link
Table=1000
[Route]
Destination=
Gateway=0.0.0.0
Scope=link
Table=1000
[Route]
Destination=
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
[Regression Potential]
May impact the systemd-networkd service functionality.
[Other]
Affects Disco Bionic and Cosmic.
Upstream bug : https:/
Upstream fix : https:/
$ 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://
100 /var/lib/
Changed in systemd (Ubuntu): | |
status: | New → Confirmed |
status: | Confirmed → New |
Changed in systemd (Ubuntu): | |
status: | New → In Progress |
Changed in systemd (Ubuntu Bionic): | |
status: | New → In Progress |
importance: | Undecided → Medium |
Changed in systemd (Ubuntu Disco): | |
importance: | Undecided → Medium |
assignee: | nobody → Ioanna Alifieraki (joalif) |
Changed in systemd (Ubuntu Bionic): | |
assignee: | nobody → Ioanna Alifieraki (joalif) |
tags: | added: sts |
description: | updated |
tags: | added: sts-sponsor |
description: | updated |
Changed in systemd (Ubuntu Cosmic): | |
status: | New → In Progress |
importance: | Undecided → Medium |
assignee: | nobody → Ioanna Alifieraki (joalif) |
Changed in systemd (Ubuntu Disco): | |
status: | In Progress → Fix Committed |
Changed in systemd (Debian): | |
status: | Unknown → New |
tags: | added: patch-accepted-upstream patch-forwarded-debian |
tags: | added: sts-sponsor-ddstreet |
Changed in systemd (Debian): | |
status: | New → Fix Committed |
tags: |
added: verification-done-bionic removed: verification-needed-bionic |
tags: |
added: verification-done removed: verification-needed |
tags: | removed: sts-sponsor sts-sponsor-ddstreet |
Changed in systemd (Debian): | |
status: | Fix Committed → Fix Released |
debdiff for Disco