Check Accessibility Control

This scenario shows how to configure a cellular interface, enabling the accessibility control mechanism that triggers reconnections when network connectivity is lost.

../../../../_images/google2.svg

Test Reconnection By Accessibility Control

Description

In DUT0, the cell0 cellular interface is configured with a cellular profile for which accessibility control is enabled. Once connectivity with Google’s DNS public server has been verified, a situation where 100% of the packets received by the network are lost is emulated to verify that the accessibility control mechanism triggers a reconnection.

Scenario

Step 1: Set the following configuration in DUT0 :

set cellular logging level info
set cellular profile CELPROFILE accessibility-control ping address 8.8.8.8
set cellular profile CELPROFILE accessibility-control ping interval 10
set cellular profile CELPROFILE apn movistar.es
set interfaces cellular cell0 address dhcp
set interfaces cellular cell0 encrypted-pin U2FsdGVkX1/ovp6N2EFffH2rHVqDFNQtXflcYNfRzKc=
set interfaces cellular cell0 profile CELPROFILE
set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'

Note

Once the cellular interface is configured, it can be verified that there is network connectivity by pinging Google’s DNS public server.

Step 2: Ping IP address 8.8.8.8 from DUT0:

admin@DUT0$ ping 8.8.8.8 count 1 size 56 timeout 1
Show output
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=116 time=161 ms

--- 8.8.8.8 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 161.355/161.355/161.355/0.000 ms

Note

The accessibility control is a mechanism where pings are sent at an interval, and to the IP address, configured by the user. The mechanism then waits for a response within this interval. If no response is received before it times out, a second ping is sent and a response is expected within 10 seconds. If there is still no response, two more pings are sent at 5-second intervals. Finally, if there is still no response, the device reconnects to the network.

Note

As a result, you can verify that no reconnection has been recorded in the system logs if you wait long enough.

Step 3: Run command system journal clear at DUT0.

Step 4: Run command system journal show | cat at DUT0 and check if output does not contain the following tokens:

[Core/cell0] Info: Signal '12' received to reconnect device
[Device/cell0] Info: Stopping network connection
[Device/cell0] Info: Establishing network connection
Show output
Apr 10 16:34:45.631757 osdx systemd-journald[1689]: Runtime Journal (/run/log/journal/6992b32fdf79447ca48aad66cd6059f6) is 1.1M, max 8.5M, 7.4M free.
Apr 10 16:34:45.635008 osdx systemd-journald[1689]: Received client request to rotate journal, rotating.
Apr 10 16:34:45.635282 osdx systemd-journald[1689]: Vacuuming done, freed 0B of archived journals from /run/log/journal/6992b32fdf79447ca48aad66cd6059f6.
Apr 10 16:34:45.738501 osdx OSDxCLI[4247]: User 'admin' executed a new command: 'system journal clear'.

Note

However, when traffic control is applied, it is possible to prove the ‘ping’ command is failing because ICMP packets are being dropped.

Step 5: Modify the following configuration lines in DUT0 :

set interfaces cellular cell0 traffic control in PLOSS
set traffic control PLOSS type network-emulator packet-loss 100

Step 6: Expect a failure in the following command: Ping IP address 8.8.8.8 from DUT0:

admin@DUT0$ ping 8.8.8.8 count 1 size 56 timeout 1
Show output
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.

--- 8.8.8.8 ping statistics ---
1 packets transmitted, 0 received, 100% packet loss, time 0ms

Note

You can verify that a reconnection has been recorded in the system logs if you wait long enough.

Step 7: Run command system journal clear at DUT0.

Step 8: Run command system journal show | cat at DUT0 and check if output does not contain the following tokens:

[Core/cell0] Info: Signal '12' received to reconnect device
[Device/cell0] Info: Stopping network connection
[Device/cell0] Info: Establishing network connection
Show output
Apr 10 16:35:30.450576 osdx systemd-journald[1689]: Runtime Journal (/run/log/journal/6992b32fdf79447ca48aad66cd6059f6) is 1.0M, max 8.5M, 7.4M free.
Apr 10 16:35:30.452791 osdx systemd-journald[1689]: Received client request to rotate journal, rotating.
Apr 10 16:35:30.452992 osdx systemd-journald[1689]: Vacuuming done, freed 0B of archived journals from /run/log/journal/6992b32fdf79447ca48aad66cd6059f6.
Apr 10 16:35:30.542231 osdx OSDxCLI[4247]: User 'admin' executed a new command: 'system journal clear'.
Apr 10 16:35:39.177412 osdx cfgd[1369]: Could not parse bandwidth for traffic-control network-emulator 'PLOSS'
Apr 10 16:35:49.242856 osdx cfgd[1369]: Could not parse bandwidth for traffic-control network-emulator 'PLOSS'

Step 9: Run command system journal show | cat at DUT0 and check if output contains the following tokens:

