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.
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+XpuUW91l/eAi1TbZvRvVGUWA+R2PeNYc= 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 1Show 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=25.7 ms --- 8.8.8.8 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 25.683/25.683/25.683/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 connectionShow output
Dec 18 13:03:26.905592 osdx systemd-journald[1758]: Runtime Journal (/run/log/journal/c9e6c4bfae244233abb9aa1c1b190d66) is 4.8M, max 38.4M, 33.6M free. Dec 18 13:03:26.910591 osdx systemd-journald[1758]: Received client request to rotate journal, rotating. Dec 18 13:03:26.910790 osdx systemd-journald[1758]: Vacuuming done, freed 0B of archived journals from /run/log/journal/c9e6c4bfae244233abb9aa1c1b190d66. Dec 18 13:03:27.000241 osdx OSDxCLI[2059]: 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 1Show 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 connectionShow output
Dec 18 13:04:11.632691 osdx systemd-journald[1758]: Runtime Journal (/run/log/journal/c9e6c4bfae244233abb9aa1c1b190d66) is 4.8M, max 38.4M, 33.6M free. Dec 18 13:04:11.637871 osdx systemd-journald[1758]: Received client request to rotate journal, rotating. Dec 18 13:04:11.638068 osdx systemd-journald[1758]: Vacuuming done, freed 0B of archived journals from /run/log/journal/c9e6c4bfae244233abb9aa1c1b190d66. Dec 18 13:04:11.728270 osdx OSDxCLI[2059]: User 'admin' executed a new command: 'system journal clear'.
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 connectionShow output
Dec 18 13:04:11.632691 osdx systemd-journald[1758]: Runtime Journal (/run/log/journal/c9e6c4bfae244233abb9aa1c1b190d66) is 4.8M, max 38.4M, 33.6M free. Dec 18 13:04:11.637871 osdx systemd-journald[1758]: Received client request to rotate journal, rotating. Dec 18 13:04:11.638068 osdx systemd-journald[1758]: Vacuuming done, freed 0B of archived journals from /run/log/journal/c9e6c4bfae244233abb9aa1c1b190d66. Dec 18 13:04:11.728270 osdx OSDxCLI[2059]: User 'admin' executed a new command: 'system journal clear'. Dec 18 13:04:31.906305 osdx OSDxCLI[2059]: User 'admin' executed a new command: 'system journal show | cat'. Dec 18 13:04:32.090284 osdx OSDxCLI[2059]: User 'admin' executed a new command: 'system journal show | cat'. Dec 18 13:04:33.282285 osdx OSDxCLI[2059]: User 'admin' executed a new command: 'system journal show | cat'. Dec 18 13:04:34.478291 osdx OSDxCLI[2059]: User 'admin' executed a new command: 'system journal show | cat'. Dec 18 13:04:35.682286 osdx OSDxCLI[2059]: User 'admin' executed a new command: 'system journal show | cat'. Dec 18 13:04:36.902297 osdx OSDxCLI[2059]: User 'admin' executed a new command: 'system journal show | cat'. Dec 18 13:04:38.138295 osdx OSDxCLI[2059]: User 'admin' executed a new command: 'system journal show | cat'. Dec 18 13:04:39.382306 osdx OSDxCLI[2059]: User 'admin' executed a new command: 'system journal show | cat'. Dec 18 13:04:40.638338 osdx OSDxCLI[2059]: User 'admin' executed a new command: 'system journal show | cat'. Dec 18 13:04:41.700907 osdx wwan-module[2296]: [Core/cell0] Info: Signal '12' received to reconnect device. Dec 18 13:04:41.700960 osdx wwan-module[2296]: [Device/cell0] Info: Stopping network connection... Dec 18 13:04:41.720308 osdx wwan-module[2929]: Network cancelled... releasing resources Dec 18 13:04:41.759710 osdx wwan-module[2929]: [/dev/cdc-wdm0] Network stopped Dec 18 13:04:41.759710 osdx wwan-module[2929]: [/dev/cdc-wdm0] Client ID not released: Dec 18 13:04:41.759710 osdx wwan-module[2929]: Service: 'wds' Dec 18 13:04:41.759710 osdx wwan-module[2929]: CID: '21' Dec 18 13:04:41.762181 osdx wwan-module[2296]: [Device/cell0] Info: Network connection was stopped! Dec 18 13:04:41.764510 osdx wwan-module[2296]: [Network/cell0] Info: Stopping accessibility control... Dec 18 13:04:41.765464 osdx wwan-module[2296]: [Network/cell0] Info: Accessibility control was stopped! Dec 18 13:04:41.769220 osdx kernel: net cell0: link_state 0x1 -> 0x0 Dec 18 13:04:41.779409 osdx modulelauncher[2940]: stop DHCP client for cell0 Dec 18 13:04:41.781438 osdx dhclient[2610]: receive_packet failed on cell0: Network is down Dec 18 13:04:41.783664 osdx wwan-module[2296]: [Device/cell0] Info: Checking registration state... Dec 18 13:04:41.789922 osdx dhclient[2945]: Killed old client process Dec 18 13:04:41.887574 osdx wwan-module[2296]: [Device/cell0] Info: Device registered and PS attached successfully Dec 18 13:04:41.887599 osdx wwan-module[2296]: [Device/cell0] Info: Establishing network connection... Dec 18 13:04:41.925470 osdx dhclient[2945]: DHCPRELEASE of 2.143.43.23 on cell0 to 2.143.43.24 port 67 Dec 18 13:04:41.925501 osdx dhclient[2945]: send_packet: Network is down Dec 18 13:04:41.925512 osdx dhclient[2945]: dhclient.c:3146: Failed to send 300 byte long packet over cell0 interface. Dec 18 13:04:41.956515 osdx wwan-module[2296]: [Device/cell0] Info: Network connection was successfully started: PDH=[2830236528] Dec 18 13:04:42.002488 osdx OSDxCLI[2059]: User 'admin' executed a new command: 'system journal show | cat'. Dec 18 13:04:42.081030 osdx kernel: net cell0: link_state 0x0 -> 0x1 Dec 18 13:04:42.087034 osdx wwan-module[2296]: [Network/cell0] Info: Starting accessibility control... Dec 18 13:04:42.087380 osdx wwan-module[2296]: [Network/cell0] Info: Accessibility control was started! Dec 18 13:04:42.520303 osdx modulelauncher[2994]: start DHCP client for cell0 Dec 18 13:04:42.781034 osdx kernel: IPv6: ADDRCONF(NETDEV_CHANGE): cell0: link becomes ready Dec 18 13:04:43.009450 osdx dhclient[3003]: DHCPDISCOVER on cell0 to 255.255.255.255 port 67 interval 7 Dec 18 13:04:43.014033 osdx dhclient[3003]: DHCPOFFER of 2.143.43.23 from 2.143.43.24 Dec 18 13:04:43.014116 osdx dhclient[3003]: DHCPREQUEST for 2.143.43.23 on cell0 to 255.255.255.255 port 67 Dec 18 13:04:43.015927 osdx dhclient[3003]: DHCPACK of 2.143.43.23 from 2.143.43.24