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



Hi Thomas,

Thanks for your quick response. I use curl 7.50.1. I will try the latest one because I have seen the same 
time out reported in the bug you mentioned below.

Once I have done some test I will update the thread.

Best regards,
--
Mike Engel

-----Original Message-----
From: Thomas Haller [mailto:thaller redhat com] 
Sent: Monday, August 28, 2017 12:39
To: Engel, Mike; 'networkmanager-list gnome org'
Subject: Re: [ConCheck]: Connection check doesn't seem to work correctly

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


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