On Mon, 2017-08-28 at 10:23 +0000, Engel, Mike wrote:
Hi all,
Hi,
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://net work-test.debian.org/nm' Aug 28 09:40:38 ccimx6sbc daemon.debug NetworkManager[1354]: <debug> [1503913238.0888] connectivity: (wlan0) sending request to 'http://ne twork-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://ne twork-test.debian.org/nm' Aug 28 10:17:18 ccimx6sbc daemon.debug NetworkManager[1354]: <debug> [1503915438.0934] connectivity: (eth0) sending request to 'http://net work-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)
it says the check failed. What do you see with level=TRACE logging? Note comments here: https://cgit.freedesktop.org/NetworkManager/NetworkManager/plain/contrib/fedora/rpm/NetworkManager.conf?id=master
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://ne twork-test.debian.org/nm' Aug 28 10:18:39 ccimx6sbc daemon.debug NetworkManager[1354]: <debug> [1503915519.2015] connectivity: (eth0) sending request to 'http://net work-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?
there is also a curl 7.55 issue, see https://bugzilla.gnome.org/show_bug.cgi?id=786432 What's your libcurl version? best, Thomas
Attachment:
signature.asc
Description: This is a digitally signed message part