Package: iproute2
Version: 5.10.0-4
Severity: normal

Dear Maintainer,

I just upgraded a host from Buster to testing.
After reboot my locally configured policy routing failed to work.

How to reproduce:

 root@example:~# echo 120 foo >>/etc/iproute2/rt_tables
 root@example:~# ip route show table foo
 Error: ipv4: FIB table does not exist.
 Dump terminated
 root@example:~# ip route show table 120
 Error: ipv4: FIB table does not exist.
 Dump terminated

Previously (with Buster) the above commands would output the (empty)
table.

After adding a route to the table, it becomes accessible:

 root@example:~# ip route add 1.2.3.4/32 via 127.0.0.1 table foo
 root@example:~# ip route show table foo
 1.2.3.4 via 127.0.0.1 dev lo


I am able to work around this problem by downgrading either the Linux
kernel or the iproute2 package to 4.19 (Buster).

I experimented a bit with different combinations of various versions of
the Linux kernel and the iproute2 package (thanks to snapshots.d.o):

 Linux 4.9.0-9-amd64 + iproute2 5.10.0-4 -> OK
 Linux 4.19.0-17-amd64 + iproute2 5.10.0-4 -> OK
 Linux 5.3.0-3-amd64 + iproute2 5.10.0-4 -> FAIL
 Linux 5.4.0-3-amd64 + iproute2 5.10.0-4 -> FAIL
 Linux 5.10.0-7-amd64 + iproute2 4.20.0-2+deb10u1 -> OK
 Linux 5.10.0-7-amd64 + iproute2 5.x -> FAIL

Thus the problem seems to have been introduced at the beginning of the
Linux 5.x series.

The problem is discussed here:
 https://www.spinics.net/lists/netdev/msg559739.html
Relevant contributions in this thread seem to be:
 https://www.spinics.net/lists/netdev/msg559925.html
 https://www.spinics.net/lists/netdev/msg559906.html


Summary: "ip route show table SOMETHING" is failing now, if the table
"SOMETHING" does not contain any routes.  Previously it exited with
success (and empty output).

I can imagine, that this changed behaviour could break some scripts
related to policy routing. At least for me it caused problems with my
tinc setup.

Thank your for maintaining this package!

Cheers,
Lars


-- System Information:
Debian Release: 11.0
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.10.0-8-amd64 (SMP w/4 CPU threads)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)
LSM: AppArmor: enabled

Versions of packages iproute2 depends on:
ii  debconf [debconf-2.0]  1.5.77
ii  libbpf0                1:0.3-2
ii  libbsd0                0.11.3-1
ii  libc6                  2.31-12
ii  libcap2                1:2.44-1
ii  libcap2-bin            1:2.44-1
ii  libdb5.3               5.3.28+dfsg1-0.8
ii  libelf1                0.183-3
ii  libmnl0                1.0.4-3
ii  libselinux1            3.1-3
ii  libxtables12           1.8.7-1

Versions of packages iproute2 recommends:
ii  libatm1  1:2.5.1-4

Versions of packages iproute2 suggests:
pn  iproute2-doc  <none>

-- Configuration Files:
/etc/iproute2/rt_tables changed [not included]

-- debconf information excluded

Reply via email to