Messages in this thread | | | Date | Sat, 7 Jan 2023 02:17:07 +0100 | Subject | Re: BUG: tools/testing/selftests/net/l2_tos_ttl_inherit.sh hangs when selftest restarted | From | Mirsad Goran Todorovac <> |
| |
On 07. 01. 2023. 01:14, Guillaume Nault wrote: > On Fri, Jan 06, 2023 at 02:44:11AM +0100, Mirsad Goran Todorovac wrote: >> [root@pc-mtodorov linux_torvalds]# tools/testing/selftests/net/l2_tos_ttl_inherit.sh >> ┌────────┬───────┬───────┬──────────────┬──────────────┬───────┬────────┐ >> ├────────┼───────┼───────┼──────────────┼──────────────┼───────┼────────┤ >> │ Type │ outer | inner │ tos │ ttl │ vlan │ result │ >> ├────────┼───────┼───────┼──────────────┼──────────────┼───────┼────────┤ >> │ gre │ 4 │ 4 │ inherit 0xc4 │ inherit 116 │ false │Cannot create namespace file "/var/run/netns/testing": File exists >> RTNETLINK answers: File exists >> RTNETLINK answers: File exists >> RTNETLINK answers: File exists > > You probably have leftovers from a previous test case. In particular > the "testing" network name space already exists, which prevents the > script from creating it. You can delete it manually with > "ip netns del testing". If this netns is there because of a previous > incomplete run of l2_tos_ttl_inherit.sh, then you'll likely need to > also remove the tunnel interface it created in your current netns > ("ip link del tep0").
Thanks, it worked :)
> Ideally this script wouldn't touch the current netns and would clean up > its environment in all cases upon exit. I have a patch almost ready > that does just that.
As these interfaces were not cleared by "make kselftest-clean", this patch with a cleanup trap would be most welcome.
However, after the cleanup above, the ./l2_tos_ttl_inherit.sh script hangs at the spot where it did in the first place (but only on Lenovo desktop 10TX000VCR with BIOS M22KT49A from 11/10/2022, AlmaLinux 8.7, and kernel 6.2-rc2; not on Lenovo Ideapad3 with Ubuntu 22.10, where it worked like a charm with the same kernel RC).
The point of hang is this:
[root@pc-mtodorov net]# ./l2_tos_ttl_inherit.sh ┌────────┬───────┬───────┬──────────────┬──────────────┬───────┬────────┐ ├────────┼───────┼───────┼──────────────┼──────────────┼───────┼────────┤ │ Type │ outer | inner │ tos │ ttl │ vlan │ result │ ├────────┼───────┼───────┼──────────────┼──────────────┼───────┼────────┤ │ gre │ 4 │ 4 │ inherit 0xb8 │ inherit 102 │ false │ OK │ │ gre │ 4 │ 4 │ inherit 0x10 │ inherit 53 │ true │ OK │ │ gre │ 4 │ 4 │ fixed 0xa8 │ fixed 230 │ false │ OK │ │ gre │ 4 │ 4 │ fixed 0x0c │ fixed 96 │ true │ OK │ ├────────┼───────┼───────┼──────────────┼──────────────┼───────┼────────┤ │ gre │ 4 │ 6 │ inherit 0xbc │ inherit 159 │ false │ OK │ │ gre │ 4 │ 6 │ inherit 0x5c │ inherit 242 │ true │ OK │ │ gre │ 4 │ 6 │ fixed 0x38 │ fixed 113 │ false │ OK │ │ gre │ 4 │ 6 │ fixed 0x78 │ fixed 34 │ true │ OK │ ├────────┼───────┼───────┼──────────────┼──────────────┼───────┼────────┤ │ gre │ 4 │ other │ inherit 0xec │ inherit 69 │ false │ OK │ │ gre │ 4 │ other │ inherit 0xf0 │ inherit 201 │ true │ OK │ │ gre │ 4 │ other │ fixed 0xec │ fixed 14 │ false │ OK │ │ gre │ 4 │ other │ fixed 0xe4 │ fixed 15 │ true │ OK │ ├────────┼───────┼───────┼──────────────┼──────────────┼───────┼────────┤ │ Type │ outer | inner │ tos │ ttl │ vlan │ result │ ├────────┼───────┼───────┼──────────────┼──────────────┼───────┼────────┤ │ gre │ 6 │ 4 │ inherit 0xc4 │ inherit 21 │ false │ OK │ │ gre │ 6 │ 4 │ inherit 0xc8 │ inherit 230 │ true │ OK │ │ gre │ 6 │ 4 │ fixed 0x24 │ fixed 193 │ false │ OK │ │ gre │ 6 │ 4 │ fixed 0x1c │ fixed 200 │ true │ OK │ ├────────┼───────┼───────┼──────────────┼──────────────┼───────┼────────┤ │ gre │ 6 │ 6 │ inherit 0xe4 │ inherit 81 │ false │ OK │ │ gre │ 6 │ 6 │ inherit 0xa4 │ inherit 130 │ true │ OK │ │ gre │ 6 │ 6 │ fixed 0x18 │ fixed 140 │ false │ OK │ │ gre │ 6 │ 6 │ fixed 0xc8 │ fixed 175 │ true │ OK │ ├────────┼───────┼───────┼──────────────┼──────────────┼───────┼────────┤ │ gre │ 6 │ other │ inherit 0x74 │ inherit 142 │ false │ OK │ │ gre │ 6 │ other │ inherit 0x50 │ inherit 125 │ true │ OK │ │ gre │ 6 │ other │ fixed 0x90 │ fixed 84 │ false │ OK │ │ gre │ 6 │ other │ fixed 0xb8 │ fixed 240 │ true │ OK │ ├────────┼───────┼───────┼──────────────┼──────────────┼───────┼────────┤ │ Type │ outer | inner │ tos │ ttl │ vlan │ result │ ├────────┼───────┼───────┼──────────────┼──────────────┼───────┼────────┤ │ vxlan │ 4 │ 4 │ inherit 0xb4 │ inherit 93 │ false │
Developers usually ask for bash -x output of the script that failed or hung when reporting problems (too long for an email):
https://domac.alu.unizg.hr/~mtodorov/linux/selftests/net-namespace-20230106/bash-l2_tos_ttl_inherit.html
dmesg might be useful:
https://domac.alu.unizg.hr/~mtodorov/linux/selftests/net-namespace-20230106/dmesg-20230107.txt
Hope this helps.
I am rather new to namespaces, so I can't help more than that with the current state of my learning curve :)
Thanks, Mirsad
-- Mirsad Goran Todorovac Sistem inženjer Grafički fakultet | Akademija likovnih umjetnosti Sveučilište u Zagrebu -- System engineer Faculty of Graphic Arts | Academy of Fine Arts University of Zagreb, Republic of Croatia The European Union
| |