I take Android userspace inserts the same rule multiple times? (ip rule ls)
With the patch reverted, and the system working, I see:
# ip rule ls
0: from all lookup local
10000: from all fwmark 0xc0000/0xd0000 lookup legacy_system
13000: from all fwmark 0x10063/0x1ffff lookup local_network
13000: from all fwmark 0x10065/0x1ffff lookup wlan0
14000: from all oif wlan0 lookup wlan0
14000: from all oif wlan0 lookup wlan0
15000: from all fwmark 0x0/0x10000 lookup legacy_system
16000: from all fwmark 0x0/0x10000 lookup legacy_network
17000: from all fwmark 0x0/0x10000 lookup local_network
19000: from all fwmark 0x64/0x1ffff lookup wlan0
19000: from all fwmark 0x65/0x1ffff lookup wlan0
22000: from all fwmark 0x0/0xffff lookup wlan0
32000: from all unreachable
With the patch applied, and after toggling wifi, when I see the problem:
# ip rule ls
0: from all lookup local
10000: from all fwmark 0xc0000/0xd0000 lookup legacy_system
13000: from all fwmark 0x10063/0x1ffff lookup local_network
13000: from all fwmark 0x10065/0x1ffff lookup wlan0
14000: from all oif wlan0 lookup wlan0
15000: from all fwmark 0x0/0x10000 lookup legacy_system
16000: from all fwmark 0x0/0x10000 lookup legacy_network
17000: from all fwmark 0x0/0x10000 lookup local_network
19000: from all fwmark 0x64/0x1ffff lookup wlan0
32000: from all unreachable
If so and multiple components expect to manage their own 'copy' of the rule
they will need to remove the NLM_F_EXCL flag.
Adding more networky Android folks to the CC.
thanks
-john