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/...
dmesg might be useful:
https://domac.alu.unizg.hr/~mtodorov/linux/selftests/net-namespace-20230106/...
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