On 7/29/16 10:57 AM, John Stultz wrote:
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

duplicate rules.

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

The failure would be happening on the insertion of the second wlan0 rule.

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


Reply via email to