• Bug#1107739: iproute2: ip-route(8) man page: incorrect "ip route delete

    From Vincent Lefevre@1:229/2 to All on Fri Jun 13 12:30:01 2025
    XPost: linux.debian.bugs.dist
    From: vincent@vinc17.net

    Package: iproute2
    Version: 6.15.0-1
    Severity: normal

    The documentation of "ip route delete" in the ip-route(8) man page is incorrect. The man page says:

    ip route delete
    delete route
    ip route del has the same arguments as ip route add, but their
    semantics are a bit different.

    Key values (to, tos, preference and table) select the route to
    delete. If optional attributes are present, ip verifies that they
    coincide with the attributes of the route to delete. If no route
    with the given key and attributes was found, ip route del fails.

    But the behavior is unclear when several routes match the argument.
    Above, the singular is used, so I assume that a single route will
    be deleted (this is what I can observe). However, in such a case,
    it should say "a route", not "the route", because the route is not
    completely identified. Or better, say which route will be deleted.

    Note that the vpnc-script script of vpnc-scripts for VPNC and
    OpenConnect assumes that "ip route del ..." will delete all the
    matching routes:

    https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1107738

    -- System Information:
    Debian Release: 13.0
    APT prefers unstable-debug
    APT policy: (500, 'unstable-debug'), (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable-debug'), (500, 'proposed-updates-debug'), (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental')
    Architecture: amd64 (x86_64)

    Kernel: Linux 6.12.32-amd64 (SMP w/16 CPU threads; PREEMPT)
    Locale: LANG=C.UTF-8, 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)
    LSM: AppArmor: enabled

    Versions of packages iproute2 depends on:
    ii debconf [debconf-2.0] 1.5.91
    ii libbpf1 1:1.5.0-3
    ii libc6 2.41-8
    ii libcap2 1:2.75-8
    ii libcap2-bin 1:2.75-8
    ii libdb5.3t64 5.3.28+dfsg2-9
    ii libelf1t64 0.192-4
    ii libmnl0 1.0.5-3
    ii libselinux1 3.8.1-1
    ii libtirpc3t64 1.3.6+ds-1
    ii libxtables12 1.8.11-2

    iproute2 recommends no packages.

    Versions of packages iproute2 suggests:
    ii python3 3.13.4-1

    -- debconf information:
    iproute2/setcaps: false

    --
    Vincent Lefèvre <vincent@vinc17.net> - Web: <https://www.vinc17.net/>
    100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
    Work: CR INRIA - computer arithmetic / Pascaline project (LIP, ENS-Lyon)

    --- SoupGate-Win32 v1.05
    * Origin: you cannot sedate... all the things you hate (1:229/2)
  • From Luca Boccassi@1:229/2 to All on Fri Jun 13 12:50:01 2025
    XPost: linux.debian.bugs.dist
    From: bluca@debian.org

    Control: close -1

    Please report such issues directly upstream on netdev, preferably with
    a patch. There is no point in opening downstream bugs about manpages
    that are just shipped as-is, it's just churn and noise. Thanks.

    --- SoupGate-Win32 v1.05
    * Origin: you cannot sedate... all the things you hate (1:229/2)
  • From =?utf-8?Q?Bj=C3=B8rn_Mork?=@1:229/2 to Vincent Lefevre on Fri Jun 13 18:40:01 2025
    XPost: linux.debian.bugs.dist
    From: bjorn@mork.no

    Vincent Lefevre <vincent@vinc17.net> writes:

    The documentation of "ip route delete" in the ip-route(8) man page is incorrect. The man page says:

    ip route delete
    delete route
    ip route del has the same arguments as ip route add, but their
    semantics are a bit different.

    Key values (to, tos, preference and table) select the route to
    delete. If optional attributes are present, ip verifies that they
    coincide with the attributes of the route to delete. If no route
    with the given key and attributes was found, ip route del fails.

    But the behavior is unclear when several routes match the argument.

    Please demonstrate that.


    Bjørn

    --- SoupGate-Win32 v1.05
    * Origin: you cannot sedate... all the things you hate (1:229/2)
  • From Vincent Lefevre@1:229/2 to Luca Boccassi on Fri Jun 13 14:30:01 2025
    XPost: linux.debian.bugs.dist
    From: vincent@vinc17.net

    On 2025-06-13 11:43:46 +0100, Luca Boccassi wrote:
    Please report such issues directly upstream on netdev, preferably with
    a patch. There is no point in opening downstream bugs about manpages
    that are just shipped as-is, it's just churn and noise. Thanks.

    OK, I've sent a mail to the netdev list. For the reference:

    https://lore.kernel.org/netdev/20250613120711.GA237002@qaa.vinc17.org/T/

    --
    Vincent Lefèvre <vincent@vinc17.net> - Web: <https://www.vinc17.net/>
    100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
    Work: CR INRIA - computer arithmetic / Pascaline project (LIP, ENS-Lyon)

    --- SoupGate-Win32 v1.05
    * Origin: you cannot sedate... all the things you hate (1:229/2)
  • From Vincent Lefevre@1:229/2 to All on Fri Jun 13 20:00:01 2025
    XPost: linux.debian.bugs.dist
    From: vincent@vinc17.net

    On 2025-06-13 18:15:55 +0200, Bjørn Mork wrote:
    Vincent Lefevre <vincent@vinc17.net> writes:

    The documentation of "ip route delete" in the ip-route(8) man page is incorrect. The man page says:

    ip route delete
    delete route
    ip route del has the same arguments as ip route add, but their
    semantics are a bit different.

    Key values (to, tos, preference and table) select the route to
    delete. If optional attributes are present, ip verifies that they
    coincide with the attributes of the route to delete. If no route
    with the given key and attributes was found, ip route del fails.

    But the behavior is unclear when several routes match the argument.

    Please demonstrate that.

    What should happen if one has

    192.134.164.161 via 192.168.1.1 dev eth0 src 192.168.1.13 metric 100 192.134.164.161 via 192.168.1.1 dev wlp0s20f3 src 192.168.1.14 metric 600

    and "ip route del 192.134.164.161" is done?

    --
    Vincent Lefèvre <vincent@vinc17.net> - Web: <https://www.vinc17.net/>
    100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
    Work: CR INRIA - computer arithmetic / Pascaline project (LIP, ENS-Lyon)

    --- SoupGate-Win32 v1.05
    * Origin: you cannot sedate... all the things you hate (1:229/2)
  • From =?utf-8?Q?Bj=C3=B8rn_Mork?=@1:229/2 to Vincent Lefevre on Fri Jun 13 20:10:01 2025
    XPost: linux.debian.bugs.dist
    From: bjorn@mork.no

    Vincent Lefevre <vincent@vinc17.net> writes:

    What should happen if one has

    192.134.164.161 via 192.168.1.1 dev eth0 src 192.168.1.13 metric 100 192.134.164.161 via 192.168.1.1 dev wlp0s20f3 src 192.168.1.14 metric 600

    and "ip route del 192.134.164.161" is done?

    Thanks. That is indeed interesting. The routes appear to be sorted in
    that order regardless of which order they are added, and the first one
    is deleted.

    Yes, it would be nice to have this documented. Let's hope the netdev
    gurus have an answer


    Bjørn

    --- SoupGate-Win32 v1.05
    * Origin: you cannot sedate... all the things you hate (1:229/2)