To connect to the LANforge-CLI, open a TCP socket connection to the IP address of the management interface and IP port 4001. For instance:
telnet localhost 4001
PORTS_TOO | 0x01 # Clear port and MLO Link counters this CX uses as well. SEND_EVENT | 0x02 # Send event when clearing counters. MLO_LINKS_TOO | 0x04 # Clear MLO link counters even if not clearing port counters.
async_feedback | %{key}
Argument | Description |
---|---|
shelf | Shelf name/id. Required. [R][D:1] |
resource | Resource number. [W] |
adb_id | Android device identifier, use NA if it should not be used/specified. [W] |
key | Key to be used in response messages, NA for generic keyed message. Key should not have - or spaces or other non-alphanumeric characters in it. |
adb_cmd | All remaining text after adb_id will be sent to the adb command. Unescaped Value |
Syntax: adb shelf resource adb_id key adb_cmd
async_feedback | %{key}
Argument | Description |
---|---|
shelf | Shelf name/id. Required. [R][D:1] |
resource | Resource number. [W] |
adb_id | Android device identifier, use NA if it should not be used/specified. [W] |
keystrokes | All remaining text after adb_bt will be sent as keystrokes. For example: [... {adb_id} ctrl h ctrl f s e t t...] Unescaped Value |
Syntax: adb_bt shelf resource adb_id keystrokes
async_feedback | %{key}
Argument | Description |
---|---|
shelf | Shelf name/id. Required. [R][D:1] |
resource | Resource number. [W] |
adb_id | Android device identifier, use NA if it should not be used/specified. [W] |
key | Key to be used in response messages, NA for generic keyed message. Key should not have - or spaces or other non-alphanumeric characters in it. |
max_dur | Num of milliseconds to let this command run before killing it. 0 indicates no timeout. |
adb_cmd | All remaining text after adb_id will be sent to the adb command. Unescaped Value |
Syntax: adb_timeout shelf resource adb_id key max_dur adb_cmd
For PCs, you can use the exceed program from Hummingbird software.
To enable X access on Unix/Linux, run this command:
xhost +
This can open your machine to security threats, so read up on xhost before you run this command on a mission critical machine not protected by a good firewall!
If using scrcpy, screen-size can be > 1.0. 1.0 means '800' screen width. If using MonkeyRemote, then value is percentage of default size.Flags are defined as follows. You can enter the value in HEX if you prefix it with 0x.
USE_SCRCPY | 0x1 # Use scrcpy instead of MonkeyRemote NO_AUDIO_SCRCPY | 0x2 # Disable scrcpy audio forwarding OMX_H264_ENCODER_SCRCPY | 0x4 # Use non-default OMX.google.h264.encoder scrcpy video encoder
Argument | Description |
---|---|
shelf | Shelf name/id. Required. [R][D:1] |
resource | Resource number. [W] |
adb_id | Android device identifier. |
display | The DISPLAY option, for example: 192.168.1.5:0.0. Will guess if left blank. |
screen_size_prcnt | 0.1 to 1.0, screen size percentage for the Android display. |
flags | See flags defined above. |
max_size | Limit both the width and height of the video to value. (scrcpy only). 0 is default. |
Syntax: adb_gui shelf resource adb_id display screen_size_prcnt flags max_size
Argument | Description |
---|---|
shelf | Shelf name/id. Required. [R][D:1] |
resource | Resource number. [W] |
adb_id | Android device identifier (serial number). |
adb_product | Android device product ID |
adb_model | Android device model ID |
adb_device | Android device device ID |
lf_username | LANforge Interop app user-name |
sdk_version | Android sdk version (example: 19) |
sdk_release | Android sdk release (example: 4.4.2) |
app_identifier | Identifier that App and adb can both query (mac of wlan0) |
device_type | Interop device type |
bt_ctrl_dev | Filepath of device's assigned BT adapter |
Syntax: add_adb shelf resource adb_id adb_product adb_model adb_device lf_username sdk_version sdk_release app_identifier device_type bt_ctrl_dev
Argument | Description |
---|---|
shelf | Shelf name/id. Required. [R][D:1] |
resource | Resource number. [W] |
serno | Serial number. |
model | Product Model |
device_type | Device type |
ipaddr | IPv4 address for the Cell Emulator |
cur_profile | Profile that should be running |
Syntax: add_cell_emulator shelf resource serno model device_type ipaddr cur_profile
Argument | Description |
---|---|
device | ADB device name. [R] |
event | What happened. [R] |
status | Status on what happened. |
msg | Entire event in human readable form. |
status2 | Status on what happened. |
Syntax: adb_wifi_event device event status msg status2
Argument | Description |
---|---|
shelf | Shelf name/id. Required. [R][D:1] |
resource | Resource number. [W] |
adb_id | Android device identifier (serial number). |
Syntax: rm_adb shelf resource adb_id
Argument | Description |
---|---|
shelf | Shelf name/id. Required. [R][D:1] |
resource | Resource number. [W] |
serno | Cell emulator serial number |
Syntax: rm_cell_emulator shelf resource serno
postexec_cli | nc_show_endp %{alias} preexec_method | baseCheckPortExists
Argument | Description |
---|---|
alias | Name of endpoint. [R] |
shelf | Shelf name/id. Required.[D:1] |
resource | Resource number. |
port | Port number or name. |
type | Endpoint Type : arm_udp. |
pps | Packets per second to generate. |
pkt_sz | Minimum packet size, including all Ethernet headers. |
mx_pkt_sz | Maximum packet size, including all Ethernet headers. |
cpu_id | Preferred CPU ID on which this endpoint should run. |
tos | The Type of Service, can be HEX. See set_endp_tos for details. |
Syntax: add_arm_endp alias shelf resource port type pps pkt_sz mx_pkt_sz cpu_id tos
postexec_cli | show_cx %{test_mgr} %{alias}
Argument | Description |
---|---|
alias | Name of the Cross Connect to create. [R] |
test_mgr | Name of test-manager to create the CX on. [W][D:default_tm] |
tx_endp | Name of Transmitting endpoint. [R] |
rx_endp | Name of Receiving endpoint. [W] |
Syntax: add_cx alias test_mgr tx_endp rx_endp
All WanLinks or Virtual Routers in a CD must be on the same Resource (machine). Currently only the 'WIFI' type is supported unless you have the third-party WISER module loaded (contact your sales rep for info.)
The WIFI emulation counts bandwidth when it is transmitted or received (ie, it emulates stations ↔ AP behaviour.) The WISER emulation emulates special military waveforms. An Ethernet Hub emulation is planned for future releases.
Flags are defined as follows. The state field over-rides the running flag if state is not NA. You can enter the value in HEX if you prefix it with 0x.
RUNNING | 0x1 # Set to running state. ERR | 0x2 # Set to kernel mode.
Argument | Description |
---|---|
shelf | Shelf name/id. [R][D:1] |
resource | Resource number. [W] |
alias | Name of Collision Domain. [W] |
type | CD Type: WIFI, WISER_SURFACE, WISER_SURFACE_AIR, WISER_AIR_AIR, WISER_NCW |
bps | Maximum speed at which this collision domain can run. |
report_timer | How often to report stats. |
state | RUNNING or STOPPED (default is RUNNING). Use this to start/stop. |
flags | See above. Leave blank or use 'NA' for no default values. |
Syntax: add_cd shelf resource alias type bps report_timer state flags
Argument | Description |
---|---|
cd | Name of Collision Domain. [R] |
endp | Endpoint name/id. [R] |
Syntax: add_cd_endp cd endp
Argument | Description |
---|---|
cd | Name of Collision Domain. [R] |
vr | Virtual-Router name/ID. [R] |
Syntax: add_cd_vr cd vr
chamber_flags:
PHANTOM | 0x1 # (1) Chamber is not actually here right now. VIRTUAL | 0x2 # (2) No real chamber, open-air grouping of equipment. OPEN | 0x4 # (3) Door is open, no real isolation right now. TT_STOP_NOW | 0x400 # (10) Turntable must immediately stop all movement. TT_OVERRIDE | 0x800 # (11) LANforge should override manual turntable control setting (840B).
Chamber Type:
UNKNOWN | 0 MEDIUM | 1 LARGE | 2 2D-LARGE | 3
Turntable Type:
CT850A | 0 # TCP-IP Connected turntable in CT850A 2D chamber. COMXIM | 1 # ComXim stand-alone USB connected turn-table. CT840A | 2 # Modbus API turntable in CT840A 2D chamber.The resource-id only needs to be set in case there is a serial connection to the chamber turntable or other management control device. For TCP-IP connections, the manager process can connect directly. See add_chamber_cx to configure connection objects.
Argument | Description |
---|---|
name | Name of Chamber, unique identifier. [R] |
flags | Flag field for Chamber, see above. |
isolation | Estimated isolation in db for this chamber. |
chamber_type | Chamber type, see above. Use 1 for Medium if uncertain. |
dut_name1 | Name of first DUT in this chamber or NA |
dut_name2 | Name of second DUT in this chamber or NA |
dut_name3 | Name of third DUT in this chamber or NA |
dut_name4 | Name of fourth DUT in this chamber or NA |
lanforge1 | EID of first LANforge Resource in this chamber or NA |
lanforge2 | EID of second LANforge Resource in this chamber or NA |
lanforge3 | EID of third LANforge Resource in this chamber or NA |
lanforge4 | EID of fourth LANforge Resource in this chamber or NA |
flags_mask | Mask of what flags to pay attention to, or NA for all. |
X | X coordinate to be used when drawn in the LANforge-GUI. |
Y | Y coordinate to be used when drawn in the LANforge-GUI. |
width | Width to be used when drawn in the LANforge-GUI. |
height | Height to be used when drawn in the LANforge-GUI. |
resource | LANforge Resource ID for controlling turn-table via serial protocol. |
turntable_type | Turn-Table type: see above. |
sma_count | Number of SMA connectors on this chamber, default is 16. |
Syntax: add_chamber name flags isolation chamber_type dut_name1 dut_name2 dut_name3 dut_name4 lanforge1 lanforge2 lanforge3 lanforge4 flags_mask X Y width height resource turntable_type sma_count
chamber_cx_flags:
CONNECTED | 0x1 # (1) Connected to something. If flag is not set, connection is open to the air (maybe with antenna) TERMINATED | 0x2 # (2) Connection is terminated, signal shall not pass!
Argument | Description |
---|---|
name | Name of Chamber, unique identifier. [R] |
connection_idx | Connection index, currently up to 32 connections supported (0-31) [R] |
internal | Internal (1) or not (0): Internal connections are no longer supported. |
flags | Flag field for Chamber Connection, see above. |
a_id | EidAntenna in string format for A side connection. |
b_id | EidAntenna in string format for B side connection. |
atten_id | EID for the Attenuator module if one is inline on this connection. |
flags_mask | Mask of what flags to pay attention to, or NA for all. |
min_atten | Specify minimum attenuation in 10ths of a db. Distance logic will not set atten below this. |
zrssi2 | Specify 2.4Ghz zero-attenuation RSSI in 10ths of a db. Distance logic will consider this in its calculations. |
zrssi5 | Specify 5Ghz zero-attenuation RSSI in 10ths of a db. Distance logic will consider this in its calculations. |
Syntax: add_chamber_cx name connection_idx internal flags a_id b_id atten_id flags_mask min_atten zrssi2 zrssi5
Argument | Description |
---|---|
chamber | Chamber Name. [R] |
path | Path Name [R] |
content | [BLANK] will erase all content, any other text will be appended to existing text. Unescaped Value |
Syntax: add_chamber_path chamber path content
dut_flags:
STA_MODE | 0x1 # (1) DUT acts as Station. AP_MODE | 0x2 # (2) DUT acts as AP. INACTIVE | 0x4 # (3) Ignore this in ChamberView, etc WEP | 0x8 # Use WEP encryption on all ssids, deprecated, see add_dut_ssid. WPA | 0x10 # Use WPA encryption on all ssids, deprecated, see add_dut_ssid. WPA2 | 0x20 # Use WPA2 encryption on all ssids, deprecated, see add_dut_ssid. DHCPD-LAN | 0x40 # Provides DHCP server on LAN port DHCPD-WAN | 0x80 # Provides DHCP server on WAN port WPA3 | 0x100 # Use WPA3 encryption on all ssids, deprecated, see add_dut_extras. 11r | 0x200 # Use .11r connection logic on all ssids, deprecated, see add_dut_ssid. EAP-TTLS | 0x400 # Use EAP-TTLS connection logic on all ssids, deprecated, see add_dut_ssid. EAP-PEAP | 0x800 # Use EAP-PEAP connection logic on all ssids, deprecated, see add_dut_ssid. NOT-DHCPCD | 0x1000 # Station/edge device that is NOT using DHCP. # Otherwise, automation logic assumes it is using dhcp client.
Argument | Description |
---|---|
name | Name of DUT, cannot contain '.' [R] |
flags | Flag field for DUT, see above. |
img_file | File-Name for image to represent DUT. |
sw_version | DUT Software Version information |
hw_version | DUT Hardware Version information |
model_num | DUT Model information |
serial_num | DUT Identifier (serial-number, etc) |
serial_port | Resource and Serial port name on LANforge that connects to DUT (1.2.ttyS0). Serial port does not need to be on resource holding wan_port or lan_port |
wan_port | IP/Mask for WAN port |
lan_port | IP/Mask for LAN port |
ssid1 | WiFi SSID that can be used to connect to DUT |
passwd1 | WiFi Password that can be used to connect to DUT |
ssid2 | WiFi SSID that can be used to connect to DUT |
passwd2 | WiFi Password that can be used to connect to DUT |
ssid3 | WiFi SSID that can be used to connect to DUT |
passwd3 | WiFi Password that can be used to connect to DUT |
mgt_ip | Management IP Address to access DUT |
api_id | DUT API Identifier (none specified yet) |
flags_mask | Optional mask to specify what DUT flags are being set. |
antenna_count1 | Antenna count for first radio. |
antenna_count2 | Antenna count for second radio. |
antenna_count3 | Antenna count for third radio. |
bssid1 | BSSID for first radio. |
bssid2 | BSSID for second radio. |
bssid3 | BSSID for third radio. |
top_left_x | X Location for Chamber View. |
top_left_y | X Location for Chamber View. |
eap_id | EAP Identifier, for EAP-PEAP. |
Syntax: add_dut name flags img_file sw_version hw_version model_num serial_num serial_port wan_port lan_port ssid1 passwd1 ssid2 passwd2 ssid3 passwd3 mgt_ip api_id flags_mask antenna_count1 antenna_count2 antenna_count3 bssid1 bssid2 bssid3 top_left_x top_left_y eap_id
ssid_flags:
WEP | 0x8 # Use WEP encryption WPA | 0x10 # Use WPA encryption WPA2 | 0x20 # Use WPA2 encryption WPA3 | 0x100 # Use WPA3 encryption 11r | 0x200 # Use .11r connection logic EAP-TTLS | 0x400 # Use EAP-TTLS connection logic EAP-PEAP | 0x800 # Use EAP-PEAP connection logic
Argument | Description |
---|---|
name | Name of DUT, cannot contain '.' [R] |
ssid_idx | Index of the SSID. Zero-based indexing: (0 - 7) [W] |
ssid | WiFi SSID that can be used to connect to DUT |
passwd | WiFi Password that can be used to connect to DUT |
bssid | BSSID for cooresponding SSID. |
ssid_flags | SSID flags, see above. |
ssid_flags_mask | SSID flags mask |
Syntax: add_dut_ssid name ssid_idx ssid passwd bssid ssid_flags ssid_flags_mask
Argument | Description |
---|---|
dut | DUT Name. [R] |
text | [BLANK] will erase all, any other text will be appended to existing text. Unescaped Value |
Syntax: add_dut_notes dut text
Payload Pattern:
increasing |# bytes start at 00 and increase, wrapping if needed. decreasing |# bytes start at FF and decrease, wrapping if needed. random |# generate a new random payload each time sent. random_fixed |# Means generate one random payload, and send it over # and over again. zeros |# Payload is all zeros (00). ones |# Payload is all ones (FF). PRBS_4_0_3 |# Use linear feedback shift register to generate pseudo random sequence. # First number is bit-length of register, second two are TAPS (zero-based indexs) # Seed value is always 1. PRBS_7_0_6 |# PRBS (see above) PRBS_11_8_10 |# PRBS (see above) PRBS_15_0_14 |# PRBS (see above) custom |# Enter your own payload with the set_endp_payload cmd.
fio_flags:
CHECK_MOUNT | 0x1 # (1) Attempt to verify NFS and SMB mounts match the configured values. AUTO_MOUNT | 0x2 # (2) Attempt to mount with the provided information if not already mounted. AUTO_UNMOUNT | 0x4 # (4) Attempt to un-mount when stopping test. O_DIRECT | 0x8 # (8) Open file with O_DIRECT flag, disables caching. Must use block-size read/write calls. UNLINK_BW | 0x10 # (16) Unlink file before writing. This works around issues with CIFS for some file-servers. O_LARGEFILE | 0x20 # (32) Open files with O_LARGEFILE. This allows greater than 2GB files on 32-bit systems. UNMOUNT_FORCE | 0x40 # (64) Use -f flag when calling umount UNMOUNT_LAZY | 0x80 # (128) Use -l flag when calling umount USE_FSTATFS | 0x100 # (256) Use fstatfs system call to verify file-system type when opening files. # This can take a bit of time on some file systems, but it can be used # to detect un-expected file-system unmounts and such. O_APPEND | 0x200 # (512) Open files for writing with O_APPEND instead # of O_TRUNC. This will cause files to grow ever larger. DO_CRC | 0x400 # calculate 32 bit crc for each read/write SYNC_AFTER_WRITE | 0x800 # call sync(2) after writing each block SYNC_BEFORE_CLOSE | 0x1000 # call sync(2) before closing the file
File Endpoint type:
fe_generic |# Uses unspecified file protocol fe_nfs |# Does an NFSv3 mount fe_nfs4 |# Does an NFSv4 mount fe_cifs |# Does a CIFS (Samba) mount fe_iscsi |# Does a ISCSI mount fe_cifs/ip6 |# Does an IPv6 CIFS mount fe_nfs/ip6 |# Does a NFSv3 IPv6 mount fe_nfs4/ip6 |# Does a NFSv4 IPv6 mount fe_smb2 |# Does a SMB v2.0 mount fe_smb2/ip6 |# Does a SMB v2.0 IPv6 mount fe_smb21 |# Does a SMB v2.1 mount fe_smb21/ip6 |# Does a SMB v2.1 IPv6 mount fe_smb30 |# Does a SMB v3.0 mount fe_smb30/ip6 |# Does a SMB v3.0 IPv6 mount
postexec_cli | nc_show_endp %{alias}
Argument | Description |
---|---|
alias | Name of endpoint. [R] |
shelf | Shelf name/id. [D:1] |
resource | Resource number. |
port | Port number or name. |
type | Endpoint Type (like fe_nfs) |
min_read_rate | Minimum read rate, bits-per-second. |
max_read_rate | Maximum read rate, bits-per-second. |
min_write_rate | Minimum write rate, bits-per-second. |
max_write_rate | Maximum write rate, bits-per-second. |
payload_pattern | Payload pattern, see above. |
directory | The directory to read/write in. Absolute path suggested. |
prefix | The prefix of the file(s) to read/write. |
server_mount | The server to mount, ex: 192.168.100.5/exports/test1 |
mount_options | Optional mount options, passed to the mount command. 'NONE' clears. |
fio_flags | File-IO flags, see above for details. |
mount_dir | Directory to mount/unmount (if blank, will use 'directory'). |
volume | iSCSI volume to mount |
retry_timer | Number of miliseconds to retry errored IO calls before giving up. |
Syntax: add_file_endp alias shelf resource port type min_read_rate max_read_rate min_write_rate max_write_rate payload_pattern directory prefix server_mount mount_options fio_flags mount_dir volume retry_timer
postexec_cli | nc_show_endp %{alias}
Argument | Description |
---|---|
alias | Name of endpoint. [R] |
shelf | Shelf name/id. [D:1] |
resource | Resource number. |
port | Port number or name. |
type | Endpoint Type : gen_generic [D:gen_generic] |
Syntax: add_gen_endp alias shelf resource port type
Add a Layer 4-7 (HTTP, FTP, TELNET, ...) endpoint to the LANforge Manager. This endpoint can then be used to handle URL(s). If the endpoint already exists, then this command may be used to update the values. If you do not wish to change certain fields from the current value, use NA for the value of these fields.
[dl | upl] URL [file-to-upload-from-or-download-to]You need to single quote the whole value. Example download:
'dl http://www.candelatech.com/index.html /tmp/index.html'Example upload:
'ul ftp://www.candelatech.com/uploads /tmp/data.txt'
If you want to upload data, use the ftp protocol. If you want to emulate HTTP form posts, please use a Generic Endpoint.
Downloaded files are typically /dev/null on Linux and NUL on Windows to save space. Multiple Layer 4 endpoints writing to the same file will probably create a corrupt output. Relative file names will be place in either /home/lanforge on Linux or %LOCALAPPDATA%\LANforge-GUI_{ver} on Windows. Note that Windows can make folders under %LOCALAPPDATA% read only so you might want always write your destination files under %TEMP%. LANforge will not expand environmental variables in file names, so instead of writing $TEMP on Linux or %TEMP%\{name} in Windows you would need to write /tmp/{name} or C:\Users\jreynolds\AppData\Local\Temp\{name}.
URL Protocols can be those that curl supports. Here are common examples:
l4_generic | # Layer 4 type
If the url-is-file flag is set, then the URL entered below should be a local file name, and it should contain one or more URLs formatted according to our special syntax:
dl http://www.example.com/ /dev/null ul ftp://www.example.com/uploads /home/lanforge/bigfile.bin dl http://www.example.com/big.png /dev/null
The HTTP and Proxy authenticate methods and other flags are configured together. The USE_PROXY_CACHE is a special flag that lets the endpoint use cache values (for instance, as cached by squid). If this is NOT selected, cached values will not be allowed. Select one or more by adding the values together.
HTTP auth flags:
BASIC | 0x1 # Basic authentication DIGEST | 0x2 # Digest (MD5) authentication GSSNEGOTIATE | 0x4 # GSS authentication NTLM | 0x8 # NTLM authentication
Proxy auth flags: The proxy_auth_type field is overloaded with additional features. Notable is the BIND_DNS option that configures dns lookups to be made from the port interface and not via the default route.
BASIC | 0x1 # 1 Basic authentication DIGEST | 0x2 # 2 Digest (MD5) authentication GSSNEGOTIATE | 0x4 # 4 GSS authentication NTLM | 0x8 # 8 NTLM authentication USE_PROXY_CACHE | 0x20 # 32 Use proxy cache USE_GZIP_COMPRESSION | 0x40 # 64 Use gzip compression USE_DEFLATE_COMPRESSION | 0x80 # 128 Use deflate compression INCLUDE_HEADERS | 0x100 # 256 especially for IMAP BIND_DNS | 0x200 # 512 Make DNS requests go out endpoints Port. USE_IPV6 | 0x400 # 1024 Resolve URL is IPv6. Will use IPv4 if not selected. DISABLE_PASV | 0x800 # 2048 Disable FTP PASV option (will use PORT command) DISABLE_EPSV | 0x1000 # 4096 Disable FTP EPSV option LF_L4_REAL_BROWSER_TEST | 0x2000 # 8192 Enable Real Browser Test MEDIA_PLAYBACKS_RANDOM | 0x4000 # Select random playback between 0 and media_playbacks MEDIA_SEEKS_RANDOM | 0x8000 # Select random media seek count between 0 and media_random_seeks LF_L4_VIDEO_STREAM_TEST | 0x10000 # 65536 Enable Video Stream Test HTTP3_ONLY | 0x20000 # HTTP3 (aka QUIC) support. Requires https URL.
For configuring speeds, the minimum of the URLs per second and the max_speed is used.
A Layer 4 connection is a one-legged cross connect. It is not necessary to create a B-endpoint. After creating your Layer 4 endpoint, create a cross connect with the name as CX_{endpoint name} and rx_endp as NA:
add_l4_endp '{alias}' 1 1 eth1 l4_generic NA 1000 600 'dl http://localhost/ /dev/null' add_cx 'CX_{alias}' default_tm '{alias}' NA
postexec_cli | nc_show_endp %{alias}
Argument | Description |
---|---|
alias | Name of endpoint. [R] |
shelf | Shelf name/id. [D:1] |
resource | Resource number. |
port | Port number or name. |
type | Endpoint Type : l4_generic |
proxy_port | HTTP Proxy port if you are using a proxy. |
timeout | How long to wait for a connection, in milliseconds |
url_rate | How often should we process the URL(s), per 10 minutes.
|
URL | The URL, see syntax above. Can also be a local file. |
proxy_server | The name of our proxy server if using one. |
proxy_userpwd | The user-name and password for proxy authentication, format: user:passwd. |
ssl_cert_fname | Name of SSL Certs file. |
user_agent | User-Agent string. Leave blank for default. Also SMTP-TO: <a@b.com><c@d.com>...<q@x.com> |
proxy_auth_type | Bit-field for allowable proxy-authenticate methods. |
http_auth_type | Bit-field for allowable http-authenticate methods. |
dns_cache_timeout | In seconds, how long to cache DNS lookups. 0 means no caching at all. |
max_speed | In bits-per-second, can rate limit upload or download speed of the URL contents. 0 means infinite. |
block_size | TFTP Block size, in bytes. |
smtp_from | SMTP From address. |
ip_addr | Local IP address, for binding to specific secondary IP. |
quiesce_after | Quiesce test after this many URLs have been processed. |
quiesce_after_sec | Quiesce test after this many seconds have elapsed. |
Syntax: add_l4_endp alias shelf resource port type proxy_port timeout url_rate URL proxy_server proxy_userpwd ssl_cert_fname user_agent proxy_auth_type http_auth_type dns_cache_timeout max_speed block_size smtp_from ip_addr quiesce_after quiesce_after_sec
'0-23', '0,1,2,3,4,5,7' or '1-5,7,20-23'
Channel types (for Digium) are described here:
e&m | # Channel(s) are signalled using E&M signalling (specific # implementation, such as Immediate, Wink, or Feature Group D # are handled by the userspace library). fxsls | # Channel(s) are signalled using FXS Loopstart protocol. fxsgs | # Channel(s) are signalled using FXS Groundstart protocol. fxsks | # Channel(s) are signalled using FXS Koolstart protocol. fxols | # Channel(s) are signalled using FXO Loopstart protocol. fxogs | # Channel(s) are signalled using FXO Groundstart protocol. fxoks | # Channel(s) are signalled using FXO Koolstart protocol. unused | # No signalling is performed, each channel in the list remains idle clear | # Channel(s) are bundled into a single span. No conversion or # signalling is performed, and raw data is available on the master. indclear | # Like 'clear' except all channels are treated individually and # are not bundled. 'bchan' is an alias for this. rawhdlc | # The zaptel driver performs HDLC encoding and decoding on the # bundle, and the resulting data is communicated via the master device. fcshdlc | # The zapdel driver performs HDLC encoding and decoding on the # bundle and also performs incoming and outgoing FCS insertion # and verification. 'dchan' is an alias for this. nethdlc | # The zaptel driver bundles the channels together into an # hdlc network device, which in turn can be configured with # sethdlc (available separately).These are not currently supported:
sf |# Channel(s) are signalled using in-band single freq tone. # Syntax as follows: # channel# → sf:[rxfreq],[rxbw],[rxflag],[txfreq],[txlevel],[txflag] # rxfreq is rx tone freq in hz, rxbw is rx notch (and decode) # bandwith in hz (typically 10.0), rxflag is either 'normal' or # 'inverted', txfreq is tx tone freq in hz, txlevel is tx tone # level in dbm, txflag is either 'normal' or 'inverted'. Set # rxfreq or txfreq to 0.0 if that tone is not desired. dacs |# The zaptel driver cross connects the channels starting at # the channel number listed at the end, after a colon dacsrbs |# The zaptel driver cross connects the channels starting at # the channel number listed at the end, after a colon and # also performs the DACSing of RBS bits.
Argument | Description |
---|---|
alias | Name for this Channel Group. [R] |
shelf | Shelf name/id. [R][D:1] |
resource | Resource number. [W] |
span_num | The span number. First span is 1, second is 2... [W] |
channels | List of channels to add to this group. |
type | The channel-type. Use 'clear' for PPP links. |
MTU | MTU (and MRU) for this channel group. Must be a multiple of the number of channels if configuring a T1 WanLink. |
idle_flag | Idle flag (byte) for this channel group, for instance: 0x7e |
Syntax: add_channel_group alias shelf resource span_num channels type MTU idle_flag
channel_groups selects the hardware resources that the PPP link will use. For Multi-Link PPP, you can select multiple Channel-Groups, otherwise select a single one. If you are entering multiple groups, surround all groups with single quotes, like: 'cg1 cg2 cg3'
mlppp_descriptor should start with 'magic:' and have some ascii-hex trailing it. For instance: magic:00:11:22:33:44 You can use 'NA' if you are not using Multi-Link PPP.
If you need to pass extra arguments to the pppd software, you can add those arguments to the 'extra_args' value. Be sure to surround the input with single quotes so it is parsed correctly by LANforge.
Argument | Description |
---|---|
shelf | Shelf name/id. [R] |
resource | Resource (machine) number. [W] |
unit | Unit number for the PPP link. ie, the 7 in ppp7. [W] |
src_ip | Source IP address for this PPP connection. |
dst_ip | Destination IP address for this PPP connection. |
channel_groups | List of channel groups, see above. |
debug | YES for debug, otherwise debugging for the ppp connection is off. |
auth | YES if you want to authenticate. Default is NO. |
persist | YES if you want to persist the connection. This is suggested. |
lcp_echo_interval | Seconds between LCP echos, suggest 1. |
lcp_echo_failure | LCP echo failures before we determine links is dead, suggest 5. |
holdoff | Seconds between attempt to bring link back up if it dies, suggest 1. |
mlppp_descriptor | A unique key for use with multi-link PPP connections. |
extra_args | Extra arguments to be passed directly to the pppd server. |
transport_type | What sort of transport this ppp link uses. |
pppoe_transport_port | Port number (or name) for underlying PPPoE transport. |
tty_transport_device | TTY device for PPP links associated with TTYs. |
run_time_min_ms | Minimum uptime (ms) for PPP link during an experiment, or 0 for the link to be always up. |
run_time_max_ms | Maximum uptime (ms) for PPP link during an experiment, or 0 for the link to be always up. |
down_time_min_ms | Minimum length of downtime (ms) for PPP link between runs, or 0 for the link to be always up. |
down_time_max_ms | Maximum length of downtime (ms) for PPP link between runs, or 0 for the link to be always up. |
Syntax: add_ppp_link shelf resource unit src_ip dst_ip channel_groups debug auth persist lcp_echo_interval lcp_echo_failure holdoff mlppp_descriptor extra_args transport_type pppoe_transport_port tty_transport_device run_time_min_ms run_time_max_ms down_time_min_ms down_time_max_ms
Input : Enum Val : Shown by nc_show_ports
AUTO | 0 # Best Available 802.11a | 1 # 802.11a b | 2 # 802.11b g | 3 # 802.11g abg | 4 # 802.11abg abgn | 5 # 802.11abgn bgn | 6 # 802.11bgn bg | 7 # 802.11bg abgnAC | 8 # 802.11abgn-AC anAC | 9 # 802.11an-AC an | 10 # 802.11an bgnAC | 11 # 802.11bgn-AC abgnAX | 12 # 802.11abgn-AX # a/b/g/n/AC/AX (dual-band AX) support bgnAX | 13 # 802.11bgn-AX anAX | 14 # 802.11an-AX aAX | 15 # 802.11a-AX (6E disables /n and /ac) abgn7 | 16 # 802.11abgn-EHT # a/b/g/n/AC/AX/EHT (dual-band AX) support bgn7 | 17 # 802.11bgn-EHT an7 | 18 # 802.11an-EHT a7 | 19 # 802.11a-EHT (6E disables /n and /ac)
as_is | 0 # Make no changes to current configuration sta | 1 # Station device, most likely non mobile. The EIDs may specify radio(s) to use. bridged_ap | 2 # AP device in bridged mode. The EIDs may specify radio and bridged port. routed_ap | 3 # AP in routed mode. The EIDs may specify radio and upstream port. upstream | 4 # Upstream server device. The EIDs may specify which ports to use. monitor | 5 # Monitor device/sniffer. The EIDs may specify which radios to use. mobile_sta | 6 # Mobile station device. Expects to connect to DUT AP(s) and upstream LANforge. rdd | 7 # Pair of redirect devices, typically associated with VR to act as traffic endpoint client | 8 # Client-side non-WiFi device (Ethernet port, for instance). bond | 9 # Bonded pair of Ethernet ports. peer | 10 # Edge device, client or server (Ethernet port, for instance). uplink | 11 # Uplink towards rest of network (can go in virtual router and do NAT) vlan | 12 # 802.1q VLAN. Specify VID with the 'freq' option.
Profile Flags:
DHCP-SERVER | 0x1 # This should provide DHCP server. WEP | 0x2 # Use WEP encryption WPA | 0x4 # Use WPA encryption WPA2 | 0x8 # Use WPA2 encryption SKIP-DHCP-ROAM | 0x10 # Ask station to not re-do DHCP on roam. WPA3 | 0x20 # Use WPA3 encryption 11r | 0x40 # Use 802.11r roaming setup. EAP-TTLS | 0x80 # Use 802.1x EAP-TTLS NAT | 0x100 # Enable NAT if this object is in a virtual router EAP-PEAP | 0x200 # Enable EAP-PEAP BSS-TRANS | 0x400 # Enable BSS Transition logic ALLOW-11W | 0x800 # Set 11w (MFP/PMF) to optional. ENABLE-POWERSAVE | 0x1000 # Enable power-save when creating stations. RRM-IGNORE-BEACON-REQ | 0x2000 # Request station ignore RRM beacon measurement request. ADMIN-UP | 0x4000 # Request stations be created admin-up. DISABLE-MLO | 0x8000 # Sta created w/out MLO enabled. SPATIAL-REUSE | 0x10000 # VAP with spatial-reuse enabled (wifi-7 only).For mac-address pattern, release 5.4.1 and higher also supports sub-byte randomizations. For instance, this will randomize just the low 4 bits of the second octet: xx:xx:xx:xx:*4:xx See Also: add_traffic_profile
Argument | Description |
---|---|
name | Profile Name. [R] |
profile_type | Profile type: See above. |
wifi_mode | WiFi Mode for this profile. |
antenna | Antenna count for this profile. |
instance_count | Number of devices (stations, vdevs, etc) |
freq | WiFi frequency to be used, 0 means default. |
ssid | WiFi SSID to be used, [BLANK] means any. |
passwd | WiFi Password to be used (AP Mode), [BLANK] means no password. |
profile_flags | Flags for this profile, see above. |
flags_mask | Specify what flags to set. |
mac_pattern | Optional MAC-Address pattern, for instance: xx:xx:xx:*:*:xx |
bandwidth | 0 (auto), 20, 40, 80, 160 or 320 |
eap_id | EAP Identifier |
alias_prefix | Port alias prefix, aka hostname prefix. |
vid | Vlan-ID (only valid for vlan profiles). |
txpower | WiFi Radio requested txpower. -1 means default. |
Syntax: add_profile name profile_type wifi_mode antenna instance_count freq ssid passwd profile_flags flags_mask mac_pattern bandwidth eap_id alias_prefix vid txpower
Argument | Description |
---|---|
dut | Profile Name. [R] |
text | [BLANK] will erase all, any other text will be appended to existing text. Unescaped Value |
Syntax: add_profile_notes dut text
as_is | 0 # Make no changes to current configuration udp | 1 # tcp | 2 # http | 3 # Not yet implemented https | 4 # Not yet implemented Iperf3-Server | 5 # iperf3 server Iperf3-Client | 6 # iperf3 client ARM-UDP | 7 ARM-TCP | 8 VOIP | 9 MCAST-TX | 10 MCAST-RX | 11 PING | 12 FTP | 13 UDP6 | 14 TCP6 | 15
Traffic Profile Flags:
UP | 0x1 # Upload direction (this not set means download) BI-DIRECTIONAL | 0x2 # Should we do bi-directional traffic? IPERF_UDP | 0x4 # If Iperf, should use UDP. If not set, then will use TCP.See Also: add_profile
Argument | Description |
---|---|
name | Profile Name. [R] |
type | Profile type: See above. |
min_speed | Main-Direction Speed in bps. |
max_speed | Main-Direction Speed in bps. |
min_pdu | Minimum PDU size |
max_pdu | Minimum PDU size |
tos | IP Type-of-Service |
instance_count | Number of connections per device |
traffic_profile_flags | Flags for this profile, none defined at this point. |
traffic_profile_flags_mask | Specify what flags to set. |
min_speed | Opposite-Direction Speed in bps. |
max_speed | Opposite-Direction Speed in bps. |
Syntax: add_traffic_profile name type min_speed max_speed min_pdu max_pdu tos instance_count traffic_profile_flags traffic_profile_flags_mask min_speed max_speed
Argument | Description |
---|---|
dut | Profile Name. [R] |
text | [BLANK] will erase all, any other text will be appended to existing text. Unescaped Value |
Syntax: add_traffic_profile_notes dut text
Argument | Description |
---|---|
type | Text type identifier stream, for instance 'cv-connectivity' [R] |
name | Text name, for instance '2-AP-test-case' [R] |
text | [BLANK] will erase all, any other text will be appended to existing text. Unescaped Value |
Syntax: add_text_blob type name text
Build-out:
133_ft | 0 # 1-133 feet 266_ft | 1 # 122-266 feet 399_ft | 2 # 266-399 feet 533_ft | 3 # 399-533 feet 655_ft | 4 # 533-655 feet -7.5db | 5 # -7.5db (CSU) -15db | 6 # -15db (CSU) -22.5db | 7 # -22.5db (CSU) 0db | 8 # 0db (CSU)
PPP Link Types:
Sangoma_T1 |# Sangoma_E1 |# Digium_T1 |#Framing NOTE: d4 is also known as 'sf' or 'superframe'.
Argument | Description |
---|---|
shelf | Shelf name/id. [R][D:1] |
resource | Resource number. [W] |
type | Currently supported types listed above. [W] |
span_num | The span number. First span is 1, second is 2... [W] |
first_channel | The first DS0 channel for this span. |
timing | Timing: 0 == do not use, 1 == primary, 2 == secondary.. |
buildout | Buildout, Integer, see above. |
framing | Framing: T1: esf or d4. E1: cas or ccs. |
coding | Coding: T1: ami or b8zs. E1: ami or hdb3 |
pci_bus | PCI Bus number, needed for Sangoma resources. |
pci_slot | PCI slot number, needed for Sangoma resources. |
CPU_ID | CPU identifier (A, B, etc) for multiport Sangoma resources. |
MTU | MTU for this span (used by in-band management, if at all). |
Syntax: add_t1_span shelf resource type span_num first_channel timing buildout framing coding pci_bus pci_slot CPU_ID MTU
Argument | Description |
---|---|
alias | Name of endpoint. [R] |
shelf | Shelf name/id. [D:1] |
resource | Resource number. |
port | Port number or name. |
phone_num | Phone number for Endpoint |
rtp_port | RTP port to use for send and receive. |
sip_gateway | SIP Gateway/Proxy Name, this is who to register with, or AUTO |
tx_sound_file | File name containing the sound sample we will be playing. |
rx_sound_file | File name to save received PCM data to. Will be in WAV format, or AUTO |
VAD_timer | How much silence (milliseconds) before VAD is enabled. |
VAD_max_timer | How often should we force a packet, even if VAD is on. |
gateway_port | IP Port for SIP gateway (defaults to 5060). |
display_name | User-Name to be displayed. Use AUTO to display phone number. BT Identifier for Mobile. |
proxy_passwd | Password to be used when registering with proxy/gateway. |
peer_phone_num | Use AUTO to use phone number of peer endpoint, otherwise specify a number: user[@host[:port]] |
auth_user_name | Use this field for authentication user name. AUTO or blank mean use phone number. |
ip_addr | Use this IP for local IP address. Useful when there are multiple IPs on a port. |
mobile_bt_mac | Mobile Bluetooth MAC address in xx:xx:xx:xx:xx:xx format. |
Syntax: add_voip_endp alias shelf resource port phone_num rtp_port sip_gateway tx_sound_file rx_sound_file VAD_timer VAD_max_timer gateway_port display_name proxy_passwd peer_phone_num auth_user_name ip_addr mobile_bt_mac
USE_XORP_OSPF | 0x1 # Enable Xorp router daemon with OSPF (IPv4) protocol USE_XORP_MCAST | 0x2 # Enable Xorp Multicast routing (requires OSPF to be enabled currently) USE_XORP_SHA | 0x4 # Enable Telcordia's Xorp SHA option (requires OSPF to be enabled) USE_IPV6_RADVD | 0x8 # Enable IPv6 RADV Daemon for interfaces in this virtual router. USE_IPV6 | 0x10 # Enable IPv6 OSPF routing for this virtual router. ENABLE_BGP | 0x20 # Set this to zero if you don't want BGP on this VR. 4BYTE_AS_NUMBER | 0x40 # Sets corresponding Xorp flag. ROUTE_REFLECTOR | 0x80 # Act as BGP Route Reflector. BGP_CONFED | 0x100 # Configure BGP in a confederation. BGP_DAMPING | 0x200 # Enable BGP damping section in Xorp configuration file. USE_RIP | 0x400 # Enable RIP routing protocol in Xorp. RIP_ACCEPT_DR | 0x800 # Tell RIP to accept default-routes. USE_XORP_OLSR | 0x1000 # Enable OLSR routing protocol in Xorp.
Argument | Description |
---|---|
alias | Name of virtual router. [R] |
shelf | Shelf name/id. [R][D:1] |
resource | Resource number. [W] |
notes | Notes for this Virtual Router. Put in quotes if the notes include white-space. |
X | X coordinate to be used when drawn in the LANforge-GUI. |
Y | Y coordinate to be used when drawn in the LANforge-GUI. |
width | Width to be used when drawn in the LANforge-GUI. |
height | Height to be used when drawn in the LANforge-GUI. |
flags | Virtual router flags, see above for definitions. |
vr_id | Leave blank, use NA or 0xFFFF unless you are certain of the value you want to enter. |
Syntax: add_vr alias shelf resource notes X Y width height flags vr_id
ENABLE_BGP | 0x20 # Set this to zero if you don't want BGP on this VR. 4BYTE_AS_NUMBER | 0x40 # Sets corresponding Xorp flag. ROUTE_REFLECTOR | 0x80 # Act as BGP Route Reflector. BGP_CONFED | 0x100 # Configure BGP in a confederation. BGP_DAMPING | 0x200 # Enable BGP damping section in Xorp configuration file.
Argument | Description |
---|---|
vr_id | Name of virtual router. [R] |
shelf | Shelf name/id. [R][D:1] |
resource | Resource number. [W] |
bgp_id | BGP Identifier: IPv4 Address |
local_as | BGP Autonomous System number, 1-65535 |
flags | Virtual router BGP flags, see above for definitions. |
cluster_id | Cluster ID, IPv4 Address. Use NA if not clustering. |
confed_id | Confederation ID 1-65535. Use NA if not in a confederation. |
half_life | Halflife in minutes for damping configuration. |
max_suppress | Maximum hold down time in minutes for damping configuration. |
reuse | Route flag damping reuse threshold, in minutes. |
suppress | Route flag damping cutoff threshold, in minutes. |
Syntax: add_vr_bgp vr_id shelf resource bgp_id local_as flags cluster_id confed_id half_life max_suppress reuse suppress
ENABLE_PEER | 0x1 # Set this to zero if you don't want this peer enabled. PEER_CLIENT | 0x2 # Sets corresponding Xorp flag in BGP Peer section. PEER_CONFED_MEMBER | 0x4 # Sets corresponding Xorp flag in BGP Peer section. PEER_UNICAST_V4 | 0x8 # Sets corresponding Xorp flag in BGP Peer section.
Argument | Description |
---|---|
vr_id | Name of virtual router. [R] |
shelf | Shelf name/id. [R][D:1] |
resource | Resource number. [W] |
peer_index | Peer index in this virtual router (0-7). |
flags | Virtual router BGP Peer flags, see above for definitions. |
peer_id | BGP Peer Identifier: IPv4 Address |
as | BGP Peer Autonomous System number, 0-65535 |
local_dev | BGP Peer Local interface. |
nexthop | BGP Peer Nexthop, IPv4 Address. |
holdtime | BGP Peer hold-time. |
delay_open_time | BGP Peer delay open time. |
nexthop6 | BGP Peer IPv6 Nexthop address. |
Syntax: add_bgp_peer vr_id shelf resource peer_index flags peer_id as local_dev nexthop holdtime delay_open_time nexthop6
subnet_0 | 0x1 # Specify subnet 0 subnet_1 | 0x2 # Specify subnet 1 subnet_2 | 0x4 # Specify subnet 2 subnet_3 | 0x8 # Specify subnet 3 subnet_4 | 0x10 # Specify subnet 4 subnet_5 | 0x20 # Specify subnet 5 subnet_6 | 0x40 # Specify subnet 6 subnet_7 | 0x80 # Specify subnet 7 nat_enabled | 0x100 # This connection will NAT outgoing packets dhcpd_enabled | 0x200 # Serve IPv4 DHCP on this interface custom_dhcpd | 0x400 # Use custom DHCP config file use_multicast | 0x800 # Use this interface for multicast and-rp use_vrrp | 0x1000 # Use this interface for VRRP ipv6_enabled | 0x2000 # Serve IPv6 DHCP on this interface
Argument | Description |
---|---|
shelf | Shelf name/id. [R][D:1] |
resource | Resource number. [W] |
vr_name | Virtual Router this endpoint belongs to. Use 'FREE_LIST' to add a stand-alone endpoint. [R][D:FREE_LIST] |
local_dev | Name of port A, the local network device pair. |
local_dev_b | Name of port B for the local redirect device pair. |
remote_dev | Name the remote network device. |
remote_dev_b | Name of port B for the remote network device. |
wanlink | The name of the WanLink that connects the two B ports. |
X | X coordinate to be used when drawn in the LANforge-GUI. |
Y | Y coordinate to be used when drawn in the LANforge-GUI. |
width | Width to be used when drawn in the LANforge-GUI. |
height | Height to be used when drawn in the LANforge-GUI. |
flags | Flags, specify if subnets 0-7 are in use, see above for others. |
subnets | Subnets associated with this link, format: 1.1.1.1/24,1.1.2.1/16... |
nexthop | The next-hop to use when routing packets out this interface. |
dhcp_lease_time | DHCP Lease time (in seconds) |
dhcp_dns | IP Address of DNS server. |
dhcp_min | Minimum IP address range to serve. |
dhcp_max | Minimum IP address range to serve. |
dhcp_domain | DHCP Domain name to serve. |
interface_cost | If using OSPF, this sets the cost for this link (1-65535). |
ospf_area | If using OSPF, this sets the OSPF area for this interface. Default is 0.0.0.0. |
rip_metric | If using RIP, this determines the RIP metric (cost), (1-15, 15 is infinite). |
vrrp_ip | VRRP IPv4 address..ignored if not flagged for VRRP. |
vrrp_ip_prefix | Number of bits in subnet mask, ie 24 for 255.255.255.0 |
vrrp_id | VRRP id, must be unique in this virtual router (1-255) |
vrrp_priority | VRRP Priority (1-255, higher is more priority.) |
vrrp_interval | VRRP broadcast message interval, in seconds (1-255) |
dhcp_dns6 | IPv6 Address of DNS server. |
dhcp_min6 | Minimum IPv6 address to serve. |
dhcp_max6 | Minimum IPv6 address to serve. |
Syntax: add_vrcx shelf resource vr_name local_dev local_dev_b remote_dev remote_dev_b wanlink X Y width height flags subnets nexthop dhcp_lease_time dhcp_dns dhcp_min dhcp_max dhcp_domain interface_cost ospf_area rip_metric vrrp_ip vrrp_ip_prefix vrrp_id vrrp_priority vrrp_interval dhcp_dns6 dhcp_min6 dhcp_max6
Argument | Description |
---|---|
shelf | Shelf name/id. [R][D:1] |
resource | Resource number. [W] |
vr_name | Virtual Router this endpoint belongs to. Use 'FREE_LIST' to add a stand-alone endpoint. [W][D:FREE_LIST] |
local_dev | Name of port A for the connection. |
subnets6 | IPv6 Subnets associated with this link, format: aaaa:bbbb::0/64,cccc:dddd:eeee::0/64... |
nexthop6 | The IPv6 next-hop to use when routing packets out this interface. |
dhcp_ignore1 | MAC address and per 65535 chance MAC should be ignored by DHCPd, format: MAC-prcnt, example: 00:11:22:33:44:55-65535 |
dhcp_ignore2 | MAC address and per 65535 chance MAC should be ignored by DHCPd, format: MAC-prcnt, example: 00:11:22:33:44:55-65535 |
dhcp_ignore3 | MAC address and per 65535 chance MAC should be ignored by DHCPd, format: MAC-prcnt, example: 00:11:22:33:44:55-65535 |
dhcp_ignore4 | MAC address and per 65535 chance MAC should be ignored by DHCPd, format: MAC-prcnt, example: 00:11:22:33:44:55-65535 |
Syntax: add_vrcx2 shelf resource vr_name local_dev subnets6 nexthop6 dhcp_ignore1 dhcp_ignore2 dhcp_ignore3 dhcp_ignore4
Argument | Description |
---|---|
shelf | Shelf name/id. [R][D:1] |
resource | Resource number. [W] |
vr_name | Virtual Router this endpoint belongs to. Use 'FREE_LIST' to add a stand-alone endpoint. [W][D:FREE_LIST] |
local_dev | Name of port A for the local redirect device pair. |
local_dev_b | Name of port B for the local redirect device pair. |
remote_dev | Name of port B for the remote redirect device pair. |
remote_dev_b | Name of port B for the remote redirect device pair. |
wanlink | The name of the WanLink that connects the two B ports. |
interface_cost | If using OSPF, this sets the cost for this link (1-65535). |
Syntax: set_vrcx_cost shelf resource vr_name local_dev local_dev_b remote_dev remote_dev_b wanlink interface_cost
Payload_pattern can be:
increasing | # bytes start at 00 and increase, wrapping if needed decreasing | # bytes start at FF and decrease, wrapping if needed random | # generate a new random payload each time sent random_fixed | # means generate one random payload, and send it over and over again. zeros | # payload is all zeros (00) ones | # payload is all ones (FF) PRBS_4_0_3 | # Use linear feedback shift register to generate pseudo random sequence. # First number is bit-length of register, second two are # TAPS (zero-based indexes). Seed value is always 1. PRBS_7_0_6 | # PRBS (see above) PRBS_11_8_10 | # PRBS (see above) PRBS_15_0_14 | # PRBS (see above) custom | # Enter your own payload with the set_endp_payload cmd.Endpoint Types can be of these types:
lf | # LF protocol lf_udp | # UDP IPv4 connection lf_udp6 | # UDP IPv6 connection lf_tcp | # TCP IPv4 connection lf_tcp6 | # TCP IPv6 connection custom_ether | # LF frames with custom options, use with playback custom_udp | # LF UDP IPv4 frame with custom options custom_tcp | # LF TCP IPv4 frame with custom options mc_udp | # LF Multicast IPv4 custom_mc_udp | # LF Multicast UDP IPv4 lf_sctp | # SCTP IPv4 protocol lf_sctp6 | # SCTP IPv6 protocol
postexec_cli | nc_show_endp %{alias}
Argument | Description |
---|---|
alias | Name of endpoint. [R] |
shelf | Shelf name/id. [D:1] |
resource | Resource number. |
port | Port/Interface name or number. |
type | Endpoint Type: See above. |
ip_port | IP Port: IP port for layer three endpoints. Use -1 to let the LANforge server automatically configure the ip_port. Layer 2 endpoints will ignore this argument. Use 0 for 'ANY', and let the OS choose. |
is_rate_bursty | Yes means bursty, anything else means NO. |
min_rate | Minimum transmit rate (bps), or only rate if not bursty. |
max_rate | Maximum transmit rate (bps), used if in bursty mode. |
is_pkt_sz_random | Yes means use random sized packets, anything else means NO. |
min_pkt | Minimum packet size, including all headers. -1 means AUTO (5.3.2+) [D:-1] |
max_pkt | Maximum packet size, including all headers. 0 means 'same', -1 means AUTO (5.3.2+) [D:0] |
payload_pattern | Payload pattern, see above. |
use_checksum | Yes means checksum the payload, anything else means NO. |
ttl | Time-to-live, used by UDP Multicast Endpoints only. |
send_bad_crc_per_million | If NIC supports it, will randomly send X per million packets with bad ethernet Frame Check Sum. |
multi_conn | If > 0, will create separate process with this many connections per endpoint. See AUTO_HELPER flag |
Syntax: add_endp alias shelf resource port type ip_port is_rate_bursty min_rate max_rate is_pkt_sz_random min_pkt max_pkt payload_pattern use_checksum ttl send_bad_crc_per_million multi_conn
Argument | Description |
---|---|
event_id | Numeric ID for the event to modify, or 'new' if creating a new one. [W][D:new] |
details | Event text description. Cannot include double-quote characters. |
priority | See set_event_priority for available priorities. |
name | Event entity name. |
Syntax: add_event event_id details priority name
Argument | Description |
---|---|
shelf | Shelf number. [R][D:1] |
resource | Resource number. [W] |
port | Name of the bond device. [W] |
network_devs | Comma-separated list of network devices: eth1,eth2,eth3... [W] |
Syntax: add_bond shelf resource port network_devs
none | 0x0 # no features stp_enabled | 0x1 # Enable Spanning Tree Protocol (STP)
Argument | Description |
---|---|
shelf | Shelf number. [R][D:1] |
resource | Resource number. [W] |
port | Name of the bridge device. [W] |
network_devs | Comma-separated list of network devices: eth1,eth2,eth3... |
br_flags | Bridge flags, see above. |
br_priority | Bridge priority, 16-bit number. |
br_aging_time | MAC aging time, in seconds, 32-bit number. |
br_max_age | How long until STP considers a non-responsive bridge dead. |
br_hello_time | How often does the bridge send out STP hello packets. |
br_forwarding_delay | How long to wait until the bridge will start forwarding packets. |
Syntax: add_br shelf resource port network_devs br_flags br_priority br_aging_time br_max_age br_hello_time br_forwarding_delay
Argument | Description |
---|---|
shelf | Shelf number. [R][D:1] |
resource | Resource number. [W] |
port | Port number of an existing Ethernet interface. [W] |
MAC | The MAC address, can also use parent-pattern in 5.3.8 and higher: xx:xx:xx:*:*:xx |
index | Optional: The index of the VLAN, (the 4 in eth0#4) |
old_name | The temporary name, used for configuring un-discovered hardware. |
report_timer | Report timer for this port, leave blank or use NA for defaults. |
flags | 0x1: Create admin-down. |
Syntax: add_mvlan shelf resource port MAC index old_name report_timer flags
To create an redirect-device pair, run this command twice, for example:
add_rdd 1 1 rdd0 rdd1 add_rdd 1 1 rdd1 rdd0
Argument | Description |
---|---|
shelf | Shelf number. [R][D:1] |
resource | Resource number. [W] |
port | Name of the Redirect Device to create. [W] |
peer_ifname | The peer (other) RedirectDevice in this pair. |
report_timer | Report timer for this port, leave blank or use NA for defaults. |
Syntax: add_rdd shelf resource port peer_ifname report_timer
Argument | Description |
---|---|
shelf | Shelf number. [R][D:1] |
resource | Resource number. [W] |
port | Name of the GRE to create, suggested to start with 'gre' [W] |
local_lower_ip | The local lower-level IP to use. |
remote_lower_ip | The remote lower-level IP to use. |
report_timer | Report timer for this port, leave blank or use NA for defaults. |
Syntax: add_gre shelf resource port local_lower_ip remote_lower_ip report_timer
Argument | Description |
---|---|
shelf | Shelf number. [R][D:1] |
resource | Resource number. [W] |
port | Name of network device (Port) to which these IPs will be added. [W] |
ip_list | IP1/prefix,IP2/prefix,...IPZ/prefix. [W] |
Syntax: add_sec_ip shelf resource port ip_list
Argument | Description |
---|---|
shelf | Shelf number. [R][D:1] |
resource | Resource number. [W] |
port | Port number of an existing Ethernet interface. [W] |
vid | The VLAN-ID for this 802.1Q VLAN interface. [W] |
old_name | The temporary name, used for configuring un-discovered hardware. |
report_timer | Report timer for this port, leave blank or use NA for defaults. |
Syntax: add_vlan shelf resource port vid old_name report_timer
freq_24: 16-bit number to specify 2.4Ghz channels to use. OR the values together to choose a list of available channels,
ALL | 0xFFFF # ALL Ch 1 | 0x1 # Channel 1 Ch 2 | 0x2 # Channel 2 Ch 3 | 0x4 # Channel 3
freq_5: See this page for cooresponding frequencies: http://en.wikipedia.org/wiki/List_of_WLAN_channels
Ch 36 | 0x00000001 # Channel 36 5180 Ch 38 | 0x00000002 # Channel 38 5190 Ch 40 | 0x00000004 # Channel 40 5200 Ch 42 | 0x00000008 # Channel 42 5210 Ch 44 | 0x00000010 # Channel 44 5220 Ch 46 | 0x00000020 # Channel 46 5230 Ch 48 | 0x00000040 # Channel 48 5240 Ch 52 | 0x00000080 # Channel 52 5260 Ch 56 | 0x00000100 # Channel 56 5280 Ch 60 | 0x00000200 # Channel 60 5300 Ch 64 | 0x00000400 # Channel 64 5320 Ch 100 | 0x00000800 # Channel 100 5500 Ch 104 | 0x00001000 # Channel 104 5520 Ch 108 | 0x00002000 # Channel 108 5540 Ch 112 | 0x00004000 # Channel 112 5560 Ch 116 | 0x00008000 # Channel 116 5580 Ch 120 | 0x00010000 # Channel 120 5600 Ch 124 | 0x00020000 # Channel 124 5620 Ch 128 | 0x00040000 # Channel 128 5640 Ch 132 | 0x00080000 # Channel 132 5660 Ch 136 | 0x00100000 # Channel 136 5680 Ch 140 | 0x00200000 # Channel 140 5700 Ch 149 | 0x00400000 # Channel 149 5745 Ch 153 | 0x00800000 # Channel 153 5765 Ch 157 | 0x01000000 # Channel 157 5785 Ch 161 | 0x02000000 # Channel 161 5805 Ch 165 | 0x04000000 # Channel 165 5825
Argument | Description |
---|---|
shelf | Shelf number. [R][D:1] |
resource | Resource number. [W] |
venu_id | Number to uniquely identify this venue on this resource. [W] |
x1 | Floating point coordinate for lower-left corner. |
y1 | Floating point coordinate for lower-left corner. |
x2 | Floating point coordinate for upper-right corner. |
y2 | Floating point coordinate for upper-right corner. |
freq_24 | Frequency list for 2.4Ghz band, see above. |
freq_5 | Frequency list for 5Ghz band, see above. |
description | User-supplied description, ie: Big City Ball Park; 47-characters max. |
Syntax: add_venue shelf resource venu_id x1 y1 x2 y2 freq_24 freq_5 description
Flags are currently defined as:
wpa_enable | 0x10 # Enable WPA custom_conf | 0x20 # Use Custom wpa_supplicant config file. wep_enable | 0x200 # Use wpa_supplicant configured for WEP encryption. wpa2_enable | 0x400 # Use wpa_supplicant configured for WPA2 encryption. ht40_disable | 0x800 # Disable HT-40 even if hardware and AP support it. scan_ssid | 0x1000 # Enable SCAN-SSID flag in wpa_supplicant. passive_scan | 0x2000 # Use passive scanning (don't send probe requests). disable_sgi | 0x4000 # Disable SGI (Short Guard Interval). lf_sta_migrate | 0x8000 # OK-To-Migrate (Allow station migration between LANforge radios) verbose | 0x10000 # Verbose-Debug: Increase debug info in wpa-supplicant and hostapd logs. 80211u_enable | 0x20000 # Enable 802.11u (Interworking) feature. 80211u_auto | 0x40000 # Enable 802.11u (Interworking) Auto-internetworking feature. Always enabled currently. 80211u_gw | 0x80000 # AP Provides access to internet (802.11u Interworking) 80211u_additional | 0x100000 # AP requires additional step for access (802.11u Interworking) 80211u_e911 | 0x200000 # AP claims emergency services reachable (802.11u Interworking) 80211u_e911_unauth | 0x400000 # AP provides Unauthenticated emergency services (802.11u Interworking) hs20_enable | 0x800000 # Enable Hotspot 2.0 (HS20) feature. Requires WPA-2. disable_gdaf | 0x1000000 # AP: Disable DGAF (used by HotSpot 2.0). 8021x_radius | 0x2000000 # Use 802.1x (RADIUS for AP). 80211r_pmska_cache | 0x4000000 # Enable oportunistic PMSKA caching for WPA2 (Related to 802.11r). disable_ht80 | 0x8000000 # Disable HT80 (for AC chipset NICs only) ibss_mode | 0x20000000 # Station should be in IBSS mode. osen_enable | 0x40000000 # Enable OSEN protocol (OSU Server-only Authentication) disable_roam | 0x80000000 # Disable automatic station roaming based on scan results. ht160_enable | 0x100000000 # Enable HT160 mode. disable_fast_reauth | 0x200000000 # Disable fast_reauth option for virtual stations. mesh_mode | 0x400000000 # Station should be in MESH mode. power_save_enable | 0x800000000 # Station should enable power-save. May not work in all drivers/configurations. create_admin_down | 0x1000000000 # Station should be created admin-down. wds-mode | 0x2000000000 # WDS station (sort of like a lame mesh), not supported on ath10k no-supp-op-class-ie | 0x4000000000 # Do not include supported-oper-class-IE in assoc requests. May work around AP bugs. txo-enable | 0x8000000000 # Enable/disable tx-offloads, typically managed by set_wifi_txo command use-wpa3 | 0x10000000000 # Enable WPA-3 (SAE Personal) mode. use-bss-transition | 0x80000000000 # Enable BSS transition. disable-twt | 0x100000000000 # Disable TWT mode disable-ofdma | 0x200000000000 # Disable OFDMA mode disable-obss-scan | 0x400000000000 # Disable OBSS SCAN feature in supplicant. ft-roam-over-ds | 0x800000000000 # Roam over DS when AP supports it. rrm-ignore-beacon-req | 0x1000000000000 # Ignore (reject) RRM Beacon measurement request. use-owe | 0x2000000000000 # Enable OWE be320-enable | 0x4000000000000 # Enable 320Mhz mode. disable-mlo | 0x8000000000000 # Disable OFDMA ignore-edca | 0x20000000000000 # Request station to ignore EDCA settings
To set any value to the default (or un-set), use DEFAULT. You may have to reboot the system to have the defaults take affect.
DEFAULT |# Use maximum available speed MCS0-76 |# /n rates [bitmap] |# '0xff 00 ...' to directly specify the MCS bitmap. /b |# 1Mbps, 2Mbps, 5.5 Mbps, 11 Mbps /a/g |# 6 Mbps, 9 Mbps, 12 Mbps, 18 Mbps, 24 Mbps, 36 Mbps, 48 Mbps, 54 Mbps
Input : Enum Val : Shown by nc_show_ports
AUTO | 0 # 802.11g 802.11a | 1 # 802.11a b | 2 # 802.11b g | 3 # 802.11g abg | 4 # 802.11abg abgn | 5 # 802.11abgn bgn | 6 # 802.11bgn bg | 7 # 802.11bg abgnAC | 8 # 802.11abgn-AC anAC | 9 # 802.11an-AC an | 10 # 802.11an bgnAC | 11 # 802.11bgn-AC abgnAX | 12 # 802.11abgn-AX # a/b/g/n/AC/AX (dual-band AX) support bgnAX | 13 # 802.11bgn-AX anAX | 14 # 802.11an-AX aAX | 15 # 802.11a-AX (6E disables /n and /ac) abgn7 | 16 # 802.11abgn-EHT # a/b/g/n/AC/AX/EHT (dual-band AX) support bgn7 | 17 # 802.11bgn-EHT an7 | 18 # 802.11an-EHT a7 | 19 # 802.11a-EHT (6E disables /n and /ac)
preexec_method | baseCheckRadioExists postexec_cli | nc_show_port %{shelf} %{resource} %{sta_name} 0x1For mac-address pattern, release 5.4.1 and higher also supports sub-byte randomizations. For instance, this will randomize just the low 4 bits of the second octet: xx:xx:xx:xx:*4:xx
Argument | Description |
---|---|
shelf | Shelf number. [R][D:1] |
resource | Resource number. [W] |
radio | Name of the physical radio interface, for example: wiphy0 |
sta_name | Name for this Virtual STA, for example: sta0 [W] |
flags | Flags for this interface (see above.) |
ssid | SSID for this Virtual STA. Use [BLANK] for empty SSID. Start with 0x for HEX interpretation. |
nickname | Nickname for this Virtual STA. (No longer used) |
key | Encryption key (WEP, WPA, WPA2, WPA3, etc) for this Virtual STA. Prepend with 0x for ascii-hex input. |
AP | The Access Point BSSID this Virtual STA should be associated with (example: 00:11:22:33:4:55, or DEFAULT for any). |
wpa_cfg_file | WPA Supplicant config file. |
MAC | The MAC address, can also use parent-pattern in 5.3.8 and higher: xx:xx:xx:*:*:xx |
mode | WiFi mode: See above, use the numeric value (0 means AUTO, 1 means 802.11a, etc. [D:0] |
rate | Max rate, see help above. |
MAX_AMSDU | 1 == enabled, 0 == disabled, 0xFF == do not set. |
AMPDU_factor | 0-3, or 0xFF to not set. |
AMPDU_density | 0-7, or 0xFF to not set. |
sta_br_IP | IP Address for station bridging. Set to 0.0.0.0 to use MAC bridging. |
flags_mask | If set, only these flags will be considered. |
ieee80211w | Management Frame Protection: 0: disabled, 1: optional, 2: Required. |
x_coord | Floating point number. |
y_coord | Floating point number. |
z_coord | Floating point number. |
Syntax: add_sta shelf resource radio sta_name flags ssid nickname key AP wpa_cfg_file MAC mode rate MAX_AMSDU AMPDU_factor AMPDU_density sta_br_IP flags_mask ieee80211w x_coord y_coord z_coord
AP flags are currently defined as:
enable_wpa | 0x10 # Enable WPA hostapd_config | 0x20 # Use Custom hostapd config file. enable_80211d | 0x40 # Enable 802.11D to broadcast country-code & channels in VAPs short_preamble | 0x80 # Allow short-preamble pri_sec_ch_enable | 0x100 # Enable Primary/Secondary channel switch. wep_enable | 0x200 # Enable WEP Encryption wpa2_enable | 0x400 # Enable WPA2 Encryption disable_ht40 | 0x800 # Disable HT-40 (will use HT-20 if available). verbose | 0x10000 # Verbose-Debug: Increase debug info in wpa-supplicant and hostapd logs. 80211u_enable | 0x20000 # Enable 802.11u (Interworking) feature. 80211u_auto | 0x40000 # Enable 802.11u (Interworking) Auto-internetworking feature. Always enabled currently. 80211u_gw | 0x80000 # AP Provides access to internet (802.11u Interworking) 80211u_additional | 0x100000 # AP requires additional step for access (802.11u Interworking) 80211u_e911 | 0x200000 # AP claims emergency services reachable (802.11u Interworking) 80211u_e911_unauth | 0x400000 # AP provides Unauthenticated emergency services (802.11u Interworking) hs20_enable | 0x800000 # Enable Hotspot 2.0 (HS20) feature. Requires WPA-2. disable_dgaf | 0x1000000 # AP Disable DGAF (used by HotSpot 2.0). 8021x_radius | 0x2000000 # Use 802.1x (RADIUS for AP). 80211r_pmska_cache | 0x4000000 # Enable oportunistic PMSKA caching for WPA2 (Related to 802.11r). disable_ht80 | 0x8000000 # Disable HT80 (for AC chipset NICs only) 80211h_enable | 0x10000000 # Enable 802.11h (needed for running on DFS channels) Requires 802.11d. osen_enable | 0x40000000 # Enable OSEN protocol (OSU Server-only Authentication) mcast_to_ucast | 0x80000000 # Request AP to translate multicats to unicast before sending to STAs ht160_enable | 0x100000000 # Enable HT160 mode. create_admin_down | 0x1000000000 # Station should be created admin-down. use-wpa3 | 0x10000000000 # Enable WPA-3 (SAE Personal) mode. use-bss-load | 0x20000000000 # Enable BSS Load IE in Beacons and Probe Responses (.11e). use-rrm-report | 0x40000000000 # Enable Radio measurements IE in beacon and probe responses. use-bss-transition | 0x80000000000 # Enable BSS transition. be320-enable | 0x4000000000000 # Enable 320Mhz mode.
Mode options are below:
Input : Enum Val : Shown by nc_show_ports
AUTO | 0 # 802.11g 802.11a | 1 # 802.11a b | 2 # 802.11b g | 3 # 802.11g abg | 4 # 802.11abg abgn | 5 # 802.11abgn bgn | 6 # 802.11bgn bg | 7 # 802.11bg abgnAC | 8 # 802.11abgn-AC anAC | 9 # 802.11an-AC an | 10 # 802.11an bgnAC | 11 # 802.11bgn-AC abgnAX | 12 # 802.11abgn-AX # a/b/g/n/AC/AX (dual-band AX) support bgnAX | 13 # 802.11bgn-AX anAX | 14 # 802.11an-AX aAX | 15 # 802.11a-AX (6E disables /n and /ac) abgn7 | 16 # 802.11abgn-EHT # a/b/g/n/AC/AX/EHT (dual-band AX) support bgn7 | 17 # 802.11bgn-EHT an7 | 18 # 802.11an-EHT a7 | 19 # 802.11a-EHT (6E disables /n and /ac)To set any value to the DEFAULT (or un-set), use DEFAULT. You may have to reboot the system to have the defaults take affect. For mac-address pattern, release 5.4.1 and higher also supports sub-byte randomizations. For instance, this will randomize just the low 4 bits of the second octet: xx:xx:xx:xx:*4:xx
Argument | Description |
---|---|
shelf | Shelf number. [R][D:1] |
resource | Resource number. [W] |
radio | Name of the physical radio interface, for example: wiphy0 [W] |
ap_name | Name for this Virtual AP, for example: vap0 |
flags | Flags for this interface (see above.) |
ssid | SSID for this Virtual AP. |
key | Encryption key for this Virtual AP. Prepend with 0x for ascii-hex representation. |
MAC | The MAC address, can also use parent-pattern in 5.3.8 and higher: xx:xx:xx:*:*:xx |
beacon | The beacon interval, in 1kus (1.024 ms), default 100, range: 15..65535 |
frag_thresh | UN-USED, Was Fragmentation threshold, which is now set with set_wifi_radio, use NA |
custom_cfg | Custom hostapd config file, if you want to craft your own config. |
max_sta | Maximum number of Stations allowed to join this AP (1..2007) |
dtim_period | DTIM period, range 1..255. Default 2. |
mode | WiFi mode: see table |
flags_mask | If set, only these flags will be considered. |
rate | Max rate, see help for add_vsta |
x_coord | Floating point number. |
y_coord | Floating point number. |
z_coord | Floating point number. |
ieee80211w | Management Frame Protection: 0: disabled, 1: optional, 2: Required. |
Syntax: add_vap shelf resource radio ap_name flags ssid key MAC beacon frag_thresh custom_cfg max_sta dtim_period mode flags_mask rate x_coord y_coord z_coord ieee80211w
disable_ht40 | 0x800 # Disable HT-40 even if hardware and AP support it. disable_ht80 | 0x8000000 # Disable HT80 (for AC chipset NICs only) ht160_enable | 0x100000000 # Enable HT160 mode. be320-enable | 0x4000000000000 # Enable 320Mhz mode.
Argument | Description |
---|---|
shelf | Shelf number. [R][D:1] |
resource | Resource number. [W] |
radio | Name of the physical radio interface, for example: wiphy0 |
ap_name | Name for this Monitor interface, for example: moni0 [W] |
flags | Flags for this monitor interface. |
flags_mask | Flags mask for this monitor interface. |
aid | AID, may be used when sniffing on /AX radios. |
bssid | BSSID to use when sniffing on /AX radios, optional. |
Syntax: add_monitor shelf resource radio ap_name flags flags_mask aid bssid
Argument | Description |
---|---|
name | The name of the test manager. Must be unique across test managers. [R] |
Syntax: add_tm name
group_total_rates | 0x4 # Set rates as total for group.See Also: add_tgcx
Argument | Description |
---|---|
name | The name of the connection group. Must be unique across all groups. [R] |
flags | Flags for this group, see above. |
flags_mask | Mask for flags that we care about, use 0xFFFFFFFF or leave blank for all. |
Syntax: add_group name flags flags_mask
Argument | Description |
---|---|
tgname | The name of the connection group. [R] |
cxname | The name of the CX. [R] |
Syntax: add_tgcx tgname cxname
For CPU thread, the value is only used on the A-endpoint. The B-endpoint is always on the same CPU as the A-endpoint.
SHOW_WP | 0x01 # Show WanPaths in wanlink endpoint table in GUI
Argument | Description |
---|---|
alias | Name of endpoint. [R] |
shelf | Shelf name/id. [D:1] |
resource | Resource number. |
port | Port number or name. |
latency | The latency (ms) that will be added to each packet entering this WanLink. |
max_rate | Maximum transmit rate (bps) for this WanLink. |
description | Description for this endpoint, put in single quotes if it contains spaces. |
cpu_id | The CPU/thread that this process should run on (kernel-mode only). |
wle_flags | WanLink Endpoint specific flags, see above. |
Syntax: add_wl_endp alias shelf resource port latency max_rate description cpu_id wle_flags
Argument | Description |
---|---|
wanlink | Name of WanLink to which we are adding this WanPath. [R] |
alias | Name of WanPath. [R] |
speed | The maximum speed this WanLink will accept (bps). |
latency | The base latency added to all packets, in milliseconds (or add 'us' suffix for microseconds) |
max_jitter | The maximum jitter, in milliseconds (or add 'us' suffix for microseconds) |
extra_buffer | The extra amount of bytes to buffer before dropping pkts, in units of 1024, use -1 for AUTO. [D:-1] |
reorder_freq | How often, out of 1,000,000 packets, should we make a packet out of order. |
drop_freq | How often, out of 1,000,000 packets, should we purposefully drop a packet. |
dup_freq | How often, out of 1,000,000 packets, should we purposefully duplicate a packet. |
source_ip | Selection filter: Source IP. |
source_ip_mask | Selection filter: Source IP MASK. |
dest_ip | Selection filter: Destination IP. |
dest_ip_mask | Selection filter: Destination IP MASK. |
playback_capture | ON or OFF, should we play back a WAN capture file? |
playback_capture_file | Name of the WAN capture file to play back. |
playback_loop | Should we loop the playback file, YES or NO or NA. |
ignore_bandwidth | Should we ignore the bandwidth settings from the playback file? YES, NO, or NA. |
ignore_loss | Should we ignore the packet-loss settings from the playback file? YES, NO, or NA. |
ignore_latency | Should we ignore the latency settings from the playback file? YES, NO, or NA. |
ignore_dup | Should we ignore the Duplicate Packet settings from the playback file? YES, NO, or NA. |
jitter_freq | How often, out of 1,000,000 packets, should we apply random jitter. |
min_drop_amt | Minimum amount of packets to drop in a row. Default is 1. [D:1] |
max_drop_amt | Maximum amount of packets to drop in a row. Default is 1. [D:1] |
min_reorder_amt | Minimum amount of packets by which to reorder, Default is 1. [D:1] |
max_reorder_amt | Maximum amount of packets by which to reorder, Default is 10. [D:10] |
drop_every_xth_pkt | YES to periodically drop every Xth pkt, NO to drop packets randomly. |
dup_every_xth_pkt | YES to periodically duplicate every Xth pkt, NO to duplicate packets randomly. |
reorder_every_xth_pkt | YES to periodically reorder every Xth pkt, NO to reorder packets randomly. |
test_mgr | The name of the Test-Manager this WanPath is to use. Leave blank for no restrictions. |
max_lateness | Maximum amount of un-intentional delay before pkt is dropped. Default is AUTO |
follow_binomial | YES to have ok/drop burst lengths follow a binomial distribution. |
Syntax: add_wanpath wanlink alias speed latency max_jitter extra_buffer reorder_freq drop_freq dup_freq source_ip source_ip_mask dest_ip dest_ip_mask playback_capture playback_capture_file playback_loop ignore_bandwidth ignore_loss ignore_latency ignore_dup jitter_freq min_drop_amt max_drop_amt min_reorder_amt max_reorder_amt drop_every_xth_pkt dup_every_xth_pkt reorder_every_xth_pkt test_mgr max_lateness follow_binomial
Argument | Description |
---|---|
cmd | Admin command: resync_clock|write_xorp_cfg|scan_complete|ifup_post_complete|flush_complete|req_migrate|rfgen|chamber|clean_logs|upgrade|mobile|dhcpd |
arg1 | Argument 1: xorp-port | scan-rslts-file | iface-name | iface-eid | rfgen-message | id | log_file_name |
arg2 | Argument 2: scan key | message | angle | dest-radio | adb-filename | lfver | event-id |
arg3 | Argument 3: noprobe | migrate-sta-mac-pattern | adb-key | kver | event-value-1 |
arg4 | Argument 4: table-speed | extra-upgrade-args | event-value-2 |
arg5 | Argument 5: table-tilt |
Syntax: admin cmd arg1 arg2 arg3 arg4 arg5
Argument | Description |
---|---|
shelf | The number of the shelf in question, or 'ALL'. [R][D:ALL] |
resource | The number of the resource in question, or 'ALL'. [W] |
Syntax: apply_vr_cfg shelf resource
Argument | Description |
---|---|
shelf | The number of the shelf in question, or 'ALL'. [R][D:ALL] |
resource | The number of the resource in question, or 'ALL'. [W] |
Syntax: cancel_vr_cfg shelf resource
PORTS_TOO | 0x01 # Clear port and MLO Link counters this CX uses as well. SEND_EVENT | 0x02 # Send event when clearing counters. MLO_LINKS_TOO | 0x04 # Clear MLO link counters even if not clearing port counters.
Argument | Description |
---|---|
cx_name | Name of Cross Connect, or 'all'. Null argument is same as 'all'. [W][D:all] |
clear_flags | Optional argument to control clear logic. |
Syntax: clear_cx_counters cx_name clear_flags
PORTS_TOO | 0x01 # Clear this endpoint's port counters as well. SEND_EVENT | 0x02 # Send event when clearing counters. MLO_LINKS_TOO | 0x04 # Clear MLO link counters even if not clearing port counters.
Argument | Description |
---|---|
endp_name | Name of Endpoint, or 'all'. Null argument is same as 'all'. [W][D:all] |
just_latency | Enter 'YES' if you only want to clear latency counters, and see above for RXGAP. |
incr_seqno | Enter 'YES' if you want the target to increment the cfg-seq-no. |
clear_flags | Optional argument to control clear logic. Ignored if just_latency is specified. |
Syntax: clear_endp_counters endp_name just_latency incr_seqno clear_flags
Argument | Description |
---|---|
cd_name | Name of Collision Domain, or 'all'. Null argument is same as 'all'. [W][D:all] |
Syntax: clear_cd_counters cd_name
PORTS_TOO | 0x01 # Clear this endpoint's port counters as well. SEND_EVENT | 0x02 # Send event when clearing counters.
Argument | Description |
---|---|
name | The name of the connection group. [W] |
Syntax: clear_group name
dhcp4_lease |# Remove dhcp lease files for IPv4 DHCP dhcp6_lease |# Remove dhcp lease files for IPv6 DHCP dhcp_leases |# Remove dhcp lease files for IPv4 and IPv6 DHCP mlo_links |# Clear (just) the MLO link stats.
Argument | Description |
---|---|
shelf | The number of the shelf in question, or 'ALL'. [R][D:1] |
resource | The number of the resource in question, or 'ALL'. [W] |
port | The number of the port in question, or 'ALL'. [W] |
extra | Clear something else instead: dhcp4_lease | dhcp6_lease | dhcp_leases | mlo_links |
Syntax: clear_port_counters shelf resource port extra
Argument | Description |
---|---|
shelf | The number of the shelf in question, or 'ALL'. [R][D:1] |
resource | The number of the resource in question, or 'ALL'. [W] |
Syntax: clear_resource_counters shelf resource
Argument | Description |
---|---|
shelf | Shelf number, or ALL. [R][D:1] |
resource | Resource number, or ALL. [W] |
type | Object type: adb, or ALL. |
id | Object identifier: adb-id, or ALL. |
except_ssid | Do not delete profiles that reference this SSID, NA deletes all. |
Syntax: clear_wifi_profiles shelf resource type id except_ssid
Argument | Description |
---|---|
endp_name | Name of WanLink Endpoint. [W] |
wp_name | Name of WanPath to clear. |
Syntax: clear_wp_counters endp_name wp_name
Argument | Description |
---|---|
shelf | Shelf-ID, only used if discovering Attenuators. [R][D:1] |
resource | Resource ID. Use if discovering Attenuators or ADB devices. [W] |
option | See above. |
Syntax: discover shelf resource option
Diagnostic Types:
NA |# everything (default) alerts |# alert messages license |# license contents counters |# endpoint counters fds |# file descriptors clients |# connected clients endpoints |# list of endpoints shelf |# iobuffer |#
Argument | Description |
---|---|
type | Default (blank) is everything, options: alerts, license, counters, fds, clients, endpoints, shelf, iobuffer. |
arg1 | Optional: Endpoint name to diag. |
Syntax: diag type arg1
Argument | Description |
---|---|
cmd | set/down/timeout/info: What does DHCP want us to do? [W] |
port | Interface name. [W] |
reason | DHCP reason, informational mostly. |
new_ip | New IP address. |
netmask | New subnet mask. |
new_mtu | New MTU. |
new_router | One or more default routers. LANforge will only use the first one. |
new_dns | New DNS server(s) for use by this interface. |
new_ip6 | New Global IPv6 address: ipv6/prefix |
Syntax: notify_dhcp cmd port reason new_ip netmask new_mtu new_router new_dns new_ip6
The results will be associated with the VOIP endpoint and may be displayed with the show_pesq command
Argument | Description |
---|---|
endp_name | Name of Endpoint. [W] |
result_file_name | The name of the file received by the endpoint. [W] |
Syntax: do_pesq endp_name result_file_name
This command creates a prompt on the connected GUI. This command does not transfer files via JSON protocol.
UNLINK_WHEN_DL_COMPLETE | 0x01 # Remove the file once it has been downloaded.
Argument | Description |
---|---|
shelf | Shelf ID [R][D:1] |
card | Resource ID [W] |
cmd | Only 'Download' supported for now, 'Upload' reserved for future use. [W][D:Download] |
filename | File to transfer. [W] |
req_id | Request identifier, uint32. Will be passed back in response frames. |
client_id | Internal use only. |
flags | Options for the file operation, see above. |
Syntax: file shelf card cmd filename req_id client_id flags
Argument | Description |
---|---|
message | Message to show to others currently logged on. Unescaped Value [W] |
Syntax: gossip message
Response: InTxRate=INTEGER
Argument | Description |
---|---|
CX | Cross-connect or Connection-Group name [W] |
AorB | For endpoint a, enter 'A', for endpoint b, enter 'B'. |
Syntax: getintxrate CX AorB
Response: InRxRate=INTEGER
Argument | Description |
---|---|
CX | Cross-connect or Connection-Group name [W] |
AorB | For endpoint a, enter 'A', for endpoint b, enter 'B'. |
Syntax: getinrxrate CX AorB
Response: InRxBps=INTEGER
Argument | Description |
---|---|
CX | Cross-connect or Connection-Group name [W] |
AorB | For endpoint a, enter 'A', for endpoint b, enter 'B'. |
Syntax: getinrxbps CX AorB
Response: TxPkts=INTEGER
Argument | Description |
---|---|
CX | Cross-connect or Connection-Group name [W] |
AorB | For endpoint a, enter 'A', for endpoint b, enter 'B'. |
Syntax: gettxpkts CX AorB
Response: RxPkts=INTEGER
Argument | Description |
---|---|
CX | Cross-connect or Connection-Group name [W] |
AorB | For endpoint a, enter 'A', for endpoint b, enter 'B'. |
Syntax: getrxpkts CX AorB
Response: PktDrops=INTEGER
Argument | Description |
---|---|
CX | Cross-connect or Connection-Group name [W] |
AorB | For AtoB, enter 'B', for BtoA, enter 'A'. |
Syntax: getpktdrops CX AorB
Response: AvgLatency=INTEGER
Argument | Description |
---|---|
CX | Cross-connect or Connection-Group name [W] |
AorB | For AtoB, enter 'B', for BtoA, enter 'A'. |
Syntax: getavglatency CX AorB
Response: RxPortErrPkts=INTEGER
Argument | Description |
---|---|
CX | Cross-connect name [W] |
AorB | For AtoB, enter 'B', for BtoA, enter 'A'. |
Syntax: getrxporterrpkts CX AorB
Response: RxEndpErrPkts=INTEGER
Argument | Description |
---|---|
CX | Cross-connect or Connection-Group name [W] |
AorB | For AtoB, enter 'B', for BtoA, enter 'A'. |
Syntax: getrxendperrpkts CX AorB
Argument | Description |
---|---|
CX | Cross-connect name [W] |
AorB | For endpoint a, enter 'A', for endpoint b, enter 'B'. |
Syntax: getipadd CX AorB
Argument | Description |
---|---|
CX | Cross-connect name |
AorB | For endpoint a, enter 'A', for endpoint b, enter 'B'. |
Syntax: getmask CX AorB
Argument | Description |
---|---|
CX | Cross-connect name [W] |
AorB | For endpoint a, enter 'A', for endpoint b, enter 'B'. |
Syntax: getmac CX AorB
Argument | Description |
---|---|
command | The command to get help for. Can be 'all', or blank. |
Syntax: ? command
Argument | Description |
---|---|
shelf | The number of the shelf in question. [R][D:1] |
resource | The number of the resource in question. [W] |
file_name | The WISER file name for the desired emulation, or 'NA' for empty string. |
node_count | The number of WISER nodes for the desired emulation, or 'NA' for empty string. |
Syntax: init_wiser shelf resource file_name node_count
Operations are defined as follows. - setresourceinfo - devicestats - urlreport
Argument | Description |
---|---|
cmd | Operation that device is requesting |
arg1 | arg1 |
arg2 | arg2 |
arg3 | arg3 |
arg4 | arg4 |
arg5 | arg5 |
arg6 | arg6 |
arg7 | arg7 |
arg8 | arg8 |
arg9 | arg9 |
arg10 | arg10 |
arg11 | arg11 |
arg12 | arg12 |
arg13 | arg13 |
arg14 | arg14 |
arg15 | arg15 |
arg16 | arg16 |
arg17 | arg17 |
arg18 | arg18 |
arg19 | arg19 |
arg20 | arg20 |
Syntax: ios cmd arg1 arg2 arg3 arg4 arg5 arg6 arg7 arg8 arg9 arg10 arg11 arg12 arg13 arg14 arg15 arg16 arg17 arg18 arg19 arg20
Argument | Description |
---|---|
popup | If 'popup', then cause a GUI popup msg, otherwise, just show text. |
show_file | If 'yes', then show the license file, not the parsed license information. |
Syntax: licenses popup show_file
Argument | Description |
---|---|
name | The name of the database to load. (DFLT is the default) [W] |
action | Should be 'append' or 'overwrite'. [W] |
clean_dut | If yes, then DUT will be cleaned up when overwrite is selected, otherwise they will be kept. |
clean_chambers | If yes, then Chambers will be cleaned up when overwrite is selected, otherwise they will be kept. |
clean_profiles | If yes, then clean all profiles when overwrite is selected, otherwise they will be kept. |
Syntax: load name action clean_dut clean_chambers clean_profiles
Argument | Description |
---|---|
name | A single name with no white-spaces (15 characters or less) [W] |
password | Can be blank or 'NA' if no password is set, otherwise must be the password. |
Syntax: login name password
Argument | Description |
---|---|
name | A single name with no white-spaces (15 characters or less) [W] |
password | Can be blank or 'NA' if no password is set, otherwise must be the password. Use IGNORE for no change. |
super_user | 1 If you want this user to have Administrative powers, 0 or blank otherwise. |
Syntax: create_client name password super_user
adb |# journalctl |# hostapd |# lflogs |# supplicant |#
async_feedback | %{user_key}
Argument | Description |
---|---|
shelf | The number of the shelf in question. [R][D:1] |
resource | The number of the resource in question. [W] |
type | journalctl, supplicant, lflogs, adb, hostapd [W] |
identifier | port name or other identifier needed for some types, NA if not used. |
duration | For journalctl, seconds of logs to gather, or NA if not used. |
destination | Where to save the file to on the LANforge resource. If 'stdout', then content will be passed back as a keyed text message. [R] |
user_key | Key to use for keyed-text-message response when using stdout destination [W] |
Syntax: log_capture shelf resource type identifier duration destination user_key
If the second argument exists, it will apply to the entity specified. Without an argument it just modifies the local server in general.
You can enter the value in HEX if you prefix it with 0x.
DIS | 0x1 # disasters (1) ERR | 0x2 # errors (2) WRN | 0x4 # warnings (4) INF | 0x8 # info (8) TRC | 0x10 # function trace (16) DBG | 0x20 # debug (32) SEC | 0x40 # log security violations (64) DB | 0x80 # Database related logging (128) XMT | 0x100 # Output going to clients (256) SCRIPT | 0x400 # Scripting specific stuff (1024) PARSE | 0x800 # PARSE specific (2048) DBG2 | 0x1000 # very verbose logging (4096) LIO | 0x2000 # IO logging (8192) OUT1 | 0x4000 # Some std-out logging (16384) LL_PROF | 0x8000 # Profiling information (32768) CUST1 | 0x10000 # Cust-1, latency info (65536) ALL | 0xFFFFFFFF # Log everything
Argument | Description |
---|---|
level | Integer corresponding to the logging flags. [W] |
target | Options: 'gnu' | [file-endp-name]. |
Syntax: log_level level target
Argument | Description |
---|---|
message | Message to log. Unescaped Value [W] |
Syntax: log_msg message
Syntax: motd
Argument | Description |
---|---|
endpoint | Name of endpoint, or 'all'. [W] |
extra | See above. |
Syntax: nc_show_endpoints endpoint extra
Argument | Description |
---|---|
endpoint | Name of endpoint, or 'all'. [W] |
Syntax: nc_show_pesq endpoint
Probe-Flags options:
WIFI | 0x1 # 1 include wifi stations MII | 0x2 # 2 include MII ETHTOOL | 0x4 # 4 include ethtool results BRIDGE | 0x8 # 8 include bridges EASY_IP_INFO | 0x10 # 16 Everything but gateway information, which is expensive to probe. GW | 0x20 # 32 include gateway information GW_FORCE_REFRESH | 0x40 # 64 Force GW (re)probe. Otherwise, cached values *might* be used.
Argument | Description |
---|---|
shelf | Name/id of the shelf, or 'all'. [R][D:1] |
resource | Resource number, or 'all'. [W] |
port | Port number, or 'all'. [W] |
probe_flags | See above, add them together for multiple probings. Leave blank if you want stats only. |
Syntax: nc_show_ports shelf resource port probe_flags
Probe-Flags options:
WIFI | 0x1 # 1 include wifi stations MII | 0x2 # 2 include MII ETHTOOL | 0x4 # 4 include ethtool results BRIDGE | 0x8 # 8 include bridges EASY_IP_INFO | 0x10 # 16 Everything but gateway information, which is expensive to probe. GW | 0x20 # 32 include gateway information GW_FORCE_REFRESH | 0x40 # 64 Force GW (re)probe. Otherwise, cached values *might* be used.
Argument | Description |
---|---|
shelf | Name/id of the shelf, or 'all'. [R][D:1] |
resource | Resource number, or 'all'. [W] |
port | Port number, or 'all'. [W] |
probe_flags | See above, add them together for multiple probings. Leave blank if you want stats only. |
Syntax: c_show_ports shelf resource port probe_flags
Argument | Description |
---|---|
shelf | Name/id of the shelf, or 'all'. [R][D:1] |
resource | Resource number, or 'all'. [W] |
channel_name | Name of the channel, or 'all'. [W] |
Syntax: nc_show_channel_groups shelf resource channel_name
Argument | Description |
---|---|
shelf | Name/id of the shelf, or 'all'. [R][D:1] |
resource | Resource number, or 'all'. [W] |
span_number | Span-Number of the span, or 'all'. [W] |
Syntax: nc_show_spans shelf resource span_number
Argument | Description |
---|---|
shelf | Name/id of the shelf, or 'all'. [R][D:1] |
resource | Resource number, or 'all'. [W] |
router | Name of the Virtual Router, or 'all'. [W] |
Syntax: nc_show_vr shelf resource router
Argument | Description |
---|---|
shelf | Name/id of the shelf, or 'all'. [R][D:1] |
resource | Resource number, or 'all'. [W] |
cx_name | Name of the Virtual Router Connection, or 'all'. [W] |
Syntax: nc_show_vrcx shelf resource cx_name
Argument | Description |
---|---|
shelf | Name/id of the shelf, or 'all'. [R][D:1] |
resource | Resource number, or 'all'. [W] |
collision_domain | Name of the Collision Domain, or 'all'. [W] |
Syntax: nc_show_cd shelf resource collision_domain
Argument | Description |
---|---|
shelf | Name/id of the shelf, or 'all'. [R][D:1] |
resource | Resource number, or 'all'. [W] |
link_num | Ppp-Link number of the span, or 'all'. [W] |
Syntax: nc_show_ppp_links shelf resource link_num
probe_port 1 1 br0 probe_port.quiet.1.1.3
Argument | Description |
---|---|
shelf | Shelf number. [R][D:1] |
resource | Resource number. [W] |
port | Port number or name [W] |
key | Unique identifier for this request. Usually left blank. Use 'probe_port.quiet.[EID]' to suppress popup. |
Syntax: probe_port shelf resource port key
Argument | Description |
---|---|
shelf | Name/id of the shelf, or 'all'. [R][D:1] |
resource | Resource number, or 'all'. [W] |
Syntax: probe_ports shelf resource
Argument | Description |
---|---|
port | The port in question. [W] |
type | SUNOS, NORMAL, or SECIP..let us know what kind of reset completed. |
extra | IP for SECIP, blank for others. |
Syntax: port_reset_completed port type extra
Syntax: exit
Argument | Description |
---|---|
rpt_dir | Directory in which reports should be saved. [W] |
reporting_on | Should we globally enable/disable reporting. (YES, NO or NA) |
save_endps | Should we save endpoint reports or not. (YES, NO or NA) |
save_resource | Should we save Resource reports or not. (YES, NO or NA) |
save_ports | Should we save Port reports or not. (YES, NO or NA) |
Syntax: report rpt_dir reporting_on save_endps save_resource save_ports
Do not override the default of YES for reset_ospf unless you are certain that is the right thing to do.
The pre_ifdown field controls portal login/logout activity and may not actually cause the lower-level driver information to be reset. If left blank or set to NA, then the port will be reset as described above (and any existing ifdown/up scripts will be aborted), and the portal logout script will not be called. Basic options are as follows:
YES | # (include logout) Call portal-bot.pl ... --logout before going down. P-OUT | # Only call the portal logout (do not reset drivers/supplicant/dhcp) P-IN | # Only call the portal login (do not reset drivers/supplicant/dhcp)
Argument | Description |
---|---|
shelf | Shelf number, or ALL. [R][D:1] |
resource | Resource number, or ALL. [W] |
port | Port number to reset, or ALL. [W] |
reset_ospf | If set to 'NO' or 'NA', then OSPF will not be updated. Otherwise, it will be updated. |
pre_ifdown | See above. Leave blank or use NA if unsure. |
Syntax: reset_port shelf resource port reset_ospf pre_ifdown
Argument | Description |
---|---|
shelf | Shelf number [R][D:1] |
resource | Resource (machine) number. [W] |
span | Serial-Span number to reset. [W] |
Syntax: reset_serial_span shelf resource span
Argument | Description |
---|---|
shelf | Shelf number, or ALL. [R][D:1] |
resource | Resource number, or ALL. [W] |
Syntax: reboot_os shelf resource
Argument | Description |
---|---|
shelf | Shelf number, usually 1 [R][D:1] |
resource | Resource number [W] |
serno | Serial number for requested Attenuator. [W] |
Syntax: rm_attenuator shelf resource serno
Argument | Description |
---|---|
chamber | Chamber name, or 'ALL' [W] |
Syntax: rm_chamber chamber
Argument | Description |
---|---|
chamber | Chamber Name. [W] |
path | Path Name, use 'ALL' to delete all paths. [W] |
Syntax: rm_chamber_path chamber path
Argument | Description |
---|---|
shelf | DUT name, or 'ALL' [W] |
Syntax: rm_dut shelf
Argument | Description |
---|---|
shelf | Shelf number, usually 1 [R][D:1] |
resource | Resource number [W] |
ID | RF Generator ID (serial-number) [W] |
Syntax: rm_rfgen shelf resource ID
Argument | Description |
---|---|
cd | Name of Collision Domain. [W] |
Syntax: rm_cd cd
Argument | Description |
---|---|
cd | Name of Collision Domain. [W] |
endp | Endpoint name/id. [W] |
Syntax: rm_cd_endp cd endp
Argument | Description |
---|---|
cd | Name of Collision Domain. [W] |
endp | Virtual-Router name/id. [W] |
Syntax: rm_cd_vr cd endp
postexec_cli | nc_show_endp all preexec_method | baseCheckEndpExists
Argument | Description |
---|---|
endp_name | Name of the endpoint, or 'YES_ALL'. [W] |
Syntax: rm_endp endp_name
Argument | Description |
---|---|
shelf | Name/id of the shelf, or 'all'. [R][D:1] |
resource | Resource number, or 'all'. [W] |
channel_name | Name of the channel, or 'all'. [W] |
Syntax: rm_channel_group shelf resource channel_name
Argument | Description |
---|---|
event_id | Numeric event-id, or 'all' [W] |
Syntax: rm_event event_id
Argument | Description |
---|---|
name | The name of the connection group. [W] |
Syntax: rm_group name
Argument | Description |
---|---|
name | Profile name, or 'ALL' [W] |
Syntax: rm_profile name
Argument | Description |
---|---|
type | Text Blob type, or 'ALL' [W] |
name | Text Blob Name, or 'ALL' [W] |
Syntax: rm_text_blob type name
Argument | Description |
---|---|
name | Profile name, or 'ALL' [W] |
Syntax: rm_traffic_profile name
Argument | Description |
---|---|
endp | Endpoint name or ID. [W] |
thresh_id | Threshold ID to remove. Use 'all' to remove all. [W] |
Syntax: rm_threshold endp thresh_id
Argument | Description |
---|---|
tgname | The name of the connection group. [W] |
cxname | The name of the CX. [W] |
Syntax: rm_tgcx tgname cxname
Argument | Description |
---|---|
shelf | Shelf number. [R][D:1] |
resource | Resource number, or 'ALL' [W] |
venu_id | Number to uniquely identify this venue on this resource, or 'ALL' [W] |
Syntax: rm_venue shelf resource venu_id
Argument | Description |
---|---|
shelf | Name/id of the shelf, or 'all'. [R][D:1] |
resource | Resource number, or 'all'. [W] |
router_name | Virtual Router name, or 'all'. [W] |
Syntax: rm_vr shelf resource router_name
Argument | Description |
---|---|
shelf | Name/id of the shelf, or 'all'. [R][D:1] |
resource | Resource number, or 'all'. [W] |
connection_name | Virtual Router Connection name, or 'all'. [W] |
vrcx_only | If we should NOT delete underlying auto-created objects, enter 'vrcx_only' here, otherwise leave blank or use NA. |
vr_id | If not removing from the free-list, then supply the virtual-router name/ID here. Leave blank or use NA for free-list. |
Syntax: rm_vrcx shelf resource connection_name vrcx_only vr_id
Argument | Description |
---|---|
shelf | Name/id of the shelf, or 'all'. [R][D:1] |
resource | Resource number, or 'all'. [W] |
span_num | Span-Number of the channel, or 'all'. [W] |
Syntax: rm_span shelf resource span_num
Argument | Description |
---|---|
shelf | Name/id of the shelf. [R][D:1] |
resource | Resource number that holds this PppLink. [W] |
unit_num | Unit-Number for the PppLink to be deleted. [W] |
Syntax: rm_ppp_link shelf resource unit_num
Argument | Description |
---|---|
client_name | Name of the client profile you wish to remove. [W] |
client_password | Client password. Not required if we are super-user. |
Syntax: rm_client client_name client_password
preexec_method | baseCheckCxExists postexec_cli | show_cx all
Argument | Description |
---|---|
test_mgr | Name of test-mgr, or 'all'. [W] |
cx_name | Name of the cross-connect, or 'all'. [W] |
Syntax: rm_cx test_mgr cx_name
Argument | Description |
---|---|
endp_name | Name of the endpoint. [W] |
wp_name | Name of the wanpath. [W] |
Syntax: rm_wanpath endp_name wp_name
Argument | Description |
---|---|
db_name | Name of the database to delete. [W] |
Syntax: rm_db db_name
Argument | Description |
---|---|
shelf | Shelf number. [R][D:1] |
resource | Resource number. [W] |
Syntax: rm_resource shelf resource
preexec_method | baseCheckPortExists postexec_cli | nc_show_ports %{shelf} %{resource} %{port}
Argument | Description |
---|---|
shelf | Shelf number. [R][D:1] |
resource | Resource number. [W] |
port | Name of network device (Port) from which these IPs will be removed. [W] |
ip_list | IP1/prefix,IP2/prefix,...IPZ/prefix, or ALL [W] |
Syntax: rm_sec_ip shelf resource port ip_list
preexec_method | baseCheckPortExists postexec_cli | nc_show_ports %{shelf} %{resource} all
Argument | Description |
---|---|
shelf | Shelf number. [R][D:1] |
resource | Resource number. [W] |
port | Port number or name of the virtual interface. [W] |
Syntax: rm_vlan shelf resource port
Argument | Description |
---|---|
test_mgr | Name of the test manager to be removed. [W] |
Syntax: rm_test_mgr test_mgr
Argument | Description |
---|---|
db_name | The name the backup shall be saved as (blank means dflt) |
Syntax: save db_name
NA | # (or left blank) the system does a full scan dump | # then only cached values are returned trigger freq [freq] | # scan exactly those frequenciesExample of scanning multiple frequencies:
scan 1 1 sta1 NA 'trigger freq 5180 5300'
Argument | Description |
---|---|
shelf | Shelf number. [R][D:1] |
resource | Resource number. [W] |
port | Port number or name of the virtual interface. [W] |
key | Unique identifier for this request. Usually left blank. |
extra | Extra arguments to the scan script, see above. |
Syntax: scan_wifi shelf resource port key extra
If multi_pkts is set to a value greater than 1, that number of identical packets will be sent before creating a new packet. This can significantly increase performance, but at the cost of not having as much accuracy when calculating latency values. It will also cause the 'duplicate packet' to increment.
Armageddon-flags are as follows:
rel_tstamp | 0x400 # Use Relative Timestamps. This will increase performance # but can only work if the 'TSC' clock is stable and both # endpoints are on the same machine. It is difficult for # the code to know if the TSC is stable or not, so we cannot # verify this for you at this time. use_gw_mac | 0x1000 # Use default gateway's MAC for destination MAC. # Dest-MAC must also be set to 'DEFAULT' for # this option to take effect. slow_start | 0x2000 # Use slow-start logic. This ramps up # the speed a bit slower when # starting the endpoint and after a clear of its stats. # With this disabled (the default value), the endpoint # may over-shoot the desired bandwidth for a fraction # of a second causing un-expected stress on the # network under test. udp_checksum | 0x4000 # Use UDP Checksums. use_tcp | 0x8000 # Use TCP instead of UDP protocol. (Note this is NOT stateful TCP!) random_payload | 0x10000 # Use random payload sizes instead of linear increase # between min and max (release 5.3.6+)
Argument | Description |
---|---|
name | Name of the Endpoint we are setting. [R] |
min_pkt_size | Minimum packet size, including all Ethernet headers (but not CRC). |
max_pkt_size | Maximum packet size, including all Ethernet headers (but not CRC). |
udp_src_min | Minimum source UDP port. |
udp_src_max | Maximum source UDP port. |
udp_dst_min | Minimum destination UDP port. |
udp_dst_max | Minimum destination UDP port. |
ip_src_min | Minimum source IP address to use. |
ip_src_max | Maximum source IP address to use. |
ip_dst_min | Minimum destination IP address to use. |
ip_dst_max | Maximum destination IP address to use. |
src_mac_count | How many source MACs to iterate through. |
dst_mac_count | How many destination MACs to iterate through. |
src_mac | The source MAC address. |
dst_mac | The destination MAC address. |
multi_pkts | The number of identical packets to send before creating a new one. |
pkts_to_send | The number of packets to send. Set to zero for infinite. |
arm_flags | Armageddon-related flags, see above for details. |
burst | Burst amount, can significantly improve throughput with some modern drivers, similar to 'multi_pkts', and uses the 'xmit_more' linux skb option. |
Syntax: set_arm_info name min_pkt_size max_pkt_size udp_src_min udp_src_max udp_dst_min udp_dst_max ip_src_min ip_src_max ip_dst_min ip_dst_max src_mac_count dst_mac_count src_mac dst_mac multi_pkts pkts_to_send arm_flags burst
Attenuator Mode:
0 |# Normal 1 |# Pulse mode (API Tech 4205A modules directly connected via USB only)
Argument | Description |
---|---|
shelf | Shelf number, usually 1. [R][D:1] |
resource | Resource number. [W] |
serno | Serial number for requested Attenuator, or 'all'. [W] |
atten_idx | Attenuator index, or 'all'. [W] |
val | Requested attenution in 1/10ths of dB (ddB). START, STOP will operate an attenuator script |
mode | 0 == normal attenuator, 1 == pulse mode (API Tech 4205A modules directly connected via USB only) |
pulse_width_us5 | Pulse width in units of 1/2 micro second. So, if you want 1.5us, use value 3 (0-60000) |
pulse_interval_ms | Time between pulses, in mili-seconds (0-60000). |
pulse_count | Number of pulses (0-255) |
pulse_time_ms | Time interval between pulse groups in miliseconds (1-60000) |
atten_count | For cases where we are creating/setting a phantom attenuator. |
ip_addr | IP address, in case this Attenuator is to be managed over TCP. |
Syntax: set_attenuator shelf resource serno atten_idx val mode pulse_width_us5 pulse_interval_ms pulse_count pulse_time_ms atten_count ip_addr
running | 0x2 # Should we start the RF Generator or not? one-burst | 0x8 # Run for about 1 second and stop. Uses 5-sec sweep time for single pulse train. trials-low | 0x10 # FCC5 enable trials-low trials-center | 0x20 # FCC5 enable trials-center trials-high | 0x40 # FCC5 enable trials-highRadar-Type:
Argument | Description |
---|---|
shelf | Shelf number, usually 1. [R][D:1] |
resource | Resource number. [W] |
id | RF Generator ID (serial number) [W] |
rfgen_flags | RF Generator flags, see above. |
rfgen_flags_mask | Mask of what flags to set, see above. |
pulse_width_us | Requested pulse width, units are in micro-seconds. Fractional units (0.5) accepted. |
pulse_interval_us | Time between pulses, in micro-seconds. |
pulse_count | Number of pulses (0-255). Continuous pairs of pulses for W53. |
sweep_time_ms | Time interval between pulse groups in miliseconds |
freq_khz | Center frequency in Khz |
gain | Main TX/RX Amp, 0 or 14 (dB), default is 14 |
if_gain | Fine-tune TX/RX Gain, 0 - 40 dB |
bb_gain | RX Gain, 0 - 62 in 2dB steps |
radar_type | FCC, ETSI and other RF noise patterns. |
prf1 | ETSI/FCC5/W53 pulse repetition frequency. |
prf2 | ETSI/FCC5 pulse repetition frequency. |
prf3 | ETSI/FCC5 pulse repetition frequency. |
freq_modulation | FCC5B setting, 5-20. |
uut_channel | FCC5 setting, 20, 40, 80 or 160. |
burst_offset | FCC5B burst offset in usec. Blank-time for W53-Chirp. |
long_pulse_width_us | Requested long pulse width for W53 chirp, units are in micro-seconds. |
chirp_width_khz | W53 Chirp width in khz. |
ofdm_header | OFDM header modulation: 0 BPSK, 1 QPSK. |
ofdm_payload | OFDM payload modulation: 0 BPSK, 1 QPSK, 2 8PSK. |
ofdm_t1_on | OFDM time-period one on duration in usec |
ofdm_t1_off | OFDM time-period one off duration in usec |
ofdm_t2_on | OFDM time-period two on duration in usec |
ofdm_t2_off | OFDM time-period two off duration in usec |
ofdm_t3_on | OFDM time-period three on duration in usec |
ofdm_t3_off | OFDM time-period three off duration in usec |
ofdm_duration | OFDM duration in msec |
trigger_dbm | Set the trigger in dBm for the RF analyzer feature (PULSE_DETECT type) |
trigger_amp | Set the trigger amplitude in 1/100 of amp, for the RF analyzer feature (PULSE_DETECT type) |
display | Display to use when launching pulse-detect GUI. |
sample_rate | Tx/Rx sample rate in khz. Use 20000 if unsure. |
Syntax: set_rfgen shelf resource id rfgen_flags rfgen_flags_mask pulse_width_us pulse_interval_us pulse_count sweep_time_ms freq_khz gain if_gain bb_gain radar_type prf1 prf2 prf3 freq_modulation uut_channel burst_offset long_pulse_width_us chirp_width_khz ofdm_header ofdm_payload ofdm_t1_on ofdm_t1_off ofdm_t2_on ofdm_t2_off ofdm_t3_on ofdm_t3_off ofdm_duration trigger_dbm trigger_amp display sample_rate
Argument | Description |
---|---|
shelf | Shelf number, usually 1. [R][D:1] |
resource | Resource number. [W] |
serno | Serial number for requested Attenuator, or 'all'. [W] |
Syntax: blink_attenuator shelf resource serno
Argument | Description |
---|---|
shelf | Shelf number, usually 1. [R][D:1] |
resource | Resource number. [W] |
serno | Serial number for requested Attenuator, or 'all'. [W] |
filename | File to use when uploading to attenuator. |
Syntax: flash_attenuator shelf resource serno filename
Argument | Description |
---|---|
chamber | Chamber name [W] |
turntable | Turn-table address, for instance: 192.168.1.22:3001 |
speed_rpm | Speed in rpm (floating point number is accepted |
position | Absolute position in degrees. |
tilt | Absolute tilt in degrees. |
cur_rotation | Primarily used to store the last known rotation for turntables that do not report absolute position. Use NA or leave blank if unsure. |
Syntax: set_chamber chamber turntable speed_rpm position tilt cur_rotation
Argument | Description |
---|---|
test_mgr | Name of the test manager, or 'all'. [W] |
cx_name | Name of cross-connect, or 'all'. [W] |
milliseconds | Report timer length in milliseconds. [W,250-60000][D:5000] |
CXONLY | If you want to set the timer for ONLY the CX, and not the endpoints, enter 'cxonly'. Otherwise, leave it blank.. |
Syntax: set_cx_report_timer test_mgr cx_name milliseconds CXONLY
Argument | Description |
---|---|
endp_name | Name of endpoint. [W] |
enabled | YES or NO to enable or disable proxying. |
proxy_ip | Proxy IP Address. |
proxy_ip_port | Proxy IP Port. |
Syntax: set_endp_proxy endp_name enabled proxy_ip proxy_ip_port
Argument | Description |
---|---|
endp_name | Name of endpoint. [R] |
milliseconds | Report timer length in milliseconds. [W,250-60000][D:5000] |
Syntax: set_endp_report_timer endp_name milliseconds
RUNNING | # Sets the CX(s) in the running state. SWITCH | # Sets the CX(s) in the running state, stopping any conflicting tests. QUIESCE | # Stop transmitting and gracefully stop cross-connect. STOPPED | # Sets the CX(s) in the stopped state. DELETED | # Deletes the CX(s).SWITCH only works on WanLink cross-connects at this time.
preexec_method | baseCheckCxExists postexec_cli | show_cx %{test_mgr} %{cx_name}
Argument | Description |
---|---|
test_mgr | Name of the test-manager, or 'all'. [W] |
cx_name | Name of the cross-connect, or 'all'. [W] |
cx_state | One of: RUNNING, SWITCH, QUIESCE, STOPPED, or DELETED. [W] |
Syntax: set_cx_state test_mgr cx_name cx_state
Set some extra layer-4 endpoint configuration.
Media source: DASH 1 SMOOTH_STREAMING 2 HLS 3 PROGRESSIVE 4 RTSP 5 Media quality: 4K 0 8K 1 1080p 2 720p 3 360p 4
Argument | Description |
---|---|
alias | Name of endpoint. [R] |
media_source | Specify media source, see above |
media_quality | Specify media quality, see above |
media_playbacks | Maximum number of media playbacks |
media_random_seeks | Maximum number of media random seeks |
duration_min | Minimum duration of media playback, in seconds |
duration_max | Maximum duration of media playback, in seconds |
Syntax: set_l4_endp alias media_source media_quality media_playbacks media_random_seeks duration_min duration_max
Argument | Description |
---|---|
licenses | License keys all appended into a single line. Unescaped Value [W] |
Syntax: set_license licenses
Argument | Description |
---|---|
old_password | Old password, or 'NA' for blank password. [W] |
new_password | New password, or 'NA' for blank password. [W] |
client | Specify the client. If left blank, will use current client. |
Syntax: set_password old_password new_password client
Argument | Description |
---|---|
shelf | Name of the Shelf, or 'all'. [R][D:1] |
resource | Number of the Resource, or 'all'. [W] |
link | Unit Number of the PPP Link, or 'all'. [W] |
ppp_state | One of: RUNNING, STOPPED, or DELETED. [R] |
Syntax: set_ppp_link_state shelf resource link ppp_state
In general, you would want max-station bringup to be less than max-staged-bringup so that multiple radios could bring up stations concurrently.
Device profiles specify high-level behaviour. The value is set as a list of device profile names, each of which may have an optional number of traffic profile names appeneded with a '.' separating them. For example, this would specify two device profiles: '5-STA-AC 5-STA-N' and this would specify each with one or more traffic-profiles: '5-STA-AC.tcp-dl.udp-slow-bi 5-STA-n.slow-tcp-dl'
skip_load_db_on_start | 0x1 # Should we skip loading the DB on start?
RF Path options are below:
LINE_OF_SIGHT | 0 ONE_WALL_SHEETROCK | 1 ONE_WALL_BRICK | 2
Argument | Description |
---|---|
shelf | Name of the Shelf, or all. [R][D:1] |
resource | Number of the Resource, or all. [W] |
max_staged_bringup | Maximum amount of interfaces attempting to come up at once. Default is 50 |
max_trying_ifup | Maximum amount of interfaces running the network config 'ifup' logic. Default is 15 |
max_station_bringup | Maximum amount of stations to bring up per radio per tick. Default is 12. |
device_profiles | List of profiles, see above |
top_left_x | X Location for Chamber View. |
top_left_y | X Location for Chamber View. |
max_helper_count | Maximum number of helper traffic generation processes. 0 means CPU-core-count (AUTO). |
resource_flags | System wide flags, often requires a reboot for changes to take effect. |
resource_flags_mask | What flags to change. If unset, default is all. |
user_name | Store user-name configured for this Resource. Only settable during DB load. |
rf_path | Configure RF path between DUT and this device. See above. |
Syntax: set_resource shelf resource max_staged_bringup max_trying_ifup max_station_bringup device_profiles top_left_x top_left_y max_helper_count resource_flags resource_flags_mask user_name rf_path
NONE | # Delete any existing script. Script2544 | # For RFC 2544 type testing. ScriptHunt | # Hunt for maximum speed with constraints. ScriptWL | # For iterating through WanLink settings ScriptAtten | # For Attenuators only.Flags are defined as:
SCR_STOPPED | 0x1 # Script should NOT have any affect on the endpoint. SCR_NO_KEYED_RPT | 0x2 # Script should NOT send reports to the CLI/GUI. SCR_SYMMETRIC | 0x4 # This script should apply settings to the peer endpoing as well. SCR_HIDE_ITER_DETAILS | 0x8 # Hide iteration detail reports. SCR_HIDE_LEGEND | 0x10 # Don't print the legend in the report. SCR_HIDE_CSV | 0x20 # Don't print the CSV data in the report. SCR_RUN_ON_MGR | 0x40 # Set automatically by LANforge. SCR_COMPLETED | 0x80 # Set automatically by LANforge. SCR_LOOP | 0x100 # Loop script until manually stopped. SCR_SHOW_DUPS | 0x200 # Report duplicate packets. SCR_SHOW_OOO | 0x400 # Report out-of-order packets. SCR_HIDE_HUNT | 0x800 # Hide the individual hunt steps..just show results. SCR_HIDE_LAT | 0x1000 # Hide latency distribution reports. SCR_HIDE_CONSTRAINTS | 0x2000 # Hide constraints messages. SCR_SHOW_ATTENUATION | 0x4000 # Show attenuation packet stats. SCR_USE_MSS | 0x8000 # When setting packet size, set TCP MSS instead if endpoint supports that. SCR_SHOW_GOLDEN_LF | 0x10000 # Add 'golden' LANforge graph for comparison (where available). SCR_SHOW_GOLDEN_3P | 0x20000 # Add 'golden' third-party AP graph for comparison (where available).
run_duration pause_duration rates_a payload_sizes_a constraints report rates_b sizes_b attenuations attenuator
drops,jitter_us,latency_us,max_tx_slowdown,max_failed_ok
steps_completed,steps_failed
run_duration pause_duration constraints payload_sizes_a payload_sizes_b attenuations attenuator
drops,jitter_us,latency_us,max_steps,start_rate,accuracy,is_bps,max_tx_slowdown
run_duration rates latencies jitter drops
run_duration attenuations
Use NA for no changes to existing config, and use NONE if you want the value to be blank.
Argument | Description |
---|---|
endp | Endpoint, Connection Group or Attenuator name or ID. [R] |
name | Script name. [W] |
flags | See above for description of the defined flags. |
type | One of: NONE, Script2544, ScriptHunt, ScriptWL, ScriptAtten |
private | Private encoding for the particular script. |
group_action | How to handle group script operations: ALL, Sequential |
loop_count | How many times to loop before stopping (0 is infinite). |
Syntax: set_script endp name flags type private group_action loop_count
Argument | Description |
---|---|
shelf | Name of the Shelf, or all. [R][D:1] |
resource | Number of the Resource, or all. [W] |
test_id | Up to 15 character identifier. |
Syntax: set_test_id shelf resource test_id
Argument | Description |
---|---|
endp | Endpoint name or ID. [W] |
name | Script name. [W] |
flags | See above for description of the defined flags. |
type | One of: NONE, Script2544, ScriptHunt, ScriptWL |
private | Private encoding for the particular script. |
group_action | All or Sequential. |
loop_count | How many times to loop before stopping (0 is infinite). |
Syntax: rpt_script endp name flags type private group_action loop_count
TX_BPS_RATE_OOR_3S | 0 # tx-bps over last 3 seconds is out of range. RX_BPS_RATE_OOR_3S | 1 # rx-bps over last 3 seconds is out of range. TX_BPS_RATE_OOR_30S | 2 # tx-bps over last 30 seconds is out of range. RX_BPS_RATE_OOR_30S | 3 # rx-bps over last 30 seconds is out of range. TX_BPS_RATE_OOR_1m | 4 # tx-bps over last 1 minute is out of range. RX_BPS_RATE_OOR_1m | 5 # rx-bps over last 1 minute is out of range. NO_RX_SINCE | 6 # Have not received any bytes/packets in specified time. TT_RX_LAT_OOR | 7 # Latency running-average out of range. TT_RX_DROP_OOR | 8 # RX Drop percentage is out of range (per-million).
Use NA for no changes to existing config, and use NONE if you want the value to be blank.
Special thresh_id values to help with flushing entire list of thresholds to remote:
Mark All | -2 # Mark all Delete Marked | -3 # Delete any marked.Setting a threshold will clear the mark.
Argument | Description |
---|---|
endp | Endpoint name or ID. [R] |
thresh_id | Threshold ID. If adding new threshold, use -1, otherwise use correct ID. [W] |
thresh_type | Threshold type, integer, (see above). |
thresh_min | Minimum acceptable value for this threshold. |
thresh_max | Maximum acceptable value for this threshold. |
Syntax: add_threshold endp thresh_id thresh_type thresh_min thresh_max
NOTE: this command is also used for radios dedicated for radar emulation. For adjusting vAPs, only channel, NSS, and txpower are commonly used.
To set any option to default (or un-set value, use DEFAULT. You may have to reboot the system to have the defaults take affect.
Mode options are below:
Input : Enum Val : Shown by nc_show_ports
AUTO | 0 # 802.11g 802.11a | 1 # 802.11a b | 2 # 802.11b g | 3 # 802.11g abg | 4 # 802.11abg abgn | 5 # 802.11abgn bgn | 6 # 802.11bgn bg | 7 # 802.11bg abgnAC | 8 # 802.11abgn-AC anAC | 9 # 802.11an-AC an | 10 # 802.11an bgnAC | 11 # 802.11bgn-AC abgnAX | 12 # 802.11abgn-AX # a/b/g/n/AC/AX (dual-band AX) support bgnAX | 13 # 802.11bgn-AX anAX | 14 # 802.11an-AX aAX | 15 # 802.11a-AX (6E disables /n and /ac) abgn7 | 16 # 802.11abgn-EHT # a/b/g/n/AC/AX/EHT (dual-band AX) support bgn7 | 17 # 802.11bgn-EHT an7 | 18 # 802.11an-EHT a7 | 19 # 802.11a-EHT (6E disables /n and /ac)
Antenna settings determine number of active antennae:
Diversity/All | 0 Fixed-A (1x1) | 1 AB (2x2) | 4 ABC (3x3) | 7 ABCD (4x4) | 8 8x8 (8x8) | 9
Flags are currently defined as:
hw_sim | 0x1 # Create hw-sim virtual radio if radio does not already exist. no_scan_share | 0x00040 # Disable sharing scan results. verbose | 0x10000 # Verbose-Debug: Increase debug info in wpa-supplicant and hostapd logs. no_sw_crypt | 0x20000 # Disable software-crypt for this radio. Disables some virtual-station features. ct-sta-mode | 0x40000 # Enable CT-STA mode if radio supports it. Efficiently replaces sw-crypt in some firmware. firmware_cfg | 0x80000 # Apply firmware config. ignore_radar | 0x200000 # Ignore RADAR events reported by firmware. allow_all_mcs | 0x400000 # Enable MCS otherwise disabled by firmware (ath10k only). no_runtime_pm | 0x800000 # Disable runtime deep sleep mode (mtk7921k only at current) extra_txstatus | 0x1000000 # Enable increased packet tx-stats. May decrease performance. MTK radios only. extra_rxstatus | 0x2000000 # Enable increased packet rx-stats. May decrease performance. MTK radios only. ofdma_stats | 0x4000000 # Enable increased OFDMA statistics. May decrease performance. MTK radios only. txs_all_skb | 0x8000000 # Request TX status for every packet. May decrease performance. MTK radios only. use_syslog | 0x20000000 # Put supplicant logs in syslog instead of a file.
The firmware_cfg flag is not saved in LANforge databases, so if you are reloading databases, you may have to manually re-apply the firmware settings. The config data for the last apply is stored on local disk and used by the driver when it loads on bootup.
const_tx: This is only supported on carl9170 adapters with modified firmware. Contact your supplier if you want more info on this feature.
preexec_method | baseCheckPortExists postexec_cli | nc_show_ports %{shelf} %{resource} %{radio}
max_amsdu: Number of frames for ath10k radios, but for ax200/ax210 radios, the values are: 100: Default (4k for ax200 in current driver) 104: 2Kb 101: 4Kb 102: 8Kb 103: 12Kb
Argument | Description |
---|---|
shelf | Shelf number. [R][D:1] |
resource | Resource number. [W] |
radio | Name of the physical radio interface, for example: wiphy0 [W] |
mode | RF Pattern Generator: WiFi mode for radar emulation, see table. Do not use for vAPs. |
channel | Channel number for this radio device. Frequency takes precedence if both are set to non-default values. 0xFFFF, AUTO or DEFAULT means ANY. |
country | Country number for this radio device. |
frequency | Frequency for this radio. 0xFFFF, AUTO or DEFAULT means ANY. |
frag_thresh | Fragmentation Threshold (256 - 2346, 2346 == disabled). |
rate | No longer used, specify the rate on the virtual station(s) instead. |
rts | The RTS Threshold for this radio (off, or 1-2347). |
txpower | The transmit power setting for this radio. (AUTO for system defaults) |
mac | Used to identify when name cannot be trusted (2.6.34+ kernels). |
antenna | Antenna configuration: 0 Diversity/All, 1 Fixed-A (1x1), 4 AB (2x2), 7 ABC (3x3), 8 ABCD (4x4), 9 8x8 |
flags | Flags for this interface (see above.) |
flags_mask | If set, only these flags will be considered. |
const_tx | RF Pattern Generator: encoded as a single 32-bit integer. See above. |
pulse_width | RF Pattern generator: pulse width in usecs. |
pulse_interval | RF Pattern generator: interval between pulses in usecs. |
vdev_count | Configure radio vdev count. |
peer_count | Number of peer objects for this radio. |
stations_count | Number of stations supported by this radio. |
rate_ctrl_count | Number of rate-ctrl objects for this radio. |
fwname | Firmware name (for example: firmware-5.bin) |
fwver | Firmware API version (for example, 5 if firmware is based on firmware-5.bin |
txdesc_count | Transmit descriptor count for this radio. |
tids_count | TIDs count for this radio. |
skid_limit | Firmware hash-table Skid Limit for this radio. |
active_peer_count | Number of locally-cached peer objects for this radio. |
tx_pulses | Number of pattern pulses per burst for RF noise generator. |
pulse2_interval_us | Pause between pattern burst for RF noise generator. |
max_amsdu | Maximum number of frames per AMSDU that may be transmitted. See above. |
pref_ap | Preferred AP BSSID for all station vdevs on this radio. |
ampdu_factor | ax200/ax210 only, currently. Requires module reload. OS Default: 0xFF |
Syntax: set_wifi_radio shelf resource radio mode channel country frequency frag_thresh rate rts txpower mac antenna flags flags_mask const_tx pulse_width pulse_interval vdev_count peer_count stations_count rate_ctrl_count fwname fwver txdesc_count tids_count skid_limit active_peer_count tx_pulses pulse2_interval_us max_amsdu pref_ap ampdu_factor
Argument | Description |
---|---|
shelf | Shelf number. [R][D:1] |
resource | Resource number. [W] |
port | WiFi interface name or number. [W] |
key_mgmt | Key management: WPA-PSK, WPA-EAP, IEEE8021X, NONE, WPA-PSK-SHA256, WPA-EAP-SHA256 or combo. |
pairwise | Pairwise ciphers: CCMP, TKIP, NONE, or combination. |
group | Group cyphers: CCMP, TKIP, WEP104, WEP40, or combination. |
psk | WPA(2) pre-shared key. If unsure, use this field for any password entry. Prepend with 0x for ascii-hex representation. |
key | WEP key0. This should be entered in ascii-hex. Use this only for WEP. |
ca_cert | CA-CERT file name. |
eap | EAP method: MD5, MSCHAPV2, OTP, GTC, TLS, PEAP, TTLS. |
identity | EAP Identity string. |
anonymous_identity | Anonymous identity string for EAP. |
phase1 | Outer-authentication, ie TLS tunnel parameters. |
phase2 | Inner authentication with TLS tunnel. |
password | EAP Password string. |
pin | EAP-SIM pin string. (For AP, this field is HS20 Operating Class) |
pac_file | EAP-FAST PAC-File name. (For AP, this field is the RADIUS secret password) |
private_key | EAP private key certificate file name. (For AP, this field is HS20 WAN Metrics) |
pk_passwd | EAP private key password. (For AP, this field is HS20 connection capability) |
hessid | 802.11u HESSID (MAC address format) (or peer for WDS stations). |
realm | 802.11u realm: mytelco.com |
client_cert | 802.11u Client cert file: /etc/wpa_supplicant/ca.pem |
imsi | 802.11u IMSI: 310026-000000000 |
milenage | 802.11u milenage: 90dca4eda45b53cf0f12d7c9c3bc6a89:cb9cccc4b9258e6dca4760379fb82 |
domain | 802.11u domain: mytelco.com |
roaming_consortium | 802.11u roaming consortium: 223344 (15 characters max) |
venue_group | 802.11u Venue Group, integer. VAP only. |
venue_type | 802.11u Venue Type, integer. VAP only. |
network_type | 802.11u network type, integer, VAP only. |
ipaddr_type_avail | 802.11u network type available, integer, VAP only. |
network_auth_type | 802.11u network authentication type, VAP only. |
anqp_3gpp_cell_net | 802.11u 3GCPP Cellular Network Info, VAP only. |
Syntax: set_wifi_extra shelf resource port key_mgmt pairwise group psk key ca_cert eap identity anonymous_identity phase1 phase2 password pin pac_file private_key pk_passwd hessid realm client_cert imsi milenage domain roaming_consortium venue_group venue_type network_type ipaddr_type_avail network_auth_type anqp_3gpp_cell_net
freq_24 and freq_5 are used to configure a subset of available channels that can be used. See add_venue for syntax definition.
For stations, the behaviour is thus:
Argument | Description |
---|---|
shelf | Shelf number. [R][D:1] |
resource | Resource number. [W] |
port | WiFi interface name or number. [W] |
req_flush | Set to 1 if you wish to flush changes to kernel now. |
ignore_probe | Per-million: AP ignore probe percentage. |
ignore_auth | Per-million: AP ignore auth request percentage. |
ignore_assoc | Per-million: AP ignore assoc request percentage. |
ignore_reassoc | Per-million: AP ignore re-assoc request percentage. |
corrupt_gtk_rekey_mic | Per-million: AP corrupts GTK Rekey MIC. |
radius_ip | RADIUS server IP Address (AP Only) |
radius_port | RADIUS server IP Port (AP Only) |
freq_24 | Frequency list for 2.4Ghz band, see above. |
freq_5 | Frequency list for 5Ghz band, see above. |
post_ifup_script | Script name with optional args, will run after interface comes up and gets IP. |
ocsp | OCSP settings: 0=disabled, 1=try, but to not require response, 2=require valid OCSP stapling response. |
venue_id | Venue-ID for this wifi device. VAP in same venue will share neigh reports as appropriate. |
sae_pwe | Set SAE-PWE, 0 == hunting-and-pecking, 1 == hash-to-element, 2 allow both. |
initial_band_pref | Initially connect on this band, if available in scan. 0=ignore, 2=2ghz, 5=5ghz, 6=6ghz. |
bss_color | Initial BSS Color requested. Zero means do not use bss-color. |
Syntax: set_wifi_extra2 shelf resource port req_flush ignore_probe ignore_auth ignore_assoc ignore_reassoc corrupt_gtk_rekey_mic radius_ip radius_port freq_24 freq_5 post_ifup_script ocsp venue_id sae_pwe initial_band_pref bss_color
Flags are currently defined as:
enable_agg | 0x1 # Enable aggregation. This can only be enabled on Intel radios (feature disabled for now). block_traffic | 0x2 # Disable all tx/rx traffic from entering/exiting the network stack. enable_ldpc | 0x4 # Enable LDPC wifi feature, should help throughput. enable_stbc | 0x8 # Enable STBC wifi feature. enable_bf | 0x10 # Enable Beamforming.
Argument | Description |
---|---|
shelf | Shelf number. [R][D:1] |
resource | Resource number. [W] |
port | WiFi interface name or number. [W] |
txo_enable | Set to 1 if you wish to enable transmit override, 0 to disable. |
txo_txpower | Configure TX power in db. Use 255 for system defaults. See notes above. |
txo_pream | Select rate preamble: 0 == OFDM, 1 == CCK, 2 == HT, 3 == VHT, 4 == HE_SU, 5 = EHT. |
txo_mcs | Configure the MCS (0-3 for CCK, 0-7 for OFDM, 0-7 for HT, 0-9 for VHT, 0-11 for HE, 0-13 for EHT |
txo_nss | Configure number of spatial streams (0 == nss1, 1 == nss2, ...). |
txo_bw | Configure bandwidth: 0 == 20, 1 == 40, 2 == 80, 3 == 160, 4 == 80+80, 5 = 320. |
txo_retries | Configure number of retries. 0 or 1 means no retries). |
txo_sgi | Guard interval and LTF, see above. |
txo_flags | Specify some additional behaviour. |
txo_flags_mask | Specify which txo_flags should be changed. |
Syntax: set_wifi_txo shelf resource port txo_enable txo_txpower txo_pream txo_mcs txo_nss txo_bw txo_retries txo_sgi txo_flags txo_flags_mask
For the delay options, this will effectively delay the response by a random number of miliseconds between the configured min and max.
This command is primarily for WiFi stations at this time. For AP devices, see the set_wifi_extra2 command.
To specify which packet types are to be affected, set the Corrupt Flags accordingly:
MSG_TYPE_EAPOL | 0x0001 # Any EAPOL message MSG_TYPE_DEAUTH | 0x0002 # de-authentication message MSG_TYPE_EAPOL_1_OF_4 | 0x0004 # EAPOL message 1/4 MSG_TYPE_EAPOL_2_OF_4 | 0x0008 # EAPOL message 2/4 MSG_TYPE_EAPOL_3_OF_4 | 0x0010 # EAPOL message 3/4 MSG_TYPE_EAPOL_4_OF_4 | 0x0020 # EAPOL message 4/4 MSG_TYPE_EAPOL_1_OF_2 | 0x0040 # EAPOL message 1/2 MSG_TYPE_EAPOL_2_OF_2 | 0x0080 # EAPOL message 2/2 MSG_TYPE_EAPOL_KEY_REQ | 0x0100 # EAP Key Request (not sure if this works properly) MSG_TYPE_EAPOL_ASSOC | 0x0200 # EAP Association MST_TYPE_EAPOL_ID_REQ | 0x0400 # EAP Identity request MST_TYPE_EAPOL_ID_RESP | 0x0800 # EAP Identity response MST_TYPE_EAPOL_OTHER_REQ | 0x1000 # EAP Requests that do not match other things. MST_TYPE_EAPOL_OTHER_RESP | 0x2000 # EAP Responses that do not match other things.
Argument | Description |
---|---|
shelf | Shelf number. [R][D:1] |
resource | Resource number. [W] |
port | WiFi interface name or number. [W] |
req_flush | Set to 1 if you wish to flush changes to kernel now. |
ignore_per_mil | Per-million: Station to randomly ignore selected message types by this amount. |
ignore_flags | Specify packet types to ignore (see flags above). |
corrupt_per_mil | Per-million: Station to randomly corrupt selected message types by this amount. |
corrupt_flags | Specify packet types to corrupt (see flags above). |
delay_min | miliseconds: Station to randomly delay processing received messages, min time |
delay_max | miliseconds: Station to randomly delay processing received messages, max time |
delay_flags | Specify packet types to delay (see flags above). |
dup_flags | Specify packet types to duplicate (see flags above). |
dup_per_65535 | Percentage, represented as x per 65535 of packets we should duplicate. |
Syntax: set_wifi_corruptions shelf resource port req_flush ignore_per_mil ignore_flags corrupt_per_mil corrupt_flags delay_min delay_max delay_flags dup_flags dup_per_65535
Argument | Description |
---|---|
shelf | Shelf number. [R][D:1] |
resource | Resource number. [W] |
port | WiFi interface name or number. [W] |
type | NA for now, may specify specific locations later. [D:NA] |
text | [BLANK] will erase all, any other text will be appended to existing text. Unescaped Value [W] |
Syntax: set_wifi_custom shelf resource port type text
Argument | Description |
---|---|
shelf | Shelf number. [R][D:1] |
resource | Resource number. [W] |
port | WiFi interface name or number. [W] |
flags | Currently un-defined, use NA |
post_ifup_script | Script name with optional args, will run after interface comes up and gets IP. Use [BLANK] to clear. Unescaped Value [W] |
Syntax: set_ifup_script shelf resource port flags post_ifup_script
preexec_method | baseCheckEndpExists postexec_cli | nc_show_endpoints %{name}
Argument | Description |
---|---|
name | The name of the endpoint we are configuring. [R] |
mac | The MAC address. Only needed for LANforge protocol Endpoints. |
ip | The IP Address. Used for TCP/IP and UDP/IP protocols. |
min_port | The Minimum IP Port. Used for TCP/IP and UDP/IP protocols. |
max_port | The Maximum IP Port. Used for TCP/IP and UDP/IP protocols. |
Syntax: set_endp_addr name mac ip min_port max_port
Possible values for payload type:
increasing |# bytes start at 00 and increase, wrapping if needed. decreasing |# bytes start at FF and decrease, wrapping if needed. random |# generate a new random payload each time sent. random_fixed |# means generate one random payload, and send it over and over again. zeros |# Payload is all zeros (00). ones |# Payload is all ones (FF). PRBS_4_0_3 |# Use linear feedback shift register to generate pseudo random sequence. # First number is bit-length of register, second two are TAPS (zero-based indexs) # Seed value is always 1. PRBS_7_0_6 |# PRBS (see above) PRBS_11_8_10 |# PRBS (see above) PRBS_15_0_14 |# PRBS (see above) custom |# Enter your own payload with the set_endp_payload
postexec_cli | nc_show_endpoints %{name}
Argument | Description |
---|---|
name | The name of the endpoint we are configuring. [R] |
payload_type | The payload type. See help for add_endp. [W][D:increasing] |
payload | For custom payloads, enter the payload in hex, up to 2048 bytes. Unescaped Value |
Syntax: set_endp_payload name payload_type payload
setsockopt(desc, SOL_SOCKET, SO_RCVBUF, &size, sizeof(size))and the sndbuf will be set similarly:
setsockopt(desc, SOL_SOCKET, SO_SNDBUF, &size, sizeof(size))See the socket man page: man socket for more detailed information about what this means.
conn_timer is used to create TCP connections of short duration. If this is set to some value other than 0xFFFFFFFF, then the connection will be closed and reopened at that duration. Set to a low value for testing firewalls and devices that are interested in connections-per-second.
dst_mac is used for custom-ethernet endpoints that are replaying pkts and my want to re-write the DST MAC as we replay.
postexec_cli | nc_show_endpoints %{name}
Argument | Description |
---|---|
name | The name of the endpoint we are configuring. [R] |
rcvbuf_size | The receive buffer (window) size. Zero for AUTO |
sndbuf_size | The sending buffer (window) size. Zero for AUTO |
min_conn_timer | The minimum duration (in ms) this connection should run before re-establishing. |
pkts_to_send | Number of packets to send before stopping. 0 means infinite. |
dst_mac | Destination MAC address, used for custom Ethernet replays. |
max_conn_timer | The maximum duration (in ms) this connection should run before re-establishing. |
min_reconn_pause | The minimum time between re-connects, in ms. |
max_reconn_pause | The maximum time between re-connects, in ms. |
max_ip_port | The maximum IP Port value. (The value for min ip port is set through the add_endp/ip_port parameter.) If greater than min, each connection will use a random value between min and max. |
conn_timeout | For TCP, the max time in miliseconds to wait for connection to establish. |
tcp_mss | TCP Maximum Segment Size, affects packet size on the wire (88 - 32767). |
tcp_min_delack | NA: No longer supported. |
tcp_max_delack | NA: No longer supported. |
tcp_delack_segs | NA: No longer supported. |
mcast_src_ip | Multicast source address (used in SSM mode, multicast endpoints only) |
mcast_src_port | Multicast source address (used in SSM mode, multicast endpoints only) |
Syntax: set_endp_details name rcvbuf_size sndbuf_size min_conn_timer pkts_to_send dst_mac max_conn_timer min_reconn_pause max_reconn_pause max_ip_port conn_timeout tcp_mss tcp_min_delack tcp_max_delack tcp_delack_segs mcast_src_ip mcast_src_port
CLEAR | 0 # will clear interest SET | 0x1 # set interest flagevents1 values:
Link-Down | 0x000001 # Notify when Interface Link goes DOWN. Link-Up | 0x000002 # Notify when Interface Link goes UP. Custom | 0x000004 # Custom event (generated by USER in GUI or CLI). Resource-Down | 0x000008 # Resource has crashed, rebooted, etc. Resource-Up | 0x000010 # Resource has connected to manager. Endp-Stopped | 0x000020 # Endpoint stopped for some reason. Endp-Started | 0x000040 # Endpoint was started. Disconnect | 0x000080 # WiFi interface disconnected from AP. Connect | 0x000100 # WiFi interface connected to AP. Logout | 0x000200 # CLI/GUI user disconnected from LANforge. Login | 0x000400 # CLI/GUI user connected to LANforge. Stop-Reports | 0x000800 # Stop saving report data files (CSV). Start-Reports | 0x001000 # Start saving report data files (CSV). Cleared | 0x002000 # Counters were cleared for some entity. Link-Errors | 0x004000 # Port shows low-level link errors. DHCP-Fail | 0x008000 # DHCP Failed, maybe out of leases? DHCP-Timeout | 0x010000 # Timed out talking to DHCP server. DHCP4-Error | 0x020000 # DHCP gave out duplicated IP address. DHCP6-Error | 0x040000 # DHCPv6 gave out duplicated IPv6 address. WiFi-Config | 0x080000 # WiFi Configuration Error. Bad-MAC | 0x100000 # Invalid MAC address configured. Migrated | 0x200000 # Port (station network interface) migrated. BAD-TOS | 0x400000 # Endpoint has bad ToS values configured. NO-RX-SINCE | 0x800000 # Endpoint threshold alert. NO-RX-SINCE-CLEARED | 0x1000000 # Endpoint threshold alert cleared. RX-BPS-OOR-3S | 0x2000000 # Endpoint threshold alert. RX-BPS-OOR-3S-CLEARED | 0x4000000 # Endpoint threshold alert cleared. RX-BPS-OOR-30S | 0x8000000 # Endpoint threshold alert. RX-BPS-OOR-30S-CLEARED | 0x10000000 # Endpoint threshold alert cleared. RX-BPS-OOR-1M | 0x20000000 # Endpoint threshold alert. RX-BPS-OOR-1M-CLEARED | 0x40000000 # Endpoint threshold alert cleared. TX-BPS-OOR-3S | 0x80000000 # Endpoint threshold alert.
events2 values:
TX-BPS-OOR-3S-CLEARED | 0x1 # Endpoint threshold alert cleared. TX-BPS-OOR-30S | 0x2 # Endpoint threshold alert. TX-BPS-OOR-30S-CLEARED | 0x4 # Endpoint threshold alert cleared. TX-BPS-OOR-1M | 0x8 # Endpoint threshold alert. TX-BPS-OOR-1M-CLEARED | 0x10 # Endpoint threshold alert cleared. RX-LAT-OOR | 0x20 # Endpoint threshold alert. RX-LAT-OOR-CLEARED | 0x40 # Endpoint threshold alert cleared. RX-DROP-OOR-3S | 0x80 # Endpoint threshold alert. RX-DROP-OOR-3S-CLEARED | 0x100 # Endpoint threshold alert cleared. RX-DROP-OOR-1M | 0x200 # Endpoint threshold alert. RX-DROP-OOR-1M-CLEARED | 0x400 # Endpoint threshold alert cleared. FW-CRASH | 0x800 # Firmware for entity has crashed. FW-FAIL | 0x1000 # Firmware failed powerup, may require reboot. IFUP-FAIL | 0x2000 # IFUP-POST Script returned error code. IFUP-OK | 0x4000 # IFUP-POST Script completed successfully. IFDOWN-FAIL | 0x8000 # IFDOWN-PRE Script (ifup --logout) returned error code. IFDOWN-OK | 0x10000 # IFDOWN-PRE Script (ifup --logout) completed successfully.
events3-4 are currently un-used.
Var1: Currently un-defined.
Argument | Description |
---|---|
ei_flags | Event Interest flags, see above. [W] |
events1 | See description for possible values. |
events2 | See description for possible values. |
events3 | See description for possible values. |
events4 | See description for possible values. |
var1 | Currently un-used. |
event_cnt | Maximum number of events to store. |
Syntax: set_event_interest ei_flags events1 events2 events3 events4 var1 event_cnt
Link-Down | 0 # Notify when Interface Link goes UP. Link-Up | 1 # Notify when Interface Link goes DOWN. Custom | 2 # Custom event (generated by USER in GUI or CLI). Resource-Down | 3 # Resource has crashed, rebooted, etc. Resource-Up | 4 # Resource has connected to manager. Endp-Stopped | 5 # Endpoint stopped for some reason. Endp-Started | 6 # Endpoint was started. Disconnect | 7 # WiFi interface disconnected from AP. Connect | 8 # WiFi interface connected to AP. Logout | 9 # CLI/GUI user disconnected from LANforge. Login | 10 # CLI/GUI user connected to LANforge. Stop-Reports | 11 # Stop saving report data files (CSV). Start-Reports | 12 # Start saving report data files (CSV). Cleared | 13 # Counters were cleared for some entity. Link-Errors | 14 # Port shows low-level link errors. DHCP-Fail | 15 # DHCP Failed, maybe out of leases? DHCP-Timeout | 16 # Timed out talking to DHCP server. DHCP4-Error | 17 # DHCP gave out duplicated IP address. DHCP6-Error | 18 # DHCPv6 gave out duplicated IPv6 address. WiFi-Config | 19 # WiFi Configuration Error. Bad-MAC | 20 # Invalid MAC address configured. Migrated | 21 # Port (station network interface) migrated.Priorities:
AUTO | 0 # Let event creator decide the priority. DEBUG | 1 # INFO | 2 # WARNING | 3 # CRITICAL | 4 # FATAL | 5 #
Argument | Description |
---|---|
event | Number or name for the event, see above. [R,0-21] |
priority | Number or name for the priority. [R,0-5] |
Syntax: set_event_priority event priority
Argument | Description |
---|---|
name | The name of the endpoint we are configuring. [R] |
ttl | Time to live for the multicast packets generated. |
mcast_group | Multicast group IP, ie: 224.1.1.2 IPv6 supported as well. |
mcast_dest_port | Multicast destination IP Port, for example: 55000 |
rcv_mcast | Should we attempt to receive? Values: Yes or No |
Syntax: set_mc_endp name ttl mcast_group mcast_dest_port rcv_mcast
Argument | Description |
---|---|
shelf | Shelf number or alias, can be 'all'. [R][D:1] |
resource | Resource number, or 'all'. [W] |
serno | Serial number for requested ADB device, or 'all'. [W] |
extra | Optional command, see above. |
Syntax: show_adb shelf resource serno extra
Argument | Description |
---|---|
shelf | Shelf number or alias, can be 'all'. [R][D:1] |
resource | Resource number, or 'all'. [W] |
serno | Serial number for requested Cell Emulator, or 'all'. [W] |
Syntax: show_cell_emulator shelf resource serno
Argument | Description |
---|---|
name | Chamber Name or 'ALL'. [W][D:ALL] |
splat | Splat number (lower number = more recent) to view, ALL, or NA |
Syntax: show_chamber name splat
Argument | Description |
---|---|
name | DUT Name or 'ALL'. [W][D:ALL] |
Syntax: show_dut name
Event types:
All |# Shelf |# Card |# Port |# Endp |# CX |# Test_Mgr |# Span |# Channel_Group |# PPP_Link |# PESQ |# CollisionDomain |#
Argument | Description |
---|---|
type | Event type filter. [R] |
shelf | Event shelf filter. |
card | Event resource filter. |
port | Event port filter (can be port name or number). |
endp | Event endpoint filter. |
extra | Extra filter, currently ignored. |
Syntax: show_events type shelf card port endp extra
Alert types:
All |# Shelf |# Card |# Port |# Endp |# CX |# Test_Mgr |# Span |# Channel_Group |# PPP_Link |# PESQ |# CollisionDomain |#
Argument | Description |
---|---|
type | Alert type filter. [R] |
shelf | Alert shelf filter. |
card | Alert resource filter. |
port | Alert port filter (can be port name or number). |
endp | Alert endpoint filter. |
extra | Extra filter, currently ignored. |
Syntax: show_alerts type shelf card port endp extra
Syntax: show_event_interest
Argument | Description |
---|---|
message | Message to show to others currently logged on. Unescaped Value [R] |
Syntax: show_err message
postexec_cli | nc_show_endpoints %{name}
Argument | Description |
---|---|
endp_name | Name of the cross-connect, or 'all'. [R] |
Syntax: start_endp endp_name
Argument | Description |
---|---|
name | Profile Name or 'ALL'. Not specifying a profile is same as 'ALL'. |
Syntax: show_profile name
Argument | Description |
---|---|
type | Text Blob type or 'ALL'. [R] |
name | Text Blob Name or 'ALL'. [R] |
brief | Set to 'brief' for a brief listing of all text blobs. |
Syntax: show_text_blob type name brief
Argument | Description |
---|---|
name | Profile Name or 'ALL'. [R] |
Syntax: show_traffic_profile name
postexec_cli | show_cx %{name}
Argument | Description |
---|---|
name | The name of the connection group. [R] |
Syntax: start_group name
Argument | Description |
---|---|
shelf | Name/id of the shelf. [R][D:1] |
resource | Resource number that holds this PppLink. [W] |
unit_num | Unit-Number for the PppLink to be started. [R] |
Syntax: start_ppp_link shelf resource unit_num
Argument | Description |
---|---|
endp_name | Name of the endpoint, or 'all'. [R] |
Syntax: stop_endp endp_name
Argument | Description |
---|---|
endp_name | Name of the endpoint, or 'all'. [R] |
Syntax: quiesce_endp endp_name
postexec_cli | show_cx %{name} all
Argument | Description |
---|---|
name | The name of the connection group, or 'all' [R] |
Syntax: stop_group name
postexec_cli | show_cx %{name} all
Argument | Description |
---|---|
name | The name of the connection group, or 'all' [R] |
Syntax: quiesce_group name
Argument | Description |
---|---|
shelf | Name/id of the shelf. [R][D:1] |
resource | Resource number that holds this PppLink. [W] |
unit_num | Unit-Number for the PppLink to be stopped. [W] |
Syntax: stop_ppp_link shelf resource unit_num
RFC 1394 standard TOS settings can be entered by name:
LOWDELAY |# THROUGHPUT |# RELIABILITY |# LOWCOST |#
You may also instruct the Endpoint to NOT set any TOS with the TOS keyword: DONT-SET. This will make the Endpoint use the kernel defaults. If you have already set the TOS, then you must stop and restart the Endpoint to have the new default values take affect.
For Priority, please read the Linux socket man page: man 7 socket
Argument | Description |
---|---|
name | The name of the endpoint we are configuring. [R] |
TOS | The Type of Service, can be HEX, see above. |
priority | The socket priority, can be any positive number. |
Syntax: set_endp_tos name TOS priority
Argument | Description |
---|---|
name | The name of the endpoint we are configuring. [R] |
quiesce | The number of seconds to quiesce this endpoint when told to quiesce. [R] |
Syntax: set_endp_quiesce name quiesce
Argument | Description |
---|---|
name | The name of the endpoint we are configuring. [R] |
min_pld_size | The minimum payload size, in bytes. |
max_pld_size | The maximum payload size, in bytes. |
is_random | YES if random, anything else for NO. |
use_checksum | YES if use checksum on payload, anything else for NO. |
Syntax: set_endp_pld_bounds name min_pld_size max_pld_size is_random use_checksum
Argument | Description |
---|---|
name | The name of the endpoint we are configuring. [R] |
min_tx_rate | The minimum transmit rate, in bits per second (bps). |
max_tx_rate | The maximum transmit rate, in bits per second (bps). |
is_bursty | YES if bursty, anything else for NO. |
Syntax: set_endp_tx_bounds name min_tx_rate max_tx_rate is_bursty
Argument | Description |
---|---|
name | The name of the file endpoint we are configuring. [R] |
min_rw_sz | Minimum read/write size, in bytes. |
max_rw_sz | Maximum read/write size, in bytes. |
num_files | Number of files to create when writing. |
min_file_size | The minimum file size, in bytes. |
max_file_size | The maximum file size, in bytes. |
directory | The directory to read/write in. Absolute path suggested. |
prefix | The prefix of the file(s) to read/write. |
io_direction | Should we be reading or writing: options: read, write |
quiesce_after_files | If non-zero, quiesce test after this many files have been read/written. |
Syntax: set_fe_info name min_rw_sz max_rw_sz num_files min_file_size max_file_size directory prefix io_direction quiesce_after_files
set_gen_cmd fio-endp bonnie++ -f -d /mnt/test_fs/ -q
Argument | Description |
---|---|
name | The name of the file endpoint we are configuring. [R] |
command | The rest of the command line arguments. Unescaped Value [R] |
Syntax: set_gen_cmd name command
[default@btbits] set_endp_flag t0100-A Endpoint: Shelf: 1, Card: 1 Port: 6 Endpoint: 1 Type: LANFORGE_UDP Unmanaged(0) DoChecksum(0) KernelMode(0) ClearPortOnStart(0) EnableRndSrcIP(0) EnableLinearSrcIP(0) EnableConcurrentSrcIP(0) UseAutoNAT(0) EnableLinearSrcIPPort(0) QuiesceAfterRange(0) QuiesceAfterDuration(0)Notice how you need to place endpoint-A or endpoint-B to use command.
All endpoints: Unmanaged |# Set endpoint unmanaged DoChecksum |# Enable checksumming KernelMode |# Enable kernel mode ClearPortOnStart |# clear stats on start AdvLatency |# Enable Advanced Latency Reporting, only valid for L3 # endpoints and generic ping endpoints. Layer 3 Endpoints: EnableRndSrcIP |# randomize source IP EnableLinearSrcIP |# linearized source IPs EnableConcurrentSrcIP |# Concurrent source IPs? UseAutoNAT |# NAT friendly behavior EnableLinearSrcIPPort |# linearized IP ports QuiesceAfterRange |# quiesce after range of bytes QuiesceAfterDuration |# quiesce after time period AutoHelper |# Automatically run on helper process EnableTcpNodelay |# Enable no delay with TCP. UseMulticastSSM |# Use Source Specific Multicast. UdpBurst |# Use UDP Bursting UseGRO |# Enable UDP GRO ReplayOverwriteDstMac |# Overwrite the Destination MAC when replaying packets File endpoints: SyncAfterWrite |# Sync after writing to a file SyncBeforeClose |# Sync before closing a file Layer 4 endpoints: UseProxy |# Use Proxy IP if L4 Endpoint GetUrlsFromFile |# Get URL's from file VerifySSLServer |# Veify the SSL sever ReuseSocket |# Reuse current socket L4Enable404 |# Enable L4 Endpoint JSON return status 404 WANlink endpoints: ReplayWlCapture |# Use Replay Capture ReplayLoop |# Replay loop. IgnoreBandwidth |# WANLink behavior replay IgnoreLoss |# Ignore replay loss IgnoreLatency |# Ignore replay latency IgnoreDup |# Ignore replay dup ForcePktGap |# Force packet gap. Used by WANlinks currently. CoupledMode |# Reduces config on a specific endpoint on WANlink PassthroughMode |# Disable and pass packets through one side of WANlink HWPassthroughMode |# Uses hardware pass through similar to PassthroughMode DropXthPkt |# Drop every Nth packet on a WANpath endpoint. This # feature is WANlink endpoint based and not WANpath based. FollowBinomialDist |# Packet drop/ok burst lengths should follow a binomial # distribution. This feature is WANlink endpoint based and # not WANpath based. VoIP endpoints: SavePCM |# Enable to save received bits to file PlayAudio |# Enable to play sound to audio card RcvCallOnly |# Enable to receive calls only, do not originate calls DoNotAnswer |# Do not pick up BindSIP |# if SIP is in DUT, true. Default is false. DoNotRegister |# Used for peer-to-peer calling. If set, consider setting # previous command to true as well, unless calling a non- # LANforge system. SipPortAuto |# Set local SIP port to auto NoSendRtp |# Set to not send RTP PESQ |# Enable PESQ VAD |# Enable VAD NoFastStart |# Set to disable h323 fast start NoTunneling |# Set to disable h323 tunneling PeerNotAuto |# Set if peer phone number is not auto SingleCodec |# Set to only use specified Codec OverrideSdp |# Set to override conneciton info in SDP Mobile |# Set to represent endpoint as cellular-call, hands free API NoBluetooth |# If set, record and play audio options will be through a # wireless connection (bluetooth). NoPlayAudioOverCall |# if set, no audio will be played over call. PingPong |# if set, audio will be played in pingpong manner over Continuous call.
Argument | Description |
---|---|
name | The name of the endpoint we are configuring. [R] |
flag | The name of the flag. [R] |
val | Either 1 (for on), or 0 (for off). [R,0-1] |
Syntax: set_endp_flag name flag val
brief |# Request more abbreviated output to various commands. # If enabled, the 'RSLT>>' CLI response will be hidden, for example. push_endp_rpts |# If enabled, server will send endpoint reports without # being asked. This may be more information than you want! push_all_rpts |# If enabled, server will send port, endpoint, and other # reports without being asked. This can flood scripts if # they are not expecting the input. prompt_newlines |# Add a newline after every prompt. Can help with scripts # that want to handle line-based input. stream_events |# Normally the CLI will not show Events (as seen in the Event # tab in the GUI) as they happen to keep the text output # cleaner. But, this option can be enabled by toggling the # stream_events flag on. request_keyed_text |# Normally most keyed-text events are only sent to the GUI # (binary) clients. Enable 'request_keyed_text' to have these # events sent to the CLI session as well.To get a full listing of options, use the set_flag command without any arguments.
Argument | Description |
---|---|
flag | The name of the flag. [R] |
val | Either 1 (for on), or 0 (for off). [R,0-1] |
client | Specify the user, if it is not the current user. Requires admin privileges. |
Syntax: set_flag flag val client
Argument | Description |
---|---|
shelf | Shelf number for the port to be modified, or SELF. [R][D:1] |
resource | Resource number for the port to be modified. [W] |
lattitude | The lattitude, as read from a GPS device. |
ns | North or South (Latitude). |
longitude | The longitude, as ready from a GPS device. |
ew | East or west (Longitude). |
altitude | Altitude, assumes units are Meters. |
Syntax: set_gps_info shelf resource lattitude ns longitude ew altitude
Polling Modes:
polling |# push |#
Argument | Description |
---|---|
mode | 'polling' or 'push'. [R] |
Syntax: set_poll_mode mode
In order for this command to succeed the Endpoints which are using the port must not be running. Endpoints which use IP will be updated automatically with the appropriate information if the port is modified.
If you do not wish to modify one or more of the settings, enter 'NA' instead of a real value.
For the flags entries, add up as many flags as you wish to set, and enter the sum. For example, if you want to set flag 1, 2, and 8, then enter: 11, or 0xB.
When setting the link speed with current_flags, use one of the Fixed flags and don't set auto-negotiate for fixed mode, or set as many of the advert flags as you wish and set auto-negotiate for auto-negotiate mode.
Normally, you will advertise everything your resource is capable of.
current_flags can be:
if_down | 0x1 # Interface Down fixed_10bt_hd | 0x2 # Fixed-10bt-HD (half duplex) fixed_10bt_fd | 0x4 # Fixed-10bt-FD fixed_100bt_hd | 0x8 # Fixed-100bt-HD fixed_100bt_fd | 0x10 # Fixed-100bt-FD auto_neg | 0x100 # auto-negotiate adv_10bt_hd | 0x100000 # advert-10bt-HD adv_10bt_fd | 0x200000 # advert-10bt-FD adv_100bt_hd | 0x400000 # advert-100bt-HD adv_100bt_fd | 0x800000 # advert-100bt-FD adv_flow_ctl | 0x8000000 # advert-flow-control promisc | 0x10000000 # PROMISC use_dhcp | 0x80000000 # USE-DHCP adv_2.5g_fd | 0x400000000 # advert-2.5G-FD adv_10g_fd | 0x800000000 # advert-10G-FD tso_enabled | 0x1000000000 # TSO-Enabled lro_enabled | 0x2000000000 # LRO-Enabled gro_enabled | 0x4000000000 # GRO-Enabled ufo_enabled | 0x8000000000 # UFO-Enabled gso_enabled | 0x10000000000 # GSO-Enabled use_dhcpv6 | 0x20000000000 # USE-DHCPv6 rxfcs | 0x40000000000 # RXFCS no_dhcp_rel | 0x80000000000 # No-DHCP-Release staged_ifup | 0x100000000000 # Staged-IFUP http_enabled | 0x200000000000 # Enable HTTP (nginx) service for this port. ftp_enabled | 0x400000000000 # Enable FTP (vsftpd) service for this port. aux_mgt | 0x800000000000 # Enable Auxillary-Management flag for this port. no_dhcp_restart | 0x1000000000000 # Disable restart of DHCP on link connect (ie, wifi). # This should usually be enabled when testing wifi # roaming so that the wifi station can roam # without having to re-acquire a DHCP lease each # time it roams. ignore_dhcp | 0x2000000000000 # Don't set DHCP acquired IP on interface, # instead print CLI text message. May be useful # in certain wifi-bridging scenarios where external # traffic-generator cannot directly support DHCP. no_ifup_post | 0x4000000000000 # Skip ifup-post script if we can detect that we # have roamed. Roaming is considered true if # the IPv4 address has not changed. radius_enabled | 0x20000000000000 # Enable RADIUS service (using hostapd as radius server) ipsec_client | 0x40000000000000 # Enable client IPSEC xfrm on this port. ipsec_concentrator | 0x80000000000000 # Enable concentrator (upstream) IPSEC xfrm on this port. service_dns | 0x100000000000000 # Enable DNS (dnsmasq) service on this port. adv_5g_fd | 0x400000000000000 # Advertise 5Gbps link speed.
cmd_flags can be:
reset_transceiver | 0x1 # Reset transciever restart_link_neg | 0x2 # Restart link negotiation force_MII_probe | 0x4 # Force MII probe no_hw_probe | 0x8 # Don't probe hardware probe_wifi | 0x10 # Probe WIFI new_gw_probe | 0x20 # Force new GW probe new_gw_probe_dev | 0x40 # Force new GW probe for ONLY this interface from_user | 0x80 # from_user (Required to change Mgt Port config # (IP, DHCP, etc) skip_port_bounce | 0x100 # skip-port-bounce (Don't ifdown/up # interface if possible.) from_dhcp | 0x200 # Settings come from DHCP client. abort_if_scripts | 0x400 # Forceably abort all ifup/down scripts on this Port. use_pre_ifdown | 0x800 # Call pre-ifdown script before bringing interface down.
The interest flags are used to specify which combinations of other parameters to combine. If you specify command.dhcp_ip4 but do not specify interest.dhcp, the command flag will not be applied. These flags are not obvious to combine, so please apply the settings you want into the GUI, and then find the set_port command in the DB/DFLT/ports.db.1.1 file.
interest flag values are:
command_flags | 0x1 # apply command flags current_flags | 0x2 # apply current flags ip_address | 0x4 # IP address ip_Mask | 0x8 # IP mask ip_gateway | 0x10 # IP gateway mac_address | 0x20 # MAC address supported_flags | 0x40 # apply supported flags link_speed | 0x80 # Link speed mtu | 0x100 # MTU tx_queue_length | 0x200 # TX Queue Length promisc_mode | 0x400 # PROMISC mode interal_use_1 | 0x800 # (INTERNAL USE) alias | 0x1000 # Port alias rx_all | 0x2000 # Rx-ALL dhcp | 0x4000 # including client-id. rpt_timer | 0x8000 # Report Timer bridge | 0x10000 # BRIDGE ipv6_addrs | 0x20000 # IPv6 Address bypass | 0x40000 # Bypass gen_offload | 0x80000 # Generic offload flags, everything but LRO cpu_mask | 0x100000 # CPU Mask, useful for pinning process to CPU core lro_offload | 0x200000 # LRO (Must be disabled when used in Wanlink, # and probably in routers) sta_br_id | 0x400000 # WiFi Bridge identifier. 0 means no bridging. ifdown | 0x800000 # Down interface dhcpv6 | 0x1000000 # Use DHCPv6 rxfcs | 0x2000000 # RXFCS dhcp_rls | 0x4000000 # DHCP release svc_httpd | 0x8000000 # Enable/disable HTTP Service for a port svc_ftpd | 0x10000000 # Enable/disable FTP Service for a port aux_mgt | 0x20000000 # Enable/disable Auxillary-Management for a port no_dhcp_conn | 0x40000000 # Enable/disable NO-DHCP-ON-CONNECT flag for a port no_apply_dhcp | 0x80000000 # Enable/disable NO-APPLY-DHCP flag for a port skip_ifup_roam | 0x100000000 # Enable/disable SKIP-IFUP-ON-ROAM flag for a port
flags2 values are:
use_stp | 0x1 # Use Spanning Tree Protocol supports_bypass | 0x2 # Support Bypass Devices bypass_enabled | 0x10 # Enable Bypass Device bypass_power_down | 0x80 # Should bypass be on when we shutdown or loose power? bypass_power_on | 0x100 # Should bypass be on when we first power up? bypass_disconnect | 0x200 # Logically disconnect the cable (link-down)
IPv6 Address format is: addr/prefix Scope is implied by the position (first address is global, etc).
NOTE: You may create custom dhclient config files if you need more flexibility than the built-in features LANforge supports.
dhcp_vendor_id:
NA | # Do not change from current value. NONE | # Do not use dhcp vendor ID [string] | # Use the string for the vendor ID.
dhcp_hostname:
NA | # Do not change from current value. NONE | # Do not use dhcp Hostname __EID__ | # Use hostname 'CT-[resource-id].[port-name]' __ALIAS__ | # Use alias if set, or EID behaviour if alias is not set.. [string] | # Use the string for the Hostname.
dhcp_client_id:
NA | # Do not change from current value. NONE | # Do not use dhcp client ID. __MAC | # Use interface's MAC address for the client ID. __DEVNAME | # Use the interface's name as the client ID. [string] | # Use the string for the client ID.
preexec_method | baseCheckPortExists postexec_cli | nc_show_ports %{shelf} %{resource} %{port}
Argument | Description |
---|---|
shelf | Shelf number for the port to be modified. [R][D:1] |
resource | Resource number for the port to be modified. [W] |
port | Port number for the port to be modified. [W] |
ip_addr | IP address for the port, or NA. |
netmask | Netmask which this port should use, or NA. |
gateway | IP address of the gateway device - used for IP routing, or NA. |
cmd_flags | Command Flags: See above, or NA. |
current_flags | See above, or NA. |
MAC | MAC address to set this port to, or leave blank to not set it, or NA. |
MTU | Maximum Transmit Unit (MTU) for this interface. Can be blank or NA. |
tx_queue_len | Transmit Queue Length for this interface. Can be blank or NA. |
alias | A user-defined name for this interface. Can be BLANK or NA. |
interest | Which things are we really interested in setting. Can over-ride defaults based on the other arguments. |
report_timer | How often, in milliseconds, should we poll stats on this interface? |
flags2 | Bridge & other flags, see above. |
br_priority | Bridge priority, 16-bit number. |
br_aging_time | MAC aging time, in seconds, 32-bit number (or peer IP for GRE). |
br_max_age | How long until STP considers a non-responsive bridge dead. |
br_hello_time | How often does the bridge send out STP hello packets. |
br_forwarding_delay | How long to wait until the bridge will start forwarding packets. |
br_port_cost | STP Port cost for a port (this applies only to NON-BRIDGE interfaces). |
br_port_priority | STP Port priority for a port (this applies only to NON-BRIDGE interfaces). |
IPv6_addr_global | Global scoped IPv6 address. |
IPv6_addr_link | Link scoped IPv6 address. |
IPv6_dflt_gw | IPv6 default gateway. |
bypass_wdt | Watch Dog Timer (in seconds) for this port. Zero (0) to disable. |
cpu_mask | CPU Mask for CPUs that should service this interface. Zero is don't set (let OS make the decision). This value will be applied to the proper /proc/irq/[irq-num]/smp_affinity file by the pin_irq.pl script. |
dns_servers | DNS servers for use by traffic on this port, comma-separated list, BLANK means zero-length string. |
sta_br_id | WiFi STAtion bridge ID. Zero means none. |
dhcp_client_id | Optional string of up to 63 bytes in length to be passed to the dhclient process. See above. |
current_flags_msk | This sets 'interest' for flags 'Enable RADIUS service' and higher. See above, or NA. |
dhcp_vendor_id | Optional string of up to 63 bytes in length to be passed to the dhclient process. See above. |
ipsec_concentrator | IP Address of IPSec concentrator. |
ipsec_passwd | Password for IPSec, for pubkey, use: pubkey:[pem-file-name], for instance: pubkey:station.pem |
ipsec_local_id | Local Identifier for this IPSec tunnel. |
ipsec_remote_id | Remote Identifier for this IPSec tunnel. |
dhcp_hostname | Optional string of up to 63 bytes in length to be passed to the dhclient process. Option 12, see above. |
Syntax: set_port shelf resource port ip_addr netmask gateway cmd_flags current_flags MAC MTU tx_queue_len alias interest report_timer flags2 br_priority br_aging_time br_max_age br_hello_time br_forwarding_delay br_port_cost br_port_priority IPv6_addr_global IPv6_addr_link IPv6_dflt_gw bypass_wdt cpu_mask dns_servers sta_br_id dhcp_client_id current_flags_msk dhcp_vendor_id ipsec_concentrator ipsec_passwd ipsec_local_id ipsec_remote_id dhcp_hostname
Argument | Description |
---|---|
shelf | Shelf number for the port to be modified. [R][D:1] |
resource | Resource number for the port to be modified. [W] |
port | Port identifier. [R] |
dhclient_50 | Set DHCP Client option-50 text. DEFAULT means do not use this option. |
Syntax: set_port2 shelf resource port dhclient_50
preexec_method | baseCheckPortExists postexec_cli | nc_show_port %{shelf} %{resource} %{port}
Argument | Description |
---|---|
shelf | Shelf number for the port to be modified. [R][D:1] |
resource | Resource number for the port to be modified. [W] |
port | Physical Port identifier that owns the virtual interface. [R] |
vport | Virtual port identifier. MAC for MAC-VLANs, VLAN-ID for 802.1Q vlans. |
alias | New alias to assign to this virtual interface. [W] |
Syntax: set_port_alias shelf resource port vport alias
preexec_method | baseCheckPortExists postexec_cli | nc_show_port %{shelf} %{resource} %{port}
Argument | Description |
---|---|
shelf | Shelf number. [R][D:1] |
resource | Resource number. [W] |
port | Name of network device (Port) to which these IPs will be added. [R] |
ip_list | IP1/prefix,IP2/prefix,...IPZ/prefix. [W] |
Syntax: set_sec_ip shelf resource port ip_list
Argument | Description |
---|---|
name | The name of the endpoint we are configuring. [R] |
first_call_delay | How long to wait before making first call, in seconds. |
min_inter_call_gap | Minimum time to wait between calls, in seconds. |
max_inter_call_gap | Maximum time to wait between calls, in seconds. |
reg_expire_timer | SIP Registration expire timer, in seconds. |
codec | Codec to use for the voice stream, supported values: G711U, G711A, SPEEX, g726-16, g726-24, g726-32, g726-40, g729a. |
messaging_protocol | Messaging protocol, supported values: SIP. |
loop_call_count | How many calls to make, zero means infinite. |
loop_wavefile_count | How many times to play the wave file, zero means infinite. |
min_call_duration | How long should the call be, in seconds. |
max_call_duration | How long should the call be, in seconds. |
sound_dev | Which sound device should we play sound to. (see set_endp_flags). |
ringing_timer | How long (milliseconds) to wait in the ringing state before flagging call as no-answer. |
local_sip_port | Local SIP UDP port. Default is min-rtp-port + 2. |
PESQ_server_IP | LANforge PESQ server IP address. |
PESQ_server_port | LANforge PESQ server port, default is 3998. |
PESQ_server_passwd | LANforge PESQ server password. Default is to use no authentication (blank entry). |
jitter_buffer_sz | The size of the jitter buffer in packets. Default value is 8. |
aq_call_report_count | Number of AQ Call Report. Default is 0. |
aq_audio_band | Audio band for AQ scoring. 0: narrow-band, 1: super-wide-band, 2: full-band. Default is 0. |
Syntax: set_voip_info name first_call_delay min_inter_call_gap max_inter_call_gap reg_expire_timer codec messaging_protocol loop_call_count loop_wavefile_count min_call_duration max_call_duration sound_dev ringing_timer local_sip_port PESQ_server_IP PESQ_server_port PESQ_server_passwd jitter_buffer_sz aq_call_report_count aq_audio_band
Argument | Description |
---|---|
wl_name | The name of the WanLink endpoint we are configuring. [R] |
wp_name | The name of the WanPath we are configuring. [R] |
filter_type | The filter type, one of: MAC, IP, PCAP. |
src_filter | The source MAC or IP/Mask. For PCAP, this is the only filter. |
dst_filter | The destination MAC or IP/Mask, 'NA' for PCAP. |
reverse | If you want the logic reversed, use 'ON', otherwise set to 'OFF' |
defer_flush | Enter 'YES' if you do NOT want this flushed to the remote. |
passive | Enter 'YES' if you do NOT want to use this filter currently. |
Syntax: set_wanpath_filter wl_name wp_name filter_type src_filter dst_filter reverse defer_flush passive
AS_PARENT | # then it will be started and stopped as the parent WanLink is. STOPPED | # then it will not be running at any time. RUNNING | # then it will be running at all timesThough, due to implementation, it may not actually pass any traffic if the parent WanLink is not running.
Argument | Description |
---|---|
wl_name | The name of the WanLink endpoint we are configuring. [R] |
wp_name | The name of the WanPath we are configuring. [R] |
running | The state, one of: AS_PARENT, RUNNING, STOPPED. [R] |
Syntax: set_wanpath_running wl_name wp_name running
OVERWRITE_RANDOM | 1 # Write a random value to a byte. OVERWRITE_FIXED | 2 # Write a fixed value to a byte. BIT_FLIP | 4 # Flip a random bit in a byte. BIT_TRANSPOSE | 8 # Transpose two side-by-side bits in a byte. DO_CHAIN_ON_HIT | 16 # Do next corruption if this corruption is applied. RECALC_CSUMS | 32 # Attempt to re-calculate UDP and TCP checksums.
The RECALC_CSUMS option will ONLY work if the UDP or TCP packet spans a single Ethernet frame.
Only one of the first 4 bits should be selected. Add flag values together to set multiple flags.
Argument | Description |
---|---|
name | WanLink name [R] |
path | WanPath name [R] |
index | The corruption to modify (0-5). [R,0-5] |
flags | The flags for this corruption. |
byte | The byte to use for OVERWRITE_FIXED (or NA). |
min_offset | The minimum offset from start of Ethernet packet for the byte to be modified. |
max_offset | The maximum offset from start of Ethernet packet for the byte to be modified. |
rate | Specifies how often, per million, this corruption should be applied. |
Syntax: set_wanpath_corruption name path index flags byte min_offset max_offset rate
Argument | Description |
---|---|
name | The name of the endpoint we are configuring. [R] |
speed | The maximum speed of traffic this endpoint will accept (bps). |
latency | The base latency added to all packets, in milliseconds (or add 'us' suffix for microseconds |
max_jitter | The maximum jitter, in milliseconds (or ad 'us' suffix for microseconds) |
reorder_freq | How often, out of 1,000,000 packets, should we make a packet out of order. |
extra_buffer | The extra amount of bytes to buffer before dropping pkts, in units of 1024. Use -1 for AUTO. |
drop_freq | How often, out of 1,000,000 packets, should we purposefully drop a packet. |
dup_freq | How often, out of 1,000,000 packets, should we purposefully duplicate a packet. |
playback_capture_file | Name of the WAN capture file to play back. |
jitter_freq | How often, out of 1,000,000 packets, should we apply jitter. |
min_drop_amt | Minimum amount of packets to drop in a row. Default is 1. |
max_drop_amt | Maximum amount of packets to drop in a row. Default is 1. |
min_reorder_amt | Minimum amount of packets by which to reorder, Default is 1. |
max_reorder_amt | Maximum amount of packets by which to reorder, Default is 10. |
max_lateness | Maximum amount of un-intentional delay before pkt is dropped. Default is AUTO |
Syntax: set_wanlink_info name speed latency max_jitter reorder_freq extra_buffer drop_freq dup_freq playback_capture_file jitter_freq min_drop_amt max_drop_amt min_reorder_amt max_reorder_amt max_lateness
Capture Options:
ON |# start capturing OFF |# stop capturing
Argument | Description |
---|---|
name | The name of the endpoint we are configuring. [R] |
capture | Should we capture or not? ON or OFF. [R] |
directory | The directory name in which packet capture files will be written. |
Syntax: set_wanlink_pcap name capture directory
The min_offset and max_offset determine the possible position of the byte to be modified. If min is less than max, a random byte between min and max will be modified. The offset is from the beginning of the Ethernet header.
The rate specifies how often, per million, the corruption will be applied. This is flat-random distribution.
The flags are defined as:
OVERWRITE_RANDOM | 1 # Write a random value to a byte. OVERWRITE_FIXED | 2 # Write a fixed value to a byte. BIT_FLIP | 4 # Flip a random bit in a byte. BIT_TRANSPOSE | 8 # Transpose two side-by-side bits in a byte. DO_CHAIN_ON_HIT | 16 # Do next corruption if this corruption is applied. RECALC_CSUMS | 32 # Attempt to re-calculate UDP and TCP checksums.
The RECALC_CSUMS option will ONLY work if the UDP or TCP packet spans a single Ethernet frame.
Only one of the first 4 bits should be selected. Add flag values together to set multiple flags.
Argument | Description |
---|---|
name | WanLink name [R] |
index | The corruption to modify (0-5). [R,0-5] |
flags | The flags for this corruption. |
byte | The byte to use for OVERWRITE_FIXED (or NA). |
min_offset | The minimum offset from start of Ethernet packet for the byte to be modified. |
max_offset | The maximum offset from start of Ethernet packet for the byte to be modified. |
rate | Specifies how often, per million, this corruption should be applied. |
Syntax: set_wl_corruption name index flags byte min_offset max_offset rate
FIFO | # is the default queuing discipline, no arguments WRR,[queue,queue,...] | # Weighted Round Robbin is also availableFor WRR you must specify the weights (and in doing so, the number of queues):
set_wl_qos [wanlink] WRR,10000,10000,10000,10000,500000,600000,600000
The packet priority will be mapped directly onto the queues. If the packet priority cannot be queried from the OS, the 3 IP ToS bits will be used for priority, so we recommend 7 queues for WRR QDiscs.
Others queuing disciplines may be added in the future.
Argument | Description |
---|---|
name | WanLink name [R] |
qdisc | FIFO, WRR,a,b,c,d,e,f,g etc [R] |
Syntax: set_wl_qdisc name qdisc
Playback options:
ON |# on OFF |# off
Argument | Description |
---|---|
name | The name of the endpoint we are configuring. [R] |
playback | Should we playback the capture or not? ON or OFF. [R] |
file | The file name to read the playback packets from. |
Syntax: set_endp_file name playback file
Argument | Description |
---|---|
shelf | Shelf number or alias, can be 'all'. [R][D:1] |
resource | Resource number, or 'all'. [W] |
serno | Serial number for requested Attenuator, or 'all'. [W] |
Syntax: show_attenuators shelf resource serno
Argument | Description |
---|---|
shelf | Shelf number or alias, can be 'all'. [R][D:1] |
resource | Resource number, or 'all'. [W] |
ID | RF Generator serial number, or 'all'. |
Syntax: show_rfgen shelf resource ID
Argument | Description |
---|---|
shelf | Shelf number or alias, can be 'all'. [R][D:1] |
resource | Resource number, or 'all'. [W] |
Syntax: show_resources shelf resource
Syntax: show_clients
Argument | Description |
---|---|
test_mgr | Specify test-mgr to act on, or 'all'. [R] |
cross_connect | Specify cross-connect to act on, or 'all'. [W] |
Syntax: show_cx test_mgr cross_connect
Argument | Description |
---|---|
test_mgr | Specify test-mgr to use, or 'all'. [R] |
cross_connect | Specify cross-connect to show, or 'all'. [W] |
Syntax: show_cxe test_mgr cross_connect
Argument | Description |
---|---|
shelf | Name/id of the shelf, or 'all'. [R][D:1] |
resource | Resource number, or 'all'. [W] |
collision_domain | Name of the Collision Domain, or 'all'. [W] |
Syntax: show_cd shelf resource collision_domain
Argument | Description |
---|---|
shelf | Shelf number. [R][D:1] |
resource | Resource number. [W] |
virtual_router | Name of the virtual router. [W] |
key | Unique identifier for this request. Usually left blank. |
Syntax: show_rt shelf resource virtual_router key
Argument | Description |
---|---|
shelf | Name/id of the shelf, or 'all'. [R][D:1] |
resource | Resource number, or 'all'. [W] |
router | Name of the Virtual Router, or 'all'. [W] |
Syntax: show_vr shelf resource router
Argument | Description |
---|---|
shelf | Name/id of the shelf, or 'all'. [R][D:1] |
resource | Resource number, or 'all'. [W] |
cx_name | Name of the Virtual Router Connection, or 'all'. [W] |
Syntax: show_vrcx shelf resource cx_name
Syntax: show_dbs
Argument | Description |
---|---|
endpoint | Name of endpoint, or 'all'. [R] |
extra | See above. |
Syntax: show_endpoints endpoint extra
Argument | Description |
---|---|
endpoint | Name of endpoint, cx-group, or 'all'. [R] |
key | Optional 'key' to be used in keyed-text message result. |
Syntax: show_script_results endpoint key
Argument | Description |
---|---|
endpoint | Name of endpoint, or 'all'. [R] |
Syntax: show_pesq endpoint
Argument | Description |
---|---|
name | The name of the endpoint we are configuring. [R] |
max_bytes | The max number of payload bytes to print out, default is 128. [R][D:128] |
Syntax: show_endp_payload name max_bytes
SORT_BY_TIME | 1 # Sort by date/time
Argument | Description |
---|---|
shelf | The virtual shelf to search in. Use 0 for manager machine. [R,0-1] |
resource | The machine to search in. [W] |
key | A special key, can be used for scripting. |
directory | The sub-directory in which to list. |
filter | An optional filter, as used by the 'ls' command. |
dir_flags | Determines format of listing, see above. |
Syntax: show_files shelf resource key directory filter dir_flags
Probe-Flags:
WIFI | 1 # show wifi ports MII | 2 # show MII ports ETHTOOL | 4 # ethtool results BRIDGE | 8 # show bridge ports EASY_IP_INFO | 16 # show Everything but gateway, which is expensive to probe. GW | 32 # show gateway GW_FORCE_REFRESH | 64 # Force GW (re)probe. (Otherwise, cached values *might* be used.) DHCP_KEYED_MSG | 128 # Show (only) the HANDLE_DHCP- keyed message.
Argument | Description |
---|---|
shelf | Name/id of the shelf, or 'all'. [R][D:1] |
resource | Resource number, or 'all'. [W] |
port | Port number, or 'all'. [W] |
probe_flags | See above, add them together for multiple probings. Leave blank if you want stats only. |
Syntax: show_ports shelf resource port probe_flags
Argument | Description |
---|---|
shelf | Name/id of the shelf, or 'all'. [R][D:1] |
resource | Resource number, or 'all'. |
port | Port number, or 'all'. |
mlo_index | MLO Link Index, or 'all'. |
Syntax: show_mlo_link shelf resource port mlo_index
Argument | Description |
---|---|
shelf | Name/id of the shelf, or 'all'. [R][D:1] |
resource | Resource number, or 'all'. [W] |
channel_name | Name of the channel, or 'all'. [W] |
Syntax: show_channel_groups shelf resource channel_name
Argument | Description |
---|---|
shelf | Name/id of the shelf, or 'all'. [R][D:1] |
resource | Resource number, or 'all'. [W] |
span_number | Span-Number of the span, or 'all'. [W] |
Syntax: show_spans shelf resource span_number
Argument | Description |
---|---|
shelf | Name/id of the shelf, or 'all'. [R][D:1] |
resource | Resource number, or 'all'. [W] |
link_num | Ppp-Link number of the span, or 'all'. [W] |
Syntax: show_ppp_links shelf resource link_num
Argument | Description |
---|---|
test_mgr | Can be name of test manager, or 'all'. [R] |
Syntax: show_tm test_mgr
Argument | Description |
---|---|
group | Can be name of connection group. Use 'all' or leave blank for all groups. |
Syntax: show_group group
Argument | Description |
---|---|
shelf | Shelf number. [R][D:1] |
resource | Resource number, or 'ALL' [W] |
venu_id | Number to uniquely identify this venue on this resource, or 'ALL' [W] |
Syntax: show_venue shelf resource venu_id
Argument | Description |
---|---|
endpoint | Name of endpoint, or 'all'. [W] |
wanpath | Name of wanpath, or 'all'. [W] |
Syntax: show_wps endpoint wanpath
Argument | Description |
---|---|
really | Must be 'YES' for command to really work. |
chdir | Directory to cd to before dying. Only useful when using gprof to debug, or 'NA' to ignore. |
serverctl | Enter 'YES' to do a ./serverctl.bash restart to restart all LANforge processes. |
Syntax: shutdown really chdir serverctl
Argument | Description |
---|---|
shelf | Shelf number, or ALL. [R][D:1] |
resource | Resource number, or ALL. [W] |
Syntax: shutdown_resource shelf resource
Argument | Description |
---|---|
shelf | Shelf number, or ALL. [R][D:1] |
resource | Resource number, or ALL. [W] |
Syntax: shutdown_os shelf resource
For PCs, you can use the exceed program from Hummingbird software.
To enable X access on Unix/Linux, run this command:
xhost +
This can open your machine to security threats, so read up on xhost before you run this command on a mission critical machine not protected by a good firewall!
Port: You may also specify multiple interfaces to sniff concurrently using syntax: port1,port2,port3Flags are defined as follows.
TSHARK | 0x1 # Use command-line tshark instead of wireshark DUMPCAP | 0x2 # Use command-line dumpcap, more efficient than tshark MATE_TERMINAL | 0x4 # Launch tshark/dumpcap in mate-terminal MATE_XTERM | 0x8 # Launch tshark/dumpcap in xterm MATE_KILL_DUMPCAP | 0x10 # Kill last dumpcap
Learn more about Wireshark program.
For questions specific to LANforge, you should contact Candela Technologies.
Argument | Description |
---|---|
shelf | Shelf number. [R][D:1] |
resource | Resource number. [W] |
port | The port we are trying to run the packet sniffer on. See above. [R] |
display | The DISPLAY option, for example: 192.168.1.5:0.0. Will guess if left blank. |
flags | Flags that control how the sniffing is done. |
outfile | Optional file location for saving a capture. |
duration | Duration for doing a capture (in seconds). Default is 5 minutes for dumpcap/tshark, and forever for wireshark |
snaplen | Amount of each packet to store. Default is to store all of it. |
filter | Optional capture filter. |
Syntax: sniff_port shelf resource port display flags outfile duration snaplen filter
This displays a GUI popup. This does not stream text to JSON. If you need to see the end of a log file, use logfile
Argument | Description |
---|---|
shelf | Shelf that holds the resource that holds the file. [R][D:1] |
resource | Resource that holds the file. [W] |
cmd | Command: start, stop, results |
key | File-name that we should be tailing. |
message | The contents to display (for results only) Unescaped Value |
Syntax: tail shelf resource cmd key message
Argument | Description |
---|---|
test_mgr | Name of test manager (can be all.) [R] |
client_name | Name of client to be registered. (dflt is current client) [W] |
Syntax: tm_register test_mgr client_name
Argument | Description |
---|---|
test_mgr | Name of test manager (can be all.) [R] |
client_name | Name of client to be un-registered. (dflt is current client) [W] |
Syntax: tm_unregister test_mgr client_name
Syntax: version
Argument | Description |
---|---|
shelf | Shelf number, or ALL. [R][D:1] |
resource | Resource number, or ALL. [W] |
Syntax: wiser_reset shelf resource
Syntax: who
Argument | Description |
---|---|
device | Interface or PHY in most cases. [R] |
event | What happened. [R] |
status | Status on what happened. |
msg | Entire event in human readable form. |
Syntax: wifi_event device event status msg
Example:
wifi_cli_cmd 1 1 sta1 'roam 00:00:01:01:01:02'
NOTE: These commands will be queued if the interface is phantom, but otherwise the commands will be sent to the wpa_cli command immediately. This can collide with automated LANforge actions such as automatically re-associating and interface that was dropped by the AP. Any configuration changes made by this method will not be saved through restarts of LANforge or even through network interface resets.
If the port is a VAP, then the command will be passed to the hostapd_cli process in a similar manner.
Argument | Description |
---|---|
shelf | Shelf number. [R][D:1] |
resource | Resource number. [W] |
port | Name of the WiFi station or AP interface to which this command will be directed. [R] |
wpa_cli_cmd | Command to pass to wpa_cli or hostap_cli. This must be single-quoted. [R] |
Syntax: wifi_cli_cmd shelf resource port wpa_cli_cmd
For 'run_cmd' mode, it is the command (in single quotes) to pass to the xorpsh process.
Argument | Description |
---|---|
shelf | Shelf number. [R][D:1] |
resource | Resource number. [W] |
router | Name of the virtual router. [R] |
cmd | Determines action, current commands: display, run_cmd |
arg | See above. |
Syntax: xorpsh shelf resource router cmd arg