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

Attachment: signature.asc
Description: This is a digitally signed message part



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