Service Probe Device Simulation

Version 33.6.1 enhances Service Probe functionality with the ability to run custom Python scripts and shell commands within Service Probe contexts, along with asynchronous operation support and improved DNS query capabilities.

Enhancements:

Code Execution Security

All code execution (Python and shell) runs with the following security controls:

Environment variables are automatically set to provide Service Probe context without requiring manual discovery:

SP_DEV='svc_dev_3000'
SP_VLAN_NAME='uplink'
SP_VLAN_ID='3500'
SP_MAC='0a:11:88:fe:ec:36'
SP_IP_ADDR='172.16.1.99'
SP_IP_GATEWAY='172.16.1.99'
SP_DNS='11.100.100.1,172.16.1.98'

New and Enhanced CLI Commands

Run Python script in Service Probe context:

run service-probe <instance_id> python <script_file>

Run shell command in Service Probe context:

run service-probe <instance_id> shell

Enhanced DNS query with server selection:

run service-probe <instance_id> query dns 
    {primary | secondary | tertiary | default} {<fqdn>}

View cached query results in detailed output:

show service-probe <instance_id> detail

Sample detailed output with cached results:

ID                   : 1
VLAN                 : SpBlue (UP)
In-Use MAC           : 0a:11:88:fe:ec:36
Default Route Exists : True
Dynamic              : False
Cfg IP               : 150.150.1.99/24
Cfg Gateway          : 150.150.1.4
Cfg DNS              : 1.1.1.1, 8.8.8.8, 150.150.1.4
In-Use IP            : 150.150.1.99/24

In-Use Resource   Server              Status       Query Time
----------------  ------------------  -----------  -------------------
Gateway           150.150.1.4         Reachable    02-03-2026 12:37:15
Primary DNS       1.1.1.1             Fail         02-03-2026 12:34:31
Secondary DNS     8.8.8.8             Fail         02-03-2026 12:34:31
Tertiary DNS      150.150.1.4         Success      02-03-2026 12:34:29

View SvcProbe cgroup resource usage:

show process group service-probe

Sample output:

SvcProbe:
 Number of processes : 2
 CPU
  Limit              : 5 %
  Current utilization: 0.2 %
  Maximum utilization: 1.3 %
 Memory
  Upper Limit        : 5 %
  Current utilization: 0.1 %
  Maximum utilization: 0.3 %

Asynchronous Operation

Commands that run in Service Probe context (ping, query dns, shell, python) now run asynchronously. A request ID is returned immediately, and results must be polled. Completed requests are automatically removed after being queried or expire 10 minutes after their maximum expected runtime.

Default timeout settings:

Example Use Cases

Run traceroute from Service Probe perspective:

run service-probe 1 shell
Command: traceroute 11.100.100.1
Exit Status: 0
...output follows:
traceroute to 11.100.100.1 (11.100.100.1), 30 hops max, 46 byte packets
1  192.168.1.1 (192.168.1.1)  0.547 ms  0.343 ms  0.321 ms
2  110.110.110.2 (110.110.110.2)  0.364 ms  88.943 ms  0.375 ms
3  11.100.100.1 (11.100.100.1)  0.287 ms  0.271 ms  0.247 ms

Run custom Python script:

run service-probe 1 python /usr/local/cfg/network-test.py
Exit Status: 0
...output follows:
[script output]

Supported Platforms

All platforms.