[Core/cell0] Info: Signal '12' received to reconnect device
[Device/cell0] Info: Stopping network connection
[Device/cell0] Info: Establishing network connection
Show output
Apr 10 16:35:30.450576 osdx systemd-journald[1689]: Runtime Journal (/run/log/journal/6992b32fdf79447ca48aad66cd6059f6) is 1.0M, max 8.5M, 7.4M free.
Apr 10 16:35:30.452791 osdx systemd-journald[1689]: Received client request to rotate journal, rotating.
Apr 10 16:35:30.452992 osdx systemd-journald[1689]: Vacuuming done, freed 0B of archived journals from /run/log/journal/6992b32fdf79447ca48aad66cd6059f6.
Apr 10 16:35:30.542231 osdx OSDxCLI[4247]: User 'admin' executed a new command: 'system journal clear'.
Apr 10 16:35:39.177412 osdx cfgd[1369]: Could not parse bandwidth for traffic-control network-emulator 'PLOSS'
Apr 10 16:35:49.242856 osdx cfgd[1369]: Could not parse bandwidth for traffic-control network-emulator 'PLOSS'
Apr 10 16:35:50.732319 osdx OSDxCLI[4247]: User 'admin' executed a new command: 'system journal show | cat'.
Apr 10 16:35:50.932321 osdx OSDxCLI[4247]: User 'admin' executed a new command: 'system journal show | cat'.
Apr 10 16:35:52.144316 osdx OSDxCLI[4247]: User 'admin' executed a new command: 'system journal show | cat'.
Apr 10 16:35:53.376330 osdx OSDxCLI[4247]: User 'admin' executed a new command: 'system journal show | cat'.
Apr 10 16:35:54.604314 osdx OSDxCLI[4247]: User 'admin' executed a new command: 'system journal show | cat'.
Apr 10 16:35:55.864316 osdx OSDxCLI[4247]: User 'admin' executed a new command: 'system journal show | cat'.
Apr 10 16:35:57.112334 osdx OSDxCLI[4247]: User 'admin' executed a new command: 'system journal show | cat'.
Apr 10 16:35:58.388323 osdx OSDxCLI[4247]: User 'admin' executed a new command: 'system journal show | cat'.
Apr 10 16:35:59.308166 osdx cfgd[1369]: Could not parse bandwidth for traffic-control network-emulator 'PLOSS'
Apr 10 16:35:59.676317 osdx OSDxCLI[4247]: User 'admin' executed a new command: 'system journal show | cat'.
Apr 10 16:36:00.680022 osdx wwan-module[56496]: [Core/cell0] Info: Signal '12' received to reconnect device.
Apr 10 16:36:00.680069 osdx wwan-module[56496]: [Device/cell0] Info: Stopping network connection...
Apr 10 16:36:00.697975 osdx wwan-module[56862]: Network cancelled... releasing resources
Apr 10 16:36:00.835979 osdx wwan-module[56862]: [/dev/cdc-wdm0] Network stopped
Apr 10 16:36:00.835979 osdx wwan-module[56862]: [/dev/cdc-wdm0] Client ID not released:
Apr 10 16:36:00.835979 osdx wwan-module[56862]:         Service: 'wds'
Apr 10 16:36:00.835979 osdx wwan-module[56862]:             CID: '21'
Apr 10 16:36:00.837804 osdx wwan-module[56496]: [Device/cell0] Info: Network connection was stopped!
Apr 10 16:36:00.839921 osdx wwan-module[56496]: [Network/cell0] Info: Stopping accessibility control...
Apr 10 16:36:00.840122 osdx wwan-module[56496]: [Network/cell0] Info: Accessibility control was stopped!
Apr 10 16:36:00.843187 osdx kernel: net cell0: link_state 0x1 -> 0x0
Apr 10 16:36:00.853170 osdx modulelauncher[56874]: stop DHCP client for cell0
Apr 10 16:36:00.853864 osdx dhclient[56582]: receive_packet failed on cell0: Network is down
Apr 10 16:36:00.855836 osdx wwan-module[56496]: [Device/cell0] Info: Checking registration state...
Apr 10 16:36:00.863088 osdx dhclient[56878]: Killed old client process
Apr 10 16:36:00.963683 osdx wwan-module[56496]: [Device/cell0] Info: Device registered and PS attached successfully
Apr 10 16:36:00.963709 osdx wwan-module[56496]: [Device/cell0] Info: Establishing network connection...
Apr 10 16:36:00.992356 osdx OSDxCLI[4247]: User 'admin' executed a new command: 'system journal show | cat'.
Apr 10 16:36:00.999426 osdx dhclient[56878]: DHCPRELEASE of 176.82.184.80 on cell0 to 176.82.184.81 port 67
Apr 10 16:36:00.999452 osdx dhclient[56878]: send_packet: Network is down
Apr 10 16:36:00.999464 osdx dhclient[56878]: dhclient.c:3146: Failed to send 300 byte long packet over cell0 interface.
Apr 10 16:36:01.258083 osdx wwan-module[56496]: [Device/cell0] Info: Network connection was successfully started: PDH=[2175558000]
Apr 10 16:36:01.351340 osdx cfgd[1369]: Could not parse bandwidth for traffic-control network-emulator 'PLOSS'
Apr 10 16:36:01.386216 osdx wwan-module[56496]: [Network/cell0] Info: Starting accessibility control...
Apr 10 16:36:01.386578 osdx wwan-module[56496]: [Network/cell0] Info: Accessibility control was started!
Apr 10 16:36:01.387089 osdx kernel: net cell0: link_state 0x0 -> 0x1
Apr 10 16:36:01.635803 osdx modulelauncher[56930]: start DHCP client for cell0
Apr 10 16:36:01.847050 osdx kernel: IPv6: ADDRCONF(NETDEV_CHANGE): cell0: link becomes ready