Package: iproute2 X-Debbugs-Cc: d...@tharyrok.eu Version: 6.9.0-1 Severity: normal Tags: ipv6
Dear Maintainer,I am encountering an issue when adding an IPv6 route within a VRF context on Debian using ifupdown2. The problem occurs when I attempt to add an unreachable default route with a specific source address. I receive an "Invalid source address" error. However, this issue does not occur with IPv4 routes under similar conditions.
/etc/network/interfaces Configuration: auto routing iface routing address 127.0.0.1/8 address ::1/128 vrf-table 1011 auto dummy0 iface dummy0 link-type dummy pre-up /usr/sbin/ip link add dummy0 type dummy post-down /usr/sbin/ip link del dummy0 type dummy address 169.254.0.10/32 address fd6c:3502:f677::10/128 vrf routing Steps to Reproduce:1. Add the IPv6 route in the VRF context: ip -6 route add unreachable default src fd6c:3502:f677::10 vrf routing
Result: Error: Invalid source address.2. Add the IPv4 route in the VRF context: ip route add unreachable default src 169.254.0.10 vrf routing
Result: No error, and the routing table is updated correctly: # ip route show vrf routing unreachable default src 169.254.0.10 127.0.0.0/8 dev routing proto kernel scope link src 127.0.0.1 3. Adding another dummy interface not in the VRF context: auto dummy1 iface dummy1 link-type dummy pre-up /usr/sbin/ip link add dummy1 type dummy post-down /usr/sbin/ip link del dummy1 type dummy address fd6c:3502:f677::10/1284. Retry adding the IPv6 route in the VRF context: ip -6 route add unreachable default src fd6c:3502:f677::10 vrf routing
Result: No error, and the routing table is updated correctly: # ip -6 route show vrf routing ::1 dev routing proto kernel metric 256 pref medium fd6c:3502:f677::10 dev dummy0 proto kernel metric 256 pref medium fe80::/64 dev dummy0 proto kernel metric 256 pref medium multicast ff00::/8 dev dummy0 proto kernel metric 256 pref mediumunreachable default dev lo src fd6c:3502:f677::10 metric 1024 pref medium
The issue seems to be related to the source address check being performed in the default VRF context instead of the specified VRF context when adding an IPv6 route. This behavior is inconsistent with the IPv4 routing behavior in a VRF context.
Please let me know if further information is required or if there are any patches or tests I can perform to assist in resolving this issue.
Best regards, Tharyrok -- System Information: Debian Release: trixie/sid APT prefers unstable APT policy: (500, 'unstable') Architecture: amd64 (x86_64) Kernel: Linux 6.8.9-cloud-amd64 (SMP w/2 CPU threads; PREEMPT) Locale: LANG=C, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) Versions of packages iproute2 depends on: ii debconf [debconf-2.0] 1.5.86 ii libbpf1 1:1.4.1-1 ii libc6 2.38-11 ii libcap2 1:2.66-5 ii libcap2-bin 1:2.66-5 ii libdb5.3t64 5.3.28+dfsg2-7 ii libelf1t64 0.191-1+b1 ii libmnl0 1.0.5-2+b1 ii libselinux1 3.5-2+b2 ii libtirpc3t64 1.3.4+ds-1.3 ii libxtables12 1.8.10-3 iproute2 recommends no packages. Versions of packages iproute2 suggests: ii python3 3.11.8-1 -- debconf information: iproute2/setcaps: false
OpenPGP_0xE3739989CBBA86C4.asc
Description: OpenPGP public key