[ConCheck]: Connection check doesn't seem to work correctly



Hi all,

We are using the NetworkManager version 1.8.2 on an embedded device and have done some tests with the 
connection check and it seems that is not working correctly.  

On our system we have Ethernet and wireless working. Were Ethernet is the primary network interface. Adding 
the connectivity check to the NetworkManager.conf will ping a server every 10s to check internet connection. 
And that is done correctly through both network interfaces.

Aug 28 09:40:38 ccimx6sbc daemon.debug NetworkManager[1354]: <debug> [1503913238.0883] connectivity: (eth0) 
sending request to 'http://network-test.debian.org/nm'
Aug 28 09:40:38 ccimx6sbc daemon.debug NetworkManager[1354]: <debug> [1503913238.0888] connectivity: (wlan0) 
sending request to 'http://network-test.debian.org/nm'
Aug 28 09:40:39 ccimx6sbc daemon.debug NetworkManager[1354]: <debug> [1503913239.4761] connectivity: (eth0) 
status header found, check successful
Aug 28 09:40:39 ccimx6sbc daemon.debug NetworkManager[1354]: <debug> [1503913239.4952] connectivity: (wlan0) 
status header found, check successful

The routing table of the target looks like this. 

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.101.2.1      0.0.0.0         UG    100    0        0 eth0
0.0.0.0         192.168.11.101  0.0.0.0         UG    600    0        0 wlan0
10.101.2.0      0.0.0.0         255.255.255.0   U     0      0        0 eth0
10.101.2.0      0.0.0.0         255.255.255.0   U     100    0        0 eth0
192.168.0.0     0.0.0.0         255.255.0.0     U     0      0        0 wlan0
192.168.0.0     0.0.0.0         255.255.0.0     U     600    0        0 wlan0

When we disconnect the switch from the internet where the Ethernet interface is connected to the connection 
request will fail. But it fails for both devices and the routing penalization function 
(route_metric_with_penalty) is called and updates the routing table for both interface instead of only the 
Ethernet one.

Aug 28 10:17:18 ccimx6sbc daemon.debug NetworkManager[1354]: <debug> [1503915438.0931] connectivity: (wlan0) 
sending request to 'http://network-test.debian.org/nm'
Aug 28 10:17:18 ccimx6sbc daemon.debug NetworkManager[1354]: <debug> [1503915438.0934] connectivity: (eth0) 
sending request to 'http://network-test.debian.org/nm'
Aug 28 10:18:39 ccimx6sbc daemon.debug NetworkManager[1354]: <debug> [1503915519.1711] connectivity: (eth0) 
check failed (6)
Aug 28 10:18:39 ccimx6sbc daemon.debug NetworkManager[1354]: <debug> [1503915519.1799] connectivity: (wlan0) 
check failed (6)
Aug 28 10:18:39 ccimx6sbc daemon.debug NetworkManager[1354]: <debug> [1503915519.1804] manager: connectivity 
checking indicates LIMITED
Aug 28 10:18:39 ccimx6sbc daemon.debug NetworkManager[1354]: <debug> [1503915519.1807] dispatcher: (9) 
dispatching action 'connectivity-change'
Aug 28 10:18:39 ccimx6sbc daemon.debug NetworkManager[1354]: <debug> [1503915519.2013] connectivity: (wlan0) 
sending request to 'http://network-test.debian.org/nm'
Aug 28 10:18:39 ccimx6sbc daemon.debug NetworkManager[1354]: <debug> [1503915519.2015] connectivity: (eth0) 
sending request to 'http://network-test.debian.org/nm'
Aug 28 10:18:39 ccimx6sbc daemon.info NetworkManager[1354]: <info>  [1503915519.2107] connectivity: (eth0) 
timed out
Aug 28 10:18:39 ccimx6sbc daemon.info NetworkManager[1354]: <info>  [1503915519.2109] connectivity: (eth0) 
timed out
Aug 28 10:18:39 ccimx6sbc daemon.info nm-dispatcher: req:1 'connectivity-change': new request (0 scripts)
Aug 28 10:18:39 ccimx6sbc daemon.debug nm-dispatcher: req:1 'connectivity-change': environment: 
CONNECTIVITY_STATE=LIMITED
Aug 28 10:18:39 ccimx6sbc daemon.info nm-dispatcher: req:1 'connectivity-change': completed: no scripts

And in the routing table both interfaces have changed

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.101.2.1      0.0.0.0         UG    20100  0        0 eth0
0.0.0.0         192.168.11.101  0.0.0.0         UG    20600  0        0 wlan0
10.101.2.0      0.0.0.0         255.255.255.0   U     0      0        0 eth0
10.101.2.0      0.0.0.0         255.255.255.0   U     100    0        0 eth0
192.168.0.0     0.0.0.0         255.255.0.0     U     0      0        0 wlan0
192.168.0.0     0.0.0.0         255.255.0.0     U     600    0        0 wlan0

Is there something wrong with our test or might there be an issue with the connectivity check?

Thanks for any advice or help. 

Best regards,
--
Mike Engel




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]