Candela Technologies Logo
Network Testing and Emulation Solutions

LANforge CLI User Guide

Connecting to LANforge

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

Notes about entering commands

  1. Numbers may be entered as decimal or HEX. If entering in HEX, you must prepend 0x and ensure that the next number after that is not a zero (or it will be parsed as OCTAL instead of HEX. For example, if you want to enter decimal 11, you could enter: 11 or 0xB
  2. Strings consisting of a single word may be entered by themselves, but if you wish to have a multi-word string considered a single token by the parser, surround it with single quotes. Adding single quotes around a single word token is OK too, and may make scripting easier in some cases.
  3. As of release 5.3.8, an time there are two single-quotes in a row, the parser will treat it as a single single quote. For previous releases, single-quoted tokens had this behaviour, but an un-quoted token would not combine two single-quotes into one. So, for 5.3.8 and higher the tokens are parsed like this:
    • 'token space' = token space
    • 'to''ken' = to'ken
    • to''ken = to'ken
    For 5.3.7 and lower the tokens are parsed like this:
    • 'token space' = token space
    • 'to''ken' = to'ken
    • to''ken = to''ken
  4. Arguments are sensitive to position. You cannot just skip arguments, but you can use NA for most of them and have LANforge ignore them. You may leave off any trailing arguments and they will be treated the same as if they were NA.
  5. Parameter subscripts:
    [R]
    Required for JSON calls.
    [R,a-z]
    JSON calls require value in range [a - z].
    [D:value]
    JSON interpreter provides a default value if missing.
    [R][D:value]
    JSON interpreter provides a default value if missing, null, None or NA.

Command Reference

  1. adb   Execute adb command on LANforge resource.
  2. adb_bt   Send keystrokes over bluetooth to an ADB device.
  3. adb_timeout   Execute adb command on LANforge resource w/ timeout (ms) for non-forked cmds
  4. adb_gui   Launch remote desktop over adb for Android devices.
  5. add_adb   Add adb device and configure its info.
  6. adb_wifi_event   This is used internally by LANforge to listen for WiFi events from adb.
  7. rm_adb   Remove an adb device
  8. add_arm_endp   Add an Armageddon (Kernel accelerated UDP) endpoint.
  9. add_cx   Add a cross-connect to a test-manager.
  10. add_cd   Add a Collision Domain (grouping of WanLinks).
  11. add_cd_endp   Add an Endpoint to a Collision Domain.
  12. add_cd_vr   Add a Virtual Router to a Collision Domain.
  13. add_chamber   Add/Modify a Chamber entry.
  14. add_chamber_cx   Add/Modify a Chamber connection.
  15. add_chamber_path   Set/Add a path to a Chamber.
  16. add_dut   Add/Modify a Device-Under-Test entry.
  17. add_dut_ssid   SSID configuration for a Device-Under-Test entry.
  18. add_dut_notes   Set/Add DUT notes text.
  19. add_file_endp   Add a File endpoint to the LANforge Manager.
  20. add_gen_endp   Add a Generic endpoint to the LANforge Manager.
  21. add_l4_endp   Add a Layer 4-7 endpoint to the LANforge Manager.
  22. add_channel_group   Add a grouping of DS0 channels to be used by PPP connections.
  23. add_ppp_link   Add a PPP interface connection.
  24. add_profile   Add LANforge device profile.
  25. add_profile_notes   Set/Add Device Profile notes text.
  26. add_traffic_profile   Add LANforge traffic profile.
  27. add_traffic_profile_notes   Set/Add Traffic Profile notes text.
  28. add_text_blob   Set/Add free-form text storage.
  29. add_t1_span   Add a T1/E1 SPAN to the LANforge Manager.
  30. add_voip_endp   Add a VOIP endpoint to the LANforge Manager.
  31. add_vr   Add or modify a Virtual Router object.
  32. add_vr_bgp   Add BGP configuration to a virtual router.
  33. add_bgp_peer   Add/Modify BGP peer configuration to a virtual router.
  34. add_vrcx   Add or modify a Virtual Router Connection Endpoint object.
  35. add_vrcx2   Modify a Virtual Router Connection Endpoint object.
  36. set_vrcx_cost   Modify a Virtual Router Connection interface cost.
  37. add_endp   Add an endpoint to the LANforge Manager.
  38. add_event   Add a new event or modify an existing one.
  39. add_bond   Add a Linux Bond Device.
  40. add_br   Add a Linux Bridge Device.
  41. add_mvlan   Add a MAC based VLAN (Requires kernel support).
  42. add_rdd   Add a Redirect-Device (Requires kernel support).
  43. add_gre   Add a GRE Tunnel device.
  44. add_sec_ip   Add or update secondary IP Address(es).
  45. add_vlan   Add an 802.1Q VLAN (Requires kernel support).
  46. add_venue   Add/modify a Venue.
  47. add_sta   Add/modify a WIFI Virtual Station (Virtual STA) interface.
  48. add_vap   Add/modify a WIFI Virtual Access Point (VAP) interface.
  49. add_monitor   Add/modify a WIFI Montior interface.
  50. add_tm   Create and add a new test manager to the system.
  51. add_group   Create a new connection group.
  52. add_tgcx   Adds CX to connection group.
  53. add_wl_endp   Add a WanLink (ICE) endpoint to the LANforge Manager.
  54. add_wanpath   Add a WanPath (ICE) personality to a WanLink.
  55. admin   Various admin commands.
  56. apply_vr_cfg   Apply all of the virtual routing settings for this Resource.
  57. cancel_vr_cfg   Cancel a virtual-router configuration process for this Resource.
  58. clear_cx_counters   Clear counters for one or all cross-connects.
    PORTS_TOO  | 0x01    # Clear port counters this CX uses as well.
    SEND_EVENT | 0x02    # Send event when clearing counters.
    
  59. clear_endp_counters   Clear counters for one or all endpoints.
  60. clear_cd_counters   Clear counters for one or all Collision Domains.
  61. clear_group   Clears all cross-connects in a connection group.
  62. clear_port_counters   Clear one or all port counters or other items.
  63. clear_resource_counters   Clear counters on one or all resources.
  64. clear_wifi_profiles   Clear wifi profile from device in question.
  65. clear_wp_counters   Clear WanPath counters for one endpoint.
  66. discover   Force discovery of nodes on the management network.
  67. diag   Get diagnostic information from the LANforge server.
  68. notify_dhcp   Handle input from the DHCP client process.
  69. do_pesq   Start a PESQ calculation.
  70. file   Transfer files through LANforge API.
  71. gossip   Send a message to everyone else logged in to the server.
  72. getintxrate   Get tx packets per second rate over the last 3 seconds.
  73. getinrxrate   Get rx packets per second rate over the last 3 seconds.
  74. getinrxbps   Get rx bits-per-second per second rate over the last 3 seconds.
  75. gettxpkts   Get the total tx packets sent.
  76. getrxpkts   Get the total rx packets sent.
  77. getpktdrops   Get the total packets dropped (based on sequence number gaps).
  78. getavglatency   Get the average latency for an endpoint.
  79. getrxporterrpkts   Get the total error packets detected on the receiving port (interface)
  80. getrxendperrpkts   Get the total error packets detected on the endpoint.
  81. getipadd   Get the IP for an endpoint.
  82. getmask   Get the IP Mask for an endpoint.
  83. getmac   Get the MAC address for an endpoint.
  84. ?   Show help for command(s).
  85. init_wiser   Initialize the Wiser NCW/HNW module.
  86. ios   For IPC - SwiftUI sending information to BTSERVER
  87. licenses   Print out license information. See also: set_license
  88. load   Load a previously saved test database.
  89. login   Login as the client name you enter.
  90. create_client   Create a new client.
  91. log_capture   Save logs to a specified location.
  92. log_level   Query or modify the logging level.
  93. log_msg   Send an message to the LANforge log file.
  94. motd   Get the message of the day (alerts, etc)
  95. nc_show_endpoints   Non-Cached Show one or all endpoints.
  96. nc_show_pesq   Non-Cached Show PESQ results for one or all VOIP endpoints.
  97. nc_show_ports   Show one/all ports for one/all resources in one/all shelves. No caching.
  98. c_show_ports   Show one/all ports for one/all resources in one/all shelves. Always uses cache.
  99. nc_show_channel_groups   Show one/all ChannelGroups for one/all resources in one/all shelves. An empty specifier will be treated as 'all'. Will always request the absolute latest information from the remote system(s)
  100. nc_show_spans   Show one/all Spans for one/all resources in one/all shelves. An empty specifier will be treated as 'all'. Will always request the absolute latest information from the remote system(s)
  101. nc_show_vr   Show one/all Virtual Routers for one/all resources in one/all shelves. An empty specifier will be treated as 'all'. This command will always request the absolute latest information from the remote system(s)
  102. nc_show_vrcx   Show one/all Virtual Router Connections for one/all resources in one/all shelves. Only Connections on the 'free-list', those not associated with any Virtual Router will be shown with this command unless you exactly specify the VRCX Name. If the VRCX is in a virtual router, only cached results will be shown. Connections associated with routers will be shown whith the 'show_vr' command with the rest of the router information. This command will always request the absolute latest information from the remote system(s)
  103. nc_show_cd   Show one/all Collision Domains.
  104. nc_show_ppp_links   Show one/all PPP Links for one/all resources in one/all shelves. An empty specifier will be treated as 'all'.
  105. probe_port   Probe and report low-level details for a port.
  106. probe_ports   Check for the existence of new (virtual) interfaces.
  107. port_reset_completed   Internal command used by port-reset script to notify LANforge the reset has completed. This is only valid for Resource processes.
  108. exit   Log out of the LANforge control server.
  109. report   Configure server-side reporting.
  110. reset_port   Reset an Ethernet port or ports.
  111. reset_serial_span   Reset a serial span.
  112. reboot_os   Restart the OS on a remote resource.
  113. rm_attenuator   Remove attenuator configuration.
  114. rm_chamber   Remove Chamber configuration.
  115. rm_chamber_path   Remove a chamber path.
  116. rm_dut   Remove DUT configuration.
  117. rm_rfgen   Requests removal of rf-generator configuration.
  118. rm_cd   Remove a Collision Domain.
  119. rm_cd_endp   Remove an Endpoint from a Collision Domain.
  120. rm_cd_vr   Remove a Virtual Router from a Collision Domain.
  121. rm_endp   Remove one or all endpoints.
  122. rm_channel_group   Remove a channel group, or set of groups.
  123. rm_event   Remove one or more events from the event log.
  124. rm_group   Deletes a new connection group.
  125. rm_profile   Remove Device Profile configuration.
  126. rm_text_blob   Remove Text Blob.
  127. rm_traffic_profile   Remove Traffic Profile configuration.
  128. rm_threshold   Remove existing threshold-alert for a particular entity.
  129. rm_tgcx   Removes CX from connection group.
  130. rm_venue   Remove a venue.
  131. rm_vr   Remove one or all Virtual Routers.
  132. rm_vrcx   Remove one or all Virtual Router Connections on the free-list. Underlying objects will be deleted if they were auto-created to begin with unless you specify the last argument as 'vrcx_only'.
  133. rm_span   Remove a Serial Span (T1, etc), or a set of spans.
  134. rm_ppp_link   Remove a PppLink.
  135. rm_client   Delete a stored client profile.
  136. rm_cx   Delete a cross-connect from the system.
  137. rm_wanpath   Remove one or all wanpaths from an endpoint.
  138. rm_db   Delete a database.
  139. rm_resource   Remove a phantom Resource and all of its config.
  140. rm_sec_ip   Remove secondary IP Address(es).
  141. rm_vlan   Remove a virtual interface.
  142. rm_test_mgr   Remove a single test manager.
  143. save   Save the current configuration to a file, to be loaded later.
  144. scan_wifi   Scan for WiFi access points.
  145. set_arm_info   Set Armageddon Endpoint configuration.
  146. set_attenuator   Set attenuation value on specified attenuator module.
  147. set_rfgen   Set RF Noise-generator (RADAR) config.
  148. blink_attenuator   Visually identify attenuator by blinking LEDs or changing LCD colors or similar.
  149. flash_attenuator   Upload new software image to specified attenuator.
  150. set_chamber   Set configuration for chambers with turntables.
  151. set_cx_report_timer   Set time between reports from Test-Manager(s) to client(s).
  152. set_endp_proxy   Set the proxy information for L3 endpoints.
  153. set_endp_report_timer   Set the report timer for and endpoint.
  154. set_cx_state   Set the state of the Cross-Connect(s).
  155. set_l4_endp   Set some extra layer-4 endpoint configuration
  156. set_license   Install license keys on the manager machine.
  157. set_password   Set the password for the current or another client.
  158. set_ppp_link_state   Set the state of the PPP Link(s).
  159. set_resource   Set the Resource configuration.
  160. set_script   Add or modify a script for a particular entity.
  161. set_test_id   Set the test ID on specified resource(s).
  162. rpt_script   Internal command, see set_script, syntax is same.
  163. add_threshold   Add or modify a threshold-alert for a particular entity.
  164. set_wifi_radio   Modify a WIFI Radio interface.
  165. set_wifi_extra   Configure advanced wifi settings.
  166. set_wifi_extra2   Configure more advanced wifi settings.
  167. set_wifi_txo   Configure wifi TX rate control overrides.
  168. set_wifi_corruptions   Configure corruptions for wifi devices.
  169. set_wifi_custom   Set/Add custom hostapd or wpa_supplicant config file contents.
  170. set_ifup_script   Set the post-ifup-script for a port.
  171. set_endp_addr   Set the MAC, IP, and Port addresses for an UN_MANAGED endpoint.
  172. set_endp_payload   Payload type and payload for an endpoint.
  173. set_endp_details   Modify low-level settings such as TCP window sizes.
  174. set_event_interest   Set event interest.
  175. set_event_priority   Set event priority.
  176. set_mc_endp   Set multicast-specific info for multicast endpoints.
  177. show_adb   Show ADB devices
  178. show_chamber   Show Chamber object
  179. show_dut   Show Devices Under Test (DUT)
  180. show_events   Show recent events.
  181. show_alerts   Show active Alerts.
  182. show_event_interest   Display Event settings.
  183. show_err   Send an error message to everyone else logged in to the server.
  184. start_endp   Start an endpoint.
  185. show_profile   Show Device Profiles
  186. show_text_blob   Show Text Blob
  187. show_traffic_profile   Show Traffic Profiles
  188. start_group   Starts all cross-connects in a connection group.
  189. start_ppp_link   Start a PppLink.
  190. stop_endp   Stop an endpoint.
  191. quiesce_endp   Quiesce an endpoint.
  192. stop_group   Stops all cross-connects in a connection group.
  193. quiesce_group   Quiesces all cross-connects in a connection group.
  194. stop_ppp_link   Stop a PppLink.
  195. set_endp_tos   Type of Service metrics for transmitted packets from this endpoint.
  196. set_endp_quiesce   Set the quiesce timer, in seconds.
  197. set_endp_pld_bounds   Set the min/max payload size bounds for an endpoint.
  198. set_endp_tx_bounds   Set the min/max transmit rate bounds for an endpoint.
  199. set_fe_info   Set read/write size and file information for File Endpoints.
  200. set_gen_cmd   Set command to be executed for this generic endpoint.
  201. set_endp_flag   Set a flag to modify some Endpoint option.
  202. set_flag   Set a flag to modify some client option.
  203. set_gps_info   Set information that could be obtained from a GPS device.
  204. set_poll_mode   Set mode to polling or push algorithm.
  205. set_port   Configure the attributes on an Ethernet port.
  206. set_port2   Set additional port configuration for existing port.
  207. set_port_alias   Set the alias for a virtual interface specified by MAC or 802.1Q VLAN-ID.
  208. set_sec_ip   Set new list of secondary IP Address(es).
  209. set_voip_info   Set various VOIP endpoint related values.
  210. set_wanpath_filter   Set the Filter type for the WanPath
  211. set_wanpath_running   Set the Running state of the WanPath
  212. set_wanpath_corruption   Set corruption values on a WanLink.
  213. set_wanlink_info   Set various WAN-Link Endpoint data members.
  214. set_wanlink_pcap   Set the WanLink packet capture information.
  215. set_wl_corruption   Set corruption values on a WanLink.
  216. set_wl_qdisc   Set the Queuing Discipline for a WanLink.
  217. set_endp_file   Set the file name for a particular endpoint. Used for packet playback.
  218. show_attenuators   Show Attenuator information.
  219. show_rfgen   Show RF-Generators configured and/or discovered.
  220. show_resources   Show one or all resources for one or all shelves.
  221. show_clients   Show all unique clients that have registered in the past.
  222. show_cx   Show one or all cross-connects for one or all test managers.
  223. show_cxe   Show one or all cross-connects and their endpoints.
  224. show_cd   Show one/all Collision Domains.
  225. show_rt   Show Virtual Router's routing table.
  226. show_vr   Show Virtual Routers for one/all resources
  227. show_vrcx   Show Virtual Router connections for all resources
  228. show_dbs   Show all available databases that may be loaded.
  229. show_endpoints   Show one or all endpoints.
  230. show_script_results   Show results of last script run for one or all endpoints.
  231. show_pesq   Show PESQ results for one or all VOIP endpoints.
  232. show_endp_payload   Show the payloads for one or all endpoints.
  233. show_files   Show files in a particular directory.
  234. show_ports   Show one/all ports for one/all resources in one/all shelves.
  235. show_channel_groups   Show one/all ChannelGroups for one/all resources in one/all shelves. An empty specifier will be treated as 'all'.
  236. show_spans   Show one/all Spans for one/all resources in one/all shelves. An empty specifier will be treated as 'all'.
  237. show_ppp_links   Show one/all PPP Links for one/all resources in one/all shelves. An empty specifier will be treated as 'all'.
  238. show_tm   Show one or all test managers.
  239. show_group   Show one or all Connection Groups.
  240. show_venue   Show one or more venues.
  241. show_wps   Show one or all WanPaths for one or all WanLink Endpoints.
  242. shutdown   Restart the LANforge manager process.
  243. shutdown_resource   Restart all LANforge processes on a remote resource.
  244. shutdown_os   Shutdown the OS on a remote resource.
  245. sniff_port   Launch Wireshark on a traffic generator port.
  246. tail   Stream the content of a file.
  247. tm_register   Register interest in one or all test managers.
  248. tm_unregister   Un-register interest in one or all test managers.
  249. version   Print out the version of the LANforge server.
  250. wiser_reset   Reset WISER library on the specified machine.
  251. who   Show who is currently logged into the system.
  252. wifi_event   This is used internally by LANforge to listen for WiFi events.
  253. wifi_cli_cmd   Pass command to wpa_cli or hostapd_cli process for the specified station or AP.
  254. xorpsh   Connect to a Virtual Router's xorpsh shell or send cmds to the xorpsh.

  1. adb
    adb is used to control Android devices connected to LANforge systems via USB and/or IP network.

    Related Commands

    async_feedback      | %{key}
    

    ArgumentDescription
    shelfShelf name/id. Required. [R][D:1]
    resourceResource number. [W]
    adb_idAndroid device identifier, use NA if it should not be used/specified. [W]
    keyKey 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_cmdAll remaining text after adb_id will be sent to the adb command. Unescaped Value

    Syntax: adb shelf resource adb_id key adb_cmd

  2. adb_bt
    bluetooth keyboard emulation is used to control ADB devices connected to LANforge systems via USB.

    Related Commands

    async_feedback      | %{key}
    

    ArgumentDescription
    shelfShelf name/id. Required. [R][D:1]
    resourceResource number. [W]
    adb_idAndroid device identifier, use NA if it should not be used/specified. [W]
    keystrokesAll 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

  3. adb_timeout
    adb is used to control Android devices connected to LANforge systems via USB and/or IP network.

    Related Commands

    async_feedback      | %{key}
    

    ArgumentDescription
    shelfShelf name/id. Required. [R][D:1]
    resourceResource number. [W]
    adb_idAndroid device identifier, use NA if it should not be used/specified. [W]
    keyKey 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_durNum of milliseconds to let this command run before killing it. 0 indicates no timeout.
    adb_cmdAll 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

  4. adb_gui
    Utilize the MonkeyRemote or scrcpy project to provide an interactive UI for Android devices via the adb protocol. If you do not specify the DISPLAY, LANforge will attempt to guess it based on your connecting IP address.

    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
    

    ArgumentDescription
    shelfShelf name/id. Required. [R][D:1]
    resourceResource number. [W]
    adb_idAndroid device identifier.
    displayThe DISPLAY option, for example: 192.168.1.5:0.0. Will guess if left blank.
    screen_size_prcnt0.1 to 1.0, screen size percentage for the Android display.
    flagsSee flags defined above.
    max_sizeLimit 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

  5. add_adb
    Add adb device and configure its settings. ADB Device will be phantom until it is discovered by the LANforge resource.

    ArgumentDescription
    shelfShelf name/id. Required. [R][D:1]
    resourceResource number. [W]
    adb_idAndroid device identifier (serial number).
    adb_productAndroid device product ID
    adb_modelAndroid device model ID
    adb_deviceAndroid device device ID
    lf_usernameLANforge Interop app user-name
    sdk_versionAndroid sdk version (example: 19)
    sdk_releaseAndroid sdk release (example: 4.4.2)
    app_identifierIdentifier that App and adb can both query (mac of wlan0)
    device_typeInterop device type
    bt_ctrl_devFilepath 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

  6. adb_wifi_event
    This is used internally by LANforge to listen for WiFi events from adb.

    ArgumentDescription
    deviceADB device name. [R]
    eventWhat happened. [R]
    statusStatus on what happened.
    msgEntire event in human readable form.
    status2Status on what happened.

    Syntax: adb_wifi_event device event status msg status2

  7. rm_adb
    Remove an adb device. ADB Device must be phantom to be removed.

    ArgumentDescription
    shelfShelf name/id. Required. [R][D:1]
    resourceResource number. [W]
    adb_idAndroid device identifier (serial number).

    Syntax: rm_adb shelf resource adb_id

  8. add_arm_endp
    Add an Armageddon endpoint. Armageddon endpoints are kernel accelerated, and often run many times faster than regular LANforge endpoints, especially for smaller packets. The feature set is optimized for quickly generating lots of packets from different source and destination addresses (mac, IP, ip-port, etc).

    Related Commands

    postexec_cli      | nc_show_endp %{alias}
    preexec_method    | baseCheckPortExists
    

    ArgumentDescription
    aliasName of endpoint. [R]
    shelfShelf name/id. Required.[D:1]
    resourceResource number.
    portPort number or name.
    typeEndpoint Type : arm_udp.
    ppsPackets per second to generate.
    pkt_szMinimum packet size, including all Ethernet headers.
    mx_pkt_szMaximum packet size, including all Ethernet headers.
    cpu_idPreferred CPU ID on which this endpoint should run.
    tosThe 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

  9. add_cx
    Add a cross-connect to a test-manager. The endpoints must have already been created.

    Related Commands

    postexec_cli       | show_cx %{test_mgr} %{alias}
    

    ArgumentDescription
    aliasName of the Cross Connect to create. [R]
    test_mgrName of test-manager to create the CX on. [W][D:default_tm]
    tx_endpName of Transmitting endpoint. [R]
    rx_endpName of Receiving endpoint. [W]

    Syntax: add_cx alias test_mgr tx_endp rx_endp

  10. add_cd
    Add a Collision Domain (CD). A CD is a group of WanLinks and/or Virtual-Routers that are considered to be in the same collision domain. For instance, when emulating clients talking to an AP, all of the WanLinks associated with this emulated AP should be in the same Collision Domain.

    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.
    

    ArgumentDescription
    shelfShelf name/id. [R][D:1]
    resourceResource number. [W]
    aliasName of Collision Domain. [W]
    typeCD Type: WIFI, WISER_SURFACE, WISER_SURFACE_AIR, WISER_AIR_AIR, WISER_NCW
    bpsMaximum speed at which this collision domain can run.
    report_timerHow often to report stats.
    stateRUNNING or STOPPED (default is RUNNING). Use this to start/stop.
    flagsSee above. Leave blank or use 'NA' for no default values.

    Syntax: add_cd shelf resource alias type bps report_timer state flags

  11. add_cd_endp
    Add an Endpoint to a Collision Domain. The endpoint must be a WanLink Endpoint. If the endpoint is currently in another Collision Domain, it will be migrated to the new one safely.

    ArgumentDescription
    cdName of Collision Domain. [R]
    endpEndpoint name/id. [R]

    Syntax: add_cd_endp cd endp

  12. add_cd_vr
    Add a Virtual Router to a Collision Domain. If the VR is currently in another Collision Domain, it will be migrated to the new one safely.

    ArgumentDescription
    cdName of Collision Domain. [R]
    vrVirtual-Router name/ID. [R]

    Syntax: add_cd_vr cd vr

  13. add_chamber
    Add/Modify a Chamber entry. A chamber may have up to 4 LANforge resources and up to 4 DUTs. It may also have up to 16 RF Connections defined, including Connections with attenuation configured.

    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.
    

    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.

    ArgumentDescription
    nameName of Chamber, unique identifier. [R]
    flagsFlag field for Chamber, see above.
    isolationEstimated isolation in db for this chamber.
    chamber_typeChamber type, see above. Use 1 for Medium if uncertain.
    dut_name1Name of first DUT in this chamber or NA
    dut_name2Name of second DUT in this chamber or NA
    dut_name3Name of third DUT in this chamber or NA
    dut_name4Name of fourth DUT in this chamber or NA
    lanforge1EID of first LANforge Resource in this chamber or NA
    lanforge2EID of second LANforge Resource in this chamber or NA
    lanforge3EID of third LANforge Resource in this chamber or NA
    lanforge4EID of fourth LANforge Resource in this chamber or NA
    flags_maskMask of what flags to pay attention to, or NA for all.
    XX coordinate to be used when drawn in the LANforge-GUI.
    YY coordinate to be used when drawn in the LANforge-GUI.
    widthWidth to be used when drawn in the LANforge-GUI.
    heightHeight to be used when drawn in the LANforge-GUI.
    resourceLANforge Resource ID for controlling turn-table via serial protocol.
    turntable_typeTurn-Table type: see above.
    sma_countNumber 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

  14. add_chamber_cx
    Add/Modify a Chamber connection. A chamber may have up to 32 connections defined.

    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!
    

    ArgumentDescription
    nameName of Chamber, unique identifier. [R]
    connection_idxConnection index, currently up to 32 connections supported (0-31) [R]
    internalInternal (1) or not (0): Internal connections are no longer supported.
    flagsFlag field for Chamber Connection, see above.
    a_idEidAntenna in string format for A side connection.
    b_idEidAntenna in string format for B side connection.
    atten_idEID for the Attenuator module if one is inline on this connection.
    flags_maskMask of what flags to pay attention to, or NA for all.
    min_attenSpecify minimum attenuation in 10ths of a db. Distance logic will not set atten below this.
    zrssi2Specify 2.4Ghz zero-attenuation RSSI in 10ths of a db. Distance logic will consider this in its calculations.
    zrssi5Specify 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

  15. add_chamber_path
    This text (x,y,ticks triples) will be added to the end of the specified path. The text must be entered one line at a time, primarily due to CLI parsing limitations. X and Y are coordinates, with 0,0 being top-left. Ticks are units of time that the chamber object should stay in the specified location before moving to the next waypoint. When re-playing a path, the ticks will be converted into units of time based on the specified replay speed. Setting the path content to [BLANK] will delete it. You can also use the 'rm_chamber_path' command to delete one or all paths.

    ArgumentDescription
    chamberChamber Name. [R]
    pathPath 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

  16. add_dut
    Add/Modify a Device-Under-Test (DUT) entry. The DUT is primarily informational and used to help customize reports and automate high-level test cases.

    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.
    

    ArgumentDescription
    nameName of DUT, cannot contain '.' [R]
    flagsFlag field for DUT, see above.
    img_fileFile-Name for image to represent DUT.
    sw_versionDUT Software Version information
    hw_versionDUT Hardware Version information
    model_numDUT Model information
    serial_numDUT Identifier (serial-number, etc)
    serial_portResource 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_portIP/Mask for WAN port
    lan_portIP/Mask for LAN port
    ssid1WiFi SSID that can be used to connect to DUT
    passwd1WiFi Password that can be used to connect to DUT
    ssid2WiFi SSID that can be used to connect to DUT
    passwd2WiFi Password that can be used to connect to DUT
    ssid3WiFi SSID that can be used to connect to DUT
    passwd3WiFi Password that can be used to connect to DUT
    mgt_ipManagement IP Address to access DUT
    api_idDUT API Identifier (none specified yet)
    flags_maskOptional mask to specify what DUT flags are being set.
    antenna_count1Antenna count for first radio.
    antenna_count2Antenna count for second radio.
    antenna_count3Antenna count for third radio.
    bssid1BSSID for first radio.
    bssid2BSSID for second radio.
    bssid3BSSID for third radio.
    top_left_xX Location for Chamber View.
    top_left_yX Location for Chamber View.
    eap_idEAP 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

  17. add_dut_ssid
    SSID configuration for a Device-Under-Test (DUT) entry.

    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
    

    ArgumentDescription
    nameName of DUT, cannot contain '.' [R]
    ssid_idxIndex of the SSID. Zero-based indexing: (0 - 7) [W]
    ssidWiFi SSID that can be used to connect to DUT
    passwdWiFi Password that can be used to connect to DUT
    bssidBSSID for cooresponding SSID.
    ssid_flagsSSID flags, see above.
    ssid_flags_maskSSID flags mask

    Syntax: add_dut_ssid name ssid_idx ssid passwd bssid ssid_flags ssid_flags_mask

  18. add_dut_notes
    This text will be added to the end of the notes field for DUTs. The text must be entered one line at a time, primarily due to CLI parsing limitations.

    ArgumentDescription
    dutDUT Name. [R]
    text[BLANK] will erase all, any other text will be appended to existing text. Unescaped Value

    Syntax: add_dut_notes dut text

  19. add_file_endp
    Add a File endpoint to the LANforge Manager. This endpoint can then be used to read and/or write data from/to the file system. This is most interesting when the file system in question is some sort of network file system like NFS or iSCSI. If the endpoint already exists, then this command may be used to update the values. This defaults to 4096 read/write sizes, but you can change that with the set_fe_info command.

    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
    

    Related Commands

    postexec_cli       | nc_show_endp %{alias}
    

    ArgumentDescription
    aliasName of endpoint. [R]
    shelfShelf name/id. [D:1]
    resourceResource number.
    portPort number or name.
    typeEndpoint Type (like fe_nfs)
    min_read_rateMinimum read rate, bits-per-second.
    max_read_rateMaximum read rate, bits-per-second.
    min_write_rateMinimum write rate, bits-per-second.
    max_write_rateMaximum write rate, bits-per-second.
    payload_patternPayload pattern, see above.
    directoryThe directory to read/write in. Absolute path suggested.
    prefixThe prefix of the file(s) to read/write.
    server_mountThe server to mount, ex: 192.168.100.5/exports/test1
    mount_optionsOptional mount options, passed to the mount command. 'NONE' clears.
    fio_flagsFile-IO flags, see above for details.
    mount_dirDirectory to mount/unmount (if blank, will use 'directory').
    volumeiSCSI volume to mount
    retry_timerNumber 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

  20. add_gen_endp
    Add a Generic endpoint to the LANforge Manager. This endpoint will cause an external program to be run, and the results will be sent back to the LANforge system. Due to parsing constraints, you can only use certain programs, but if LANforge does not support a program you want to use, please request the feature from Candela Technologies. Set the actual command to be executed command with set_gen_cmd

    Related Commands

    postexec_cli    | nc_show_endp %{alias}
    

    ArgumentDescription
    aliasName of endpoint. [R]
    shelfShelf name/id. [D:1]
    resourceResource number.
    portPort number or name.
    typeEndpoint Type : gen_generic [D:gen_generic]

    Syntax: add_gen_endp alias shelf resource port type

  21. add_l4_endp

    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.

    URL Syntax

    When entering a URL, use this syntax:
    [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:

    http
    http:// or https://user:password@host/file
    ftp
    ftp://user:password@host/file
    telnet
    telnet://host:port/
    tftp
    tftp://host/file

    Endpoint Type

    There is only one choice for Layer 4 type. This includes all URL protocols.
    l4_generic | # Layer 4 type
    

    URL List

    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

    Authentication

    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
    

    Speed

    For configuring speeds, the minimum of the URLs per second and the max_speed is used.

    CX Construction

    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

    Related Commands

    postexec_cli    | nc_show_endp %{alias}
    

    ArgumentDescription
    aliasName of endpoint. [R]
    shelfShelf name/id. [D:1]
    resourceResource number.
    portPort number or name.
    typeEndpoint Type : l4_generic
    proxy_portHTTP Proxy port if you are using a proxy.
    timeoutHow long to wait for a connection, in milliseconds
    url_rateHow often should we process the URL(s), per 10 minutes.
    • 600: 1/s
    • 1200: 2/s
    • 1800: 3/s
    • 2400: 4/s
    [R][D:600]
    URLThe URL, see syntax above. Can also be a local file.
    proxy_serverThe name of our proxy server if using one.
    proxy_userpwdThe user-name and password for proxy authentication, format: user:passwd.
    ssl_cert_fnameName of SSL Certs file.
    user_agentUser-Agent string. Leave blank for default. Also SMTP-TO: <a@b.com><c@d.com>...<q@x.com>
    proxy_auth_typeBit-field for allowable proxy-authenticate methods.
    http_auth_typeBit-field for allowable http-authenticate methods.
    dns_cache_timeoutIn seconds, how long to cache DNS lookups. 0 means no caching at all.
    max_speedIn bits-per-second, can rate limit upload or download speed of the URL contents. 0 means infinite.
    block_sizeTFTP Block size, in bytes.
    smtp_fromSMTP From address.
    ip_addrLocal IP address, for binding to specific secondary IP.
    quiesce_afterQuiesce test after this many URLs have been processed.
    quiesce_after_secQuiesce 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

  22. add_channel_group
    Add a grouping of DS0 channels to be used by PPP connections.

    Supported formats for the channels entry include:
    '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.
    

    ArgumentDescription
    aliasName for this Channel Group. [R]
    shelfShelf name/id. [R][D:1]
    resourceResource number. [W]
    span_numThe span number. First span is 1, second is 2... [W]
    channelsList of channels to add to this group.
    typeThe channel-type. Use 'clear' for PPP links.
    MTUMTU (and MRU) for this channel group. Must be a multiple of the number of channels if configuring a T1 WanLink.
    idle_flagIdle flag (byte) for this channel group, for instance: 0x7e

    Syntax: add_channel_group alias shelf resource span_num channels type MTU idle_flag

  23. add_ppp_link
    Add a PPP interface connection. Currently we only support PPP over channel-groups on T1 interfaces. Some of the arguments below are passed directly to the pppd process which negotiates and otherwise creates the ppp interface. You may want to read the man page for pppd for more in-depth discussion of the features.

    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.


    ArgumentDescription
    shelfShelf name/id. [R]
    resourceResource (machine) number. [W]
    unitUnit number for the PPP link. ie, the 7 in ppp7. [W]
    src_ipSource IP address for this PPP connection.
    dst_ipDestination IP address for this PPP connection.
    channel_groupsList of channel groups, see above.
    debugYES for debug, otherwise debugging for the ppp connection is off.
    authYES if you want to authenticate. Default is NO.
    persistYES if you want to persist the connection. This is suggested.
    lcp_echo_intervalSeconds between LCP echos, suggest 1.
    lcp_echo_failureLCP echo failures before we determine links is dead, suggest 5.
    holdoffSeconds between attempt to bring link back up if it dies, suggest 1.
    mlppp_descriptorA unique key for use with multi-link PPP connections.
    extra_argsExtra arguments to be passed directly to the pppd server.
    transport_typeWhat sort of transport this ppp link uses.
    pppoe_transport_portPort number (or name) for underlying PPPoE transport.
    tty_transport_deviceTTY device for PPP links associated with TTYs.
    run_time_min_msMinimum uptime (ms) for PPP link during an experiment, or 0 for the link to be always up.
    run_time_max_msMaximum uptime (ms) for PPP link during an experiment, or 0 for the link to be always up.
    down_time_min_msMinimum length of downtime (ms) for PPP link between runs, or 0 for the link to be always up.
    down_time_max_msMaximum 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

  24. add_profile
    Add LANforge device profile. This can give a high level description of how the LANforge system should act. The profile can then be selected in higher-level test cases to auto-generate lower level configuration.

    Wifi_Mode

    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)
    

    profile_type

    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.
    
    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

    ArgumentDescription
    nameProfile Name. [R]
    profile_typeProfile type: See above.
    wifi_modeWiFi Mode for this profile.
    antennaAntenna count for this profile.
    instance_countNumber of devices (stations, vdevs, etc)
    freqWiFi frequency to be used, 0 means default.
    ssidWiFi SSID to be used, [BLANK] means any.
    passwdWiFi Password to be used (AP Mode), [BLANK] means no password.
    profile_flagsFlags for this profile, see above.
    flags_maskSpecify what flags to set.
    mac_patternOptional MAC-Address pattern, for instance: xx:xx:xx:*:*:xx
    bandwidth0 (auto), 20, 40, 80, 160 or 320
    eap_idEAP Identifier
    alias_prefixPort alias prefix, aka hostname prefix.
    vidVlan-ID (only valid for vlan profiles).
    txpowerWiFi 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

  25. add_profile_notes
    This text will be added to the end of the notes field for Profiles. The text must be entered one line at a time, primarily due to CLI parsing limitations.

    ArgumentDescription
    dutProfile Name. [R]
    text[BLANK] will erase all, any other text will be appended to existing text. Unescaped Value

    Syntax: add_profile_notes dut text

  26. add_traffic_profile
    Add LANforge traffic profile. This can give a high level description of how the LANforge system should generate and/or receive traffic. The profile can then be selected in higher-level test cases to auto-generate lower level configuration.

    Type

    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

    ArgumentDescription
    nameProfile Name. [R]
    typeProfile type: See above.
    min_speedMain-Direction Speed in bps.
    max_speedMain-Direction Speed in bps.
    min_pduMinimum PDU size
    max_pduMinimum PDU size
    tosIP Type-of-Service
    instance_countNumber of connections per device
    traffic_profile_flagsFlags for this profile, none defined at this point.
    traffic_profile_flags_maskSpecify what flags to set.
    min_speedOpposite-Direction Speed in bps.
    max_speedOpposite-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

  27. add_traffic_profile_notes
    This text will be added to the end of the notes field for Profiles. The text must be entered one line at a time, primarily due to CLI parsing limitations.

    ArgumentDescription
    dutProfile 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

  28. add_text_blob
    These objects are typically used by the GUI or other automated scripts and are not directly parsed or used by the LANforge server.

    ArgumentDescription
    typeText type identifier stream, for instance 'cv-connectivity' [R]
    nameText 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

  29. add_t1_span
    Add a T1/E1 SPAN to the LANforge Manager. You will have to actually have T1/E1 hardware in the system before this is a useful thing to do. You will then be able to create channel-groups and PPP links. For the first_channel, the setting will depend on the T1/E1 port you wish to use. The first T1/E1 resource will have the first_channel of 1, the second at 25, the third at 49, etc.

    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'.

    ArgumentDescription
    shelfShelf name/id. [R][D:1]
    resourceResource number. [W]
    typeCurrently supported types listed above. [W]
    span_numThe span number. First span is 1, second is 2... [W]
    first_channelThe first DS0 channel for this span.
    timingTiming: 0 == do not use, 1 == primary, 2 == secondary..
    buildoutBuildout, Integer, see above.
    framingFraming: T1: esf or d4. E1: cas or ccs.
    codingCoding: T1: ami or b8zs. E1: ami or hdb3
    pci_busPCI Bus number, needed for Sangoma resources.
    pci_slotPCI slot number, needed for Sangoma resources.
    CPU_IDCPU identifier (A, B, etc) for multiport Sangoma resources.
    MTUMTU 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

  30. add_voip_endp
    Add a VOIP (Voice over IP) to the LANforge Manager. If the endpoint already exists, then this command may be used to update the values. If the sip_gateway is 'AUTO', then the management IP for that particular machine will be used.

    ArgumentDescription
    aliasName of endpoint. [R]
    shelfShelf name/id. [D:1]
    resourceResource number.
    portPort number or name.
    phone_numPhone number for Endpoint
    rtp_portRTP port to use for send and receive.
    sip_gatewaySIP Gateway/Proxy Name, this is who to register with, or AUTO
    tx_sound_fileFile name containing the sound sample we will be playing.
    rx_sound_fileFile name to save received PCM data to. Will be in WAV format, or AUTO
    VAD_timerHow much silence (milliseconds) before VAD is enabled.
    VAD_max_timerHow often should we force a packet, even if VAD is on.
    gateway_portIP Port for SIP gateway (defaults to 5060).
    display_nameUser-Name to be displayed. Use AUTO to display phone number. BT Identifier for Mobile.
    proxy_passwdPassword to be used when registering with proxy/gateway.
    peer_phone_numUse AUTO to use phone number of peer endpoint, otherwise specify a number: user[@host[:port]]
    auth_user_nameUse this field for authentication user name. AUTO or blank mean use phone number.
    ip_addrUse this IP for local IP address. Useful when there are multiple IPs on a port.

    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

  31. add_vr
    Add or modify a Virtual Router. Virtual Routers are used in conjunction with LANforge-ICE to provide advanced network emulation. Flags are defined as:
    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.
    

    ArgumentDescription
    aliasName of virtual router. [R]
    shelfShelf name/id. [R][D:1]
    resourceResource number. [W]
    notesNotes for this Virtual Router. Put in quotes if the notes include white-space.
    XX coordinate to be used when drawn in the LANforge-GUI.
    YY coordinate to be used when drawn in the LANforge-GUI.
    widthWidth to be used when drawn in the LANforge-GUI.
    heightHeight to be used when drawn in the LANforge-GUI.
    flagsVirtual router flags, see above for definitions.
    vr_idLeave 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

  32. add_vr_bgp
    Add BGP configuration to a virtual router. Flags:
    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.
    

    ArgumentDescription
    vr_idName of virtual router. [R]
    shelfShelf name/id. [R][D:1]
    resourceResource number. [W]
    bgp_idBGP Identifier: IPv4 Address
    local_asBGP Autonomous System number, 1-65535
    flagsVirtual router BGP flags, see above for definitions.
    cluster_idCluster ID, IPv4 Address. Use NA if not clustering.
    confed_idConfederation ID 1-65535. Use NA if not in a confederation.
    half_lifeHalflife in minutes for damping configuration.
    max_suppressMaximum hold down time in minutes for damping configuration.
    reuseRoute flag damping reuse threshold, in minutes.
    suppressRoute 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

  33. add_bgp_peer
    Add/Modify BGP peer configuration to a virtual router. Flags:
    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.
    

    ArgumentDescription
    vr_idName of virtual router. [R]
    shelfShelf name/id. [R][D:1]
    resourceResource number. [W]
    peer_indexPeer index in this virtual router (0-7).
    flagsVirtual router BGP Peer flags, see above for definitions.
    peer_idBGP Peer Identifier: IPv4 Address
    asBGP Peer Autonomous System number, 0-65535
    local_devBGP Peer Local interface.
    nexthopBGP Peer Nexthop, IPv4 Address.
    holdtimeBGP Peer hold-time.
    delay_open_timeBGP Peer delay open time.
    nexthop6BGP 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

  34. add_vrcx
    Add or modify a Virtual Router Connection Endpoint. Virtual Router Connection Endpoints are used to logically connect two Virtual Routers with an emulated network link. Typically, 2 pairs of redirect virtual interfaces are bridged by a WanLink (which provides the network emulation.) The 'A' port in each pair of redirect devices is associated with one virtual router and has and IP address. Both endpoints should have the IP on the same subnet. The WanLink bridges the two 'B' sides of the redirect device pair. A pair of Connection Endpoint objects are required, with reversed values in their port configuration to make a connection. Flags can be entered in HEX if preceded by 0x. Add flags together to get desired options. Must use apply_vr_cfg for changes to take effect.
    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
    

    ArgumentDescription
    shelfShelf name/id. [R][D:1]
    resourceResource number. [W]
    vr_nameVirtual Router this endpoint belongs to. Use 'FREE_LIST' to add a stand-alone endpoint. [R][D:FREE_LIST]
    local_devName of port A, the local network device pair.
    local_dev_bName of port B for the local redirect device pair.
    remote_devName the remote network device.
    remote_dev_bName of port B for the remote network device.
    wanlinkThe name of the WanLink that connects the two B ports.
    XX coordinate to be used when drawn in the LANforge-GUI.
    YY coordinate to be used when drawn in the LANforge-GUI.
    widthWidth to be used when drawn in the LANforge-GUI.
    heightHeight to be used when drawn in the LANforge-GUI.
    flagsFlags, specify if subnets 0-7 are in use, see above for others.
    subnetsSubnets associated with this link, format: 1.1.1.1/24,1.1.2.1/16...
    nexthopThe next-hop to use when routing packets out this interface.
    dhcp_lease_timeDHCP Lease time (in seconds)
    dhcp_dnsIP Address of DNS server.
    dhcp_minMinimum IP address range to serve.
    dhcp_maxMinimum IP address range to serve.
    dhcp_domainDHCP Domain name to serve.
    interface_costIf using OSPF, this sets the cost for this link (1-65535).
    ospf_areaIf using OSPF, this sets the OSPF area for this interface. Default is 0.0.0.0.
    rip_metricIf using RIP, this determines the RIP metric (cost), (1-15, 15 is infinite).
    vrrp_ipVRRP IPv4 address..ignored if not flagged for VRRP.
    vrrp_ip_prefixNumber of bits in subnet mask, ie 24 for 255.255.255.0
    vrrp_idVRRP id, must be unique in this virtual router (1-255)
    vrrp_priorityVRRP Priority (1-255, higher is more priority.)
    vrrp_intervalVRRP broadcast message interval, in seconds (1-255)
    dhcp_dns6IPv6 Address of DNS server.
    dhcp_min6Minimum IPv6 address to serve.
    dhcp_max6Minimum 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

  35. add_vrcx2
    Modify a Virtual Router Connection Endpoint. There were getting to be too many options to fit in the add_vrcx command, so this second command will need to be used for certain configuration.

    ArgumentDescription
    shelfShelf name/id. [R][D:1]
    resourceResource number. [W]
    vr_nameVirtual Router this endpoint belongs to. Use 'FREE_LIST' to add a stand-alone endpoint. [W][D:FREE_LIST]
    local_devName of port A for the connection.
    subnets6IPv6 Subnets associated with this link, format: aaaa:bbbb::0/64,cccc:dddd:eeee::0/64...
    nexthop6The IPv6 next-hop to use when routing packets out this interface.
    dhcp_ignore1MAC address and per 65535 chance MAC should be ignored by DHCPd, format: MAC-prcnt, example: 00:11:22:33:44:55-65535
    dhcp_ignore2MAC address and per 65535 chance MAC should be ignored by DHCPd, format: MAC-prcnt, example: 00:11:22:33:44:55-65535
    dhcp_ignore3MAC address and per 65535 chance MAC should be ignored by DHCPd, format: MAC-prcnt, example: 00:11:22:33:44:55-65535
    dhcp_ignore4MAC 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

  36. set_vrcx_cost
    Modify a Virtual Router Connection interface cost. See 'add_vrcx' for info on how to create a connection.

    ArgumentDescription
    shelfShelf name/id. [R][D:1]
    resourceResource number. [W]
    vr_nameVirtual Router this endpoint belongs to. Use 'FREE_LIST' to add a stand-alone endpoint. [W][D:FREE_LIST]
    local_devName of port A for the local redirect device pair.
    local_dev_bName of port B for the local redirect device pair.
    remote_devName of port B for the remote redirect device pair.
    remote_dev_bName of port B for the remote redirect device pair.
    wanlinkThe name of the WanLink that connects the two B ports.
    interface_costIf 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

  37. add_endp
    Add an endpoint to the LANforge Manager. The endpoint may then be added to a cross-connect. If the endpoint already exists, then this command may be used to update the values. Note that you can leave everything after 'port' off the command, and default values will be used. If you are configuring a TCP connection to make many connections, then use 0 (zero) for the IP Port so that the OS can choose a new one for each connection.

    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
    

    Related Commands

    postexec_cli       | nc_show_endp %{alias}
    

    ArgumentDescription
    aliasName of endpoint. [R]
    shelfShelf name/id. [D:1]
    resourceResource number.
    portPort/Interface name or number.
    typeEndpoint Type: See above.
    ip_portIP 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_burstyYes means bursty, anything else means NO.
    min_rateMinimum transmit rate (bps), or only rate if not bursty.
    max_rateMaximum transmit rate (bps), used if in bursty mode.
    is_pkt_sz_randomYes means use random sized packets, anything else means NO.
    min_pktMinimum packet size, including all headers. -1 means AUTO (5.3.2+) [D:-1]
    max_pktMaximum packet size, including all headers. 0 means 'same', -1 means AUTO (5.3.2+) [D:0]
    payload_patternPayload pattern, see above.
    use_checksumYes means checksum the payload, anything else means NO.
    ttlTime-to-live, used by UDP Multicast Endpoints only.
    send_bad_crc_per_millionIf NIC supports it, will randomly send X per million packets with bad ethernet Frame Check Sum.
    multi_connIf > 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

  38. add_event

    Related Commands


    ArgumentDescription
    event_idNumeric ID for the event to modify, or 'new' if creating a new one. [W][D:new]
    detailsEvent text description. Cannot include double-quote characters.
    prioritySee set_event_priority for available priorities.
    nameEvent entity name.

    Syntax: add_event event_id details priority name

  39. add_bond
    Add a Linux Bond Device. Specify one or more network devices to be added to the bonded interface.

    ArgumentDescription
    shelfShelf number. [R][D:1]
    resourceResource number. [W]
    portName of the bond device. [W]
    network_devsComma-separated list of network devices: eth1,eth2,eth3... [W]

    Syntax: add_bond shelf resource port network_devs

  40. add_br
    Add a Linux Bridge Device. Specify one or more network devices to be added to the bridge. This requires that the 'bridge-utils' package be installed on your Linux system. Most of the bridge settings are only used if spanning-tree is enabled. For more information on the spanning-tree values, see: br_* configuration is ignored. br_flags can be:
    none        |     0x0      # no features
    stp_enabled |     0x1      # Enable Spanning Tree Protocol (STP)
    

    ArgumentDescription
    shelfShelf number. [R][D:1]
    resourceResource number. [W]
    portName of the bridge device. [W]
    network_devsComma-separated list of network devices: eth1,eth2,eth3...
    br_flagsBridge flags, see above.
    br_priorityBridge priority, 16-bit number.
    br_aging_timeMAC aging time, in seconds, 32-bit number.
    br_max_ageHow long until STP considers a non-responsive bridge dead.
    br_hello_timeHow often does the bridge send out STP hello packets.
    br_forwarding_delayHow 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

  41. add_mvlan
    Add a MAC based VLAN. This command requires that the designated machine support the macvlan kernel module. A MAC-VLAN interface is a light-weight virtual interface that is made unique by its MAC address. Do not add two MAC vlans with the same MAC to the same interface. In most cases, you do not want to duplicate a MAC at all! After creating the MAC-VLAN interface, you will need to configure its IP and other information. If you wish to create a MAC VLAN with a specific name, specify the index as well. If not specified, one will be automatically selected for you. 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

    ArgumentDescription
    shelfShelf number. [R][D:1]
    resourceResource number. [W]
    portPort number of an existing Ethernet interface. [W]
    MACThe MAC address, can also use parent-pattern in 5.3.8 and higher: xx:xx:xx:*:*:xx
    indexOptional: The index of the VLAN, (the 4 in eth0#4)
    old_nameThe temporary name, used for configuring un-discovered hardware.
    report_timerReport timer for this port, leave blank or use NA for defaults.
    flags0x1: Create admin-down.

    Syntax: add_mvlan shelf resource port MAC index old_name report_timer flags

  42. add_rdd
    Add a Redirect-Device. This command requires that the designated machine support the redirdev kernel module. Redirect-Devices act like a pair of physical Ethernet interfaces connected externally by a loop-back cable, and are useful for creating virtual networks. Currently, the main reason to do this is to run LANforge ICE on a single interface in conjunction with routing. The basic idea is to create a pair of redirect devices. Give one an IP address that you want the local machine to have. The other redirect interface in the pair will not have an IP address and will be bridged by LANforge ICE (WanLink) to the real Ethernet interface, which also will not have an IP address. It is possible to add 802.1Q and MAC-VLANs on top of redirect devices as well.

    To create an redirect-device pair, run this command twice, for example:

    add_rdd 1 1 rdd0 rdd1
    add_rdd 1 1 rdd1 rdd0

    ArgumentDescription
    shelfShelf number. [R][D:1]
    resourceResource number. [W]
    portName of the Redirect Device to create. [W]
    peer_ifnameThe peer (other) RedirectDevice in this pair.
    report_timerReport timer for this port, leave blank or use NA for defaults.

    Syntax: add_rdd shelf resource port peer_ifname report_timer

  43. add_gre
    Add a GRE Tunnel. These are point-to-point devices often used to connect to Cisco and similar routed networks.

    ArgumentDescription
    shelfShelf number. [R][D:1]
    resourceResource number. [W]
    portName of the GRE to create, suggested to start with 'gre' [W]
    local_lower_ipThe local lower-level IP to use.
    remote_lower_ipThe remote lower-level IP to use.
    report_timerReport 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

  44. add_sec_ip
    Add or update secondary IP Address(es). Secondary IPs can be used to send and receive traffic, and are generally lighter weight than mac-vlans. They do share a network device (including routing table, MAC address, and network stats) with the base device, so they are not quite as flexible as mac-vlans and other virtual interfaces.

    ArgumentDescription
    shelfShelf number. [R][D:1]
    resourceResource number. [W]
    portName of network device (Port) to which these IPs will be added. [W]
    ip_listIP1/prefix,IP2/prefix,...IPZ/prefix. [W]

    Syntax: add_sec_ip shelf resource port ip_list

  45. add_vlan
    Add an 802.1Q VLAN. This command requires that the designated machine support the 8021q kernel module. After creating the 802.1Q VLAN interface, you will need to configure its IP and other information.

    ArgumentDescription
    shelfShelf number. [R][D:1]
    resourceResource number. [W]
    portPort number of an existing Ethernet interface. [W]
    vidThe VLAN-ID for this 802.1Q VLAN interface. [W]
    old_nameThe temporary name, used for configuring un-discovered hardware.
    report_timerReport timer for this port, leave blank or use NA for defaults.

    Syntax: add_vlan shelf resource port vid old_name report_timer

  46. add_venue
    Add or modify a Venue. Venues are used to group WiFi stations and vAP, but unless you are using certain third party integrated tools, this will not have any affect on LANforge. If you are not sure what this is for, then it is not for you!

    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
    

    ArgumentDescription
    shelfShelf number. [R][D:1]
    resourceResource number. [W]
    venu_idNumber to uniquely identify this venue on this resource. [W]
    x1Floating point coordinate for lower-left corner.
    y1Floating point coordinate for lower-left corner.
    x2Floating point coordinate for upper-right corner.
    y2Floating point coordinate for upper-right corner.
    freq_24Frequency list for 2.4Ghz band, see above.
    freq_5Frequency list for 5Ghz band, see above.
    descriptionUser-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

  47. add_sta
    Add a WIFI Virtual Station (Virtual STA) interface. This command requires that the designated machine support LANforge driver for the Atheros brand WIFI NICs. A Virtual STA interface is a virtual interface that acts like a real wireless client. After creating the Virtual STA interface, you will need to configure its IP and other information. NA can be used for any values that you do not wish to modify.

    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
    

    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.

    Rate configuration:

    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
    

    Groups:

    • 802.11b
    • 802.11/a/g
    • 802.11/a/b/g
    • 1 Stream /n
    • 2 Streams /n
    • 3 Streams /n
    • v-1 Stream /AC
    • v-2 Streams /AC
    • v-3 Streams /AC

    Mode

    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)
    

    Related Commands

    preexec_method     | baseCheckRadioExists
    postexec_cli       | nc_show_port %{shelf} %{resource} %{sta_name} 0x1
    
    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

    ArgumentDescription
    shelfShelf number. [R][D:1]
    resourceResource number. [W]
    radioName of the physical radio interface, for example: wiphy0
    sta_nameName for this Virtual STA, for example: sta0 [W]
    flagsFlags for this interface (see above.)
    ssidSSID for this Virtual STA. Use [BLANK] for empty SSID. Start with 0x for HEX interpretation.
    nicknameNickname for this Virtual STA. (No longer used)
    keyEncryption key (WEP, WPA, WPA2, WPA3, etc) for this Virtual STA. Prepend with 0x for ascii-hex input.
    APThe Access Point BSSID this Virtual STA should be associated with (example: 00:11:22:33:4:55, or DEFAULT for any).
    wpa_cfg_fileWPA Supplicant config file.
    MACThe MAC address, can also use parent-pattern in 5.3.8 and higher: xx:xx:xx:*:*:xx
    modeWiFi mode: See above, use the numeric value (0 means AUTO, 1 means 802.11a, etc. [D:0]
    rateMax rate, see help above.
    MAX_AMSDU1 == enabled, 0 == disabled, 0xFF == do not set.
    AMPDU_factor0-3, or 0xFF to not set.
    AMPDU_density0-7, or 0xFF to not set.
    sta_br_IPIP Address for station bridging. Set to 0.0.0.0 to use MAC bridging.
    flags_maskIf set, only these flags will be considered.
    ieee80211wManagement Frame Protection: 0: disabled, 1: optional, 2: Required.
    x_coordFloating point number.
    y_coordFloating point number.
    z_coordFloating 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

  48. add_vap
    Add a WIFI Virtual Access Point (VAP) interface. This command requires that the designated machine support the LANforge wifi driver for the Atheros brand WIFI NICs. A Virtual AP interface is a virtual interface that acts like a real Access Point. After creating the Virtual AP interface, you will need to configure it's IP and other information. 'NA' can be used for any values that you do not wish to modify.

    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

    ArgumentDescription
    shelfShelf number. [R][D:1]
    resourceResource number. [W]
    radioName of the physical radio interface, for example: wiphy0 [W]
    ap_nameName for this Virtual AP, for example: vap0
    flagsFlags for this interface (see above.)
    ssidSSID for this Virtual AP.
    keyEncryption key for this Virtual AP. Prepend with 0x for ascii-hex representation.
    MACThe MAC address, can also use parent-pattern in 5.3.8 and higher: xx:xx:xx:*:*:xx
    beaconThe beacon interval, in 1kus (1.024 ms), default 100, range: 15..65535
    frag_threshUN-USED, Was Fragmentation threshold, which is now set with set_wifi_radio, use NA
    custom_cfgCustom hostapd config file, if you want to craft your own config.
    max_staMaximum number of Stations allowed to join this AP (1..2007)
    dtim_periodDTIM period, range 1..255. Default 2.
    modeWiFi mode: see table
    flags_maskIf set, only these flags will be considered.
    rateMax rate, see help for add_vsta
    x_coordFloating point number.
    y_coordFloating point number.
    z_coordFloating point number.
    ieee80211wManagement 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

  49. add_monitor
    Add a WIFI Monitor interface. These are useful for doing low-level wifi packet capturing. Flags are currently defined as:
    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.
    

    ArgumentDescription
    shelfShelf number. [R][D:1]
    resourceResource number. [W]
    radioName of the physical radio interface, for example: wiphy0
    ap_nameName for this Monitor interface, for example: moni0 [W]
    flagsFlags for this monitor interface.
    flags_maskFlags mask for this monitor interface.
    aidAID, may be used when sniffing on /AX radios.
    bssidBSSID to use when sniffing on /AX radios, optional.

    Syntax: add_monitor shelf resource radio ap_name flags flags_mask aid bssid

  50. add_tm
    Create and add a new test manager to the system. A test manager is a collection of cross-connects that compose a connection group. Users can be assigned to these groups and the groups can be password protected. This can be used to more easily share LANforge resources among several users. See Also: tm_register, add_group

    ArgumentDescription
    nameThe name of the test manager. Must be unique across test managers. [R]

    Syntax: add_tm name

  51. add_group
    Create a new connection group. Connection groups are used to easily control and script collections of cross-connects. The CX types can be different within the group.
    group_total_rates |  0x4   # Set rates as total for group.
    
    See Also: add_tgcx

    ArgumentDescription
    nameThe name of the connection group. Must be unique across all groups. [R]
    flagsFlags for this group, see above.
    flags_maskMask for flags that we care about, use 0xFFFFFFFF or leave blank for all.

    Syntax: add_group name flags flags_mask

  52. add_tgcx
    Adds CX to connection group. See Also: rm_tgcx, add_group

    ArgumentDescription
    tgnameThe name of the connection group. [R]
    cxnameThe name of the CX. [R]

    Syntax: add_tgcx tgname cxname

  53. add_wl_endp
    Add a WanLink (ICE) endpoint to the LANforge Manager. The endpoint may then be added to a cross-connect. If the endpoint already exists, then this command may be used to update the values. Note that you can leave everything after port off the command, and default values will be used.

    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
    

    ArgumentDescription
    aliasName of endpoint. [R]
    shelfShelf name/id. [D:1]
    resourceResource number.
    portPort number or name.
    latencyThe latency (ms) that will be added to each packet entering this WanLink.
    max_rateMaximum transmit rate (bps) for this WanLink.
    descriptionDescription for this endpoint, put in single quotes if it contains spaces.
    cpu_idThe CPU/thread that this process should run on (kernel-mode only).
    wle_flagsWanLink Endpoint specific flags, see above.

    Syntax: add_wl_endp alias shelf resource port latency max_rate description cpu_id wle_flags

  54. add_wanpath
    Add a WanPath personality to a WanLink. The WanPath is like a virtual WanLink between a source and destination IP or IP range. For instance, if you want communications between server A and client C to be different from communications between server B and client C, then you can set up two WanPaths to specify that behaviour. If the specified WanPath already exists, this command can be used to modify the existing values

    ArgumentDescription
    wanlinkName of WanLink to which we are adding this WanPath. [R]
    aliasName of WanPath. [R]
    speedThe maximum speed this WanLink will accept (bps).
    latencyThe base latency added to all packets, in milliseconds (or add 'us' suffix for microseconds)
    max_jitterThe maximum jitter, in milliseconds (or add 'us' suffix for microseconds)
    extra_bufferThe extra amount of bytes to buffer before dropping pkts, in units of 1024, use -1 for AUTO. [D:-1]
    reorder_freqHow often, out of 1,000,000 packets, should we make a packet out of order.
    drop_freqHow often, out of 1,000,000 packets, should we purposefully drop a packet.
    dup_freqHow often, out of 1,000,000 packets, should we purposefully duplicate a packet.
    source_ipSelection filter: Source IP.
    source_ip_maskSelection filter: Source IP MASK.
    dest_ipSelection filter: Destination IP.
    dest_ip_maskSelection filter: Destination IP MASK.
    playback_captureON or OFF, should we play back a WAN capture file?
    playback_capture_fileName of the WAN capture file to play back.
    playback_loopShould we loop the playback file, YES or NO or NA.
    ignore_bandwidthShould we ignore the bandwidth settings from the playback file? YES, NO, or NA.
    ignore_lossShould we ignore the packet-loss settings from the playback file? YES, NO, or NA.
    ignore_latencyShould we ignore the latency settings from the playback file? YES, NO, or NA.
    ignore_dupShould we ignore the Duplicate Packet settings from the playback file? YES, NO, or NA.
    jitter_freqHow often, out of 1,000,000 packets, should we apply random jitter.
    min_drop_amtMinimum amount of packets to drop in a row. Default is 1. [D:1]
    max_drop_amtMaximum amount of packets to drop in a row. Default is 1. [D:1]
    min_reorder_amtMinimum amount of packets by which to reorder, Default is 1. [D:1]
    max_reorder_amtMaximum amount of packets by which to reorder, Default is 10. [D:10]
    drop_every_xth_pktYES to periodically drop every Xth pkt, NO to drop packets randomly.
    dup_every_xth_pktYES to periodically duplicate every Xth pkt, NO to duplicate packets randomly.
    reorder_every_xth_pktYES to periodically reorder every Xth pkt, NO to reorder packets randomly.
    test_mgrThe name of the Test-Manager this WanPath is to use. Leave blank for no restrictions.
    max_latenessMaximum amount of un-intentional delay before pkt is dropped. Default is AUTO
    follow_binomialYES 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

  55. admin
    Various back-door commands. Current supported commands are:
    upgrade
    Upgrade lanforge using lf_kinstall script currently installed on the LANforge system. Task executes in background and will reboot the LANforge when complete. First argument is resource-id (or ALL) Second argument is lfver, for instance: 5.4.6 Third argument is kfver, for instance: 5.19.17+ Fourth is extra arguments sent to lf_kinstall.pl, leave blank if unsure.
    dhcpd
    DHCPd event callback, creates event. First argument is network device name Second argument is dhcpd message.
    mobile
    Mobile phone (hands free) script callback. First argument is endpoint name Second argument is call event type: answered or completed. Third argument is Pesq test file path or peer phone number Fourth argument is mob connection type: BT or cable
    resync_clock
    Used on windows to force re-sync with the system clock.
    write_xorp_cfg [xorp-port]
    Re-write out the xorp-config file.
    ensure_port [iface-name] [lanforge-iface-idx] [noprobe]
    Helper process only.
    scan_complete [rslt-file-name] [request-key]
    Used by WiFi scan logic.
    probe_complete [rslt-file-name] [request-key]
    Used by WiFi logic.
    ifup_post_complete [iface-name] [message]
    Tell LF that ifup script is complete.
    flush_complete
    Tell resource all initial config has been sent from mgr.
    chamber [id] [angle] [flags] [table-speed-rpm]
    Chamber helper script callback. Angle is in 1/10 of a degree.
    req_migrate [port-eid] [destination-radio] [mac-pattern]
    This will attempt to migrate a virtual station to a new radio. Any existing traffic connections will migrate with the station. The station may be re-named, but its MAC address and other configuration will remain the same (unless mac-pattern) is specified, in which case a new MAC will be created). If the destination-radio is not specified, then another radio will be chosen automatically. Example: admin req_migrate 1.2.sta30 1.1.wiphy1 xx:xx:xx:xx:*:xx
    rfgen [id] [message]
    API for the rfgen process to report status back to LANforge. Parsed messages are: starting, running, stopping, stopped, exiting Any other text will be treated as an error message to be delivered to the user(s).
    clean_logs
    This will remove all LANforge related log files and restart logging with new log files. This will also reset WiFi radios so that related logs are restarted, so it is fairly disruptive.
    log_complete
    An asynchronous log-gathering action has completed. Argument 1 is the name of the file.
    adb_complete
    An asynchronous ADB command has completed. Argument 1 adb-device, arg2 is file-name, arg3 is key
    write_xorp_cfg only works on 'resource' processes.

    ArgumentDescription
    cmdAdmin command: resync_clock|write_xorp_cfg|scan_complete|ifup_post_complete|flush_complete|req_migrate|rfgen|chamber|clean_logs|upgrade|mobile|dhcpd
    arg1Argument 1: xorp-port | scan-rslts-file | iface-name | iface-eid | rfgen-message | id | log_file_name
    arg2Argument 2: scan key | message | angle | dest-radio | adb-filename | lfver | event-id
    arg3Argument 3: noprobe | migrate-sta-mac-pattern | adb-key | kver | event-value-1
    arg5Argument 4: table-speed | extra-upgrade-args | event-value-2

    Syntax: admin cmd arg1 arg2 arg3 arg5

  56. apply_vr_cfg
    Apply all of the virtual routing settings for this Resource. This causes the routing tables to be created and configured properly for the specified configuration. This command should be run after making one or more changes to the virtual routers or virtual router connections. Please note that running this command when there are lots of virtual routers configured can take a long time. Check the status of the Card for percentage complete. Also, while this process is running, you will not be able to configure ports or virtual-router configuration.

    ArgumentDescription
    shelfThe number of the shelf in question, or 'ALL'. [R][D:ALL]
    resourceThe number of the resource in question, or 'ALL'. [W]

    Syntax: apply_vr_cfg shelf resource

  57. cancel_vr_cfg
    Setting up virtual router configurations can take a long time when there are lots of virtual routers. This command can cancel a configuration process before it is complete. Please note: the routing tables will be in an un-determined state after this, until you re-run the virtual router setup.

    ArgumentDescription
    shelfThe number of the shelf in question, or 'ALL'. [R][D:ALL]
    resourceThe number of the resource in question, or 'ALL'. [W]

    Syntax: cancel_vr_cfg shelf resource

  58. clear_cx_counters
    Clear counters for one or all cross-connects.
    PORTS_TOO  | 0x01    # Clear port counters this CX uses as well.
    SEND_EVENT | 0x02    # Send event when clearing counters.
    

    ArgumentDescription
    cx_nameName of Cross Connect, or 'all'. Null argument is same as 'all'. [W][D:all]
    clear_flagsOptional argument to control clear logic.

    Syntax: clear_cx_counters cx_name clear_flags

  59. clear_endp_counters
    Clear counters for one or all endpoints. just_lat: If YES, then just clear latency counters. just_lat: If RXGAP, then just clear the rxgap counters (5.4.2 and higher releases) Otherwise, all counters will be cleared.
    PORTS_TOO  | 0x01    # Clear this endpoint's port counters as well.
    SEND_EVENT | 0x02    # Send event when clearing counters.
    

    ArgumentDescription
    endp_nameName of Endpoint, or 'all'. Null argument is same as 'all'. [W][D:all]
    just_latencyEnter 'YES' if you only want to clear latency counters, and see above for RXGAP.
    incr_seqnoEnter 'YES' if you want the target to increment the cfg-seq-no.
    clear_flagsOptional argument to control clear logic. Ignored if just_latency is specified.

    Syntax: clear_endp_counters endp_name just_latency incr_seqno clear_flags

  60. clear_cd_counters
    Clear counters for one or all Collision Domains.

    ArgumentDescription
    cd_nameName of Collision Domain, or 'all'. Null argument is same as 'all'. [W][D:all]

    Syntax: clear_cd_counters cd_name

  61. clear_group
    Clears all cross-connects in a connection group See Also: add_group, add_tgcx, stop_group
    PORTS_TOO  | 0x01    # Clear this endpoint's port counters as well.
    SEND_EVENT | 0x02    # Send event when clearing counters.
    

    ArgumentDescription
    nameThe name of the connection group. [W]

    Syntax: clear_group name

  62. clear_port_counters
    Clear counters on one or all ports on one or all resources. If extra is set to one of the below DHCP options, then counters will not be cleared, but the DHCP objects in question will be cleared. If DHCP is running, it will be stopped before clearing, and then restarted.
    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
    

    ArgumentDescription
    shelfThe number of the shelf in question, or 'ALL'. [R][D:1]
    resourceThe number of the resource in question, or 'ALL'. [W]
    portThe number of the port in question, or 'ALL'. [W]
    extraClear something else instead: dhcp4_lease | dhcp6_lease | dhcp_leases

    Syntax: clear_port_counters shelf resource port extra

  63. clear_resource_counters
    Clear counters on one or all resources.

    ArgumentDescription
    shelfThe number of the shelf in question, or 'ALL'. [R][D:1]
    resourceThe number of the resource in question, or 'ALL'. [W]

    Syntax: clear_resource_counters shelf resource

  64. clear_wifi_profiles
    This will clear wifi profiles from the device in question. Initial use is for ADB devices, probably will want to do similar for other 'real' devices in the future.

    ArgumentDescription
    shelfShelf number, or ALL. [R][D:1]
    resourceResource number, or ALL. [W]
    typeObject type: adb, or ALL.
    idObject identifier: adb-id, or ALL.
    except_ssidDo not delete profiles that reference this SSID, NA deletes all.

    Syntax: clear_wifi_profiles shelf resource type id except_ssid

  65. clear_wp_counters
    Clear WanPath counters for one endpoint.

    ArgumentDescription
    endp_nameName of WanLink Endpoint. [W]
    wp_nameName of WanPath to clear.

    Syntax: clear_wp_counters endp_name wp_name

  66. discover
    Force discovery of nodes on the management network. Note that discovery runs automatically about every minute. option argument: Set to 'disconnect' to force disconnect to remote resource process. Set to 'adb' for ADB device discovery.

    ArgumentDescription
    shelfShelf-ID, only used if discovering Attenuators. [R][D:1]
    resourceResource ID. Use if discovering Attenuators or ADB devices. [W]
    optionSee above.

    Syntax: discover shelf resource option

  67. diag
    This command prints out information that can be used by support staff to diagnose certain issues.

    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    |#
    

    ArgumentDescription
    typeDefault (blank) is everything, options: alerts, license, counters, fds, clients, endpoints, shelf, iobuffer.
    arg1Optional: Endpoint name to diag.

    Syntax: diag type arg1

  68. notify_dhcp
    Handle input from the DHCP client process. This should not normally be called by users, but only by other LANforge processes. This always assumes local shelf/card, so they are not specified.

    ArgumentDescription
    cmdset/down/timeout/info: What does DHCP want us to do? [W]
    portInterface name. [W]
    reasonDHCP reason, informational mostly.
    new_ipNew IP address.
    netmaskNew subnet mask.
    new_mtuNew MTU.
    new_routerOne or more default routers. LANforge will only use the first one.
    new_dnsNew DNS server(s) for use by this interface.
    new_ip6New Global IPv6 address: ipv6/prefix

    Syntax: notify_dhcp cmd port reason new_ip netmask new_mtu new_router new_dns new_ip6

  69. do_pesq
    This command starts a PESQ calculation for the results saved by a VOIP endpoint. This command is usually used internally by LANforge so it is unlikely you will ever use it directly. The LANforge system will determine the source file (which must exist on the receiving machine in the same place it does on the transmitting machine) and send a request to the LANforge PESQ server to compare the source to the result file specified in this command.

    The results will be associated with the VOIP endpoint and may be displayed with the show_pesq command


    ArgumentDescription
    endp_nameName of Endpoint. [W]
    result_file_nameThe name of the file received by the endpoint. [W]

    Syntax: do_pesq endp_name result_file_name

  70. file
    Transfer files through LANforge API. This will include upload and download.

    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.
    

    ArgumentDescription
    shelfShelf ID [R][D:1]
    cardResource ID [W]
    cmdOnly 'Download' supported for now, 'Upload' reserved for future use. [W][D:Download]
    filenameFile to transfer. [W]
    req_idRequest identifier, uint32. Will be passed back in response frames.
    client_idInternal use only.
    flagsOptions for the file operation, see above.

    Syntax: file shelf card cmd filename req_id client_id flags

  71. gossip
    Send a message to everyone else logged in to the server.

    ArgumentDescription
    messageMessage to show to others currently logged on. Unescaped Value [W]

    Syntax: gossip message

  72. getintxrate
    Get the tx rate (packets per second) over the last 3 seconds. Values will always be fresh (cached values are not used). Value will be an integer.

    Response: InTxRate=INTEGER


    ArgumentDescription
    CXCross-connect or Connection-Group name [W]
    AorBFor endpoint a, enter 'A', for endpoint b, enter 'B'.

    Syntax: getintxrate CX AorB

  73. getinrxrate
    Get the rx rate (packets per second) over the last 3 seconds. Values will always be fresh (cached values are not used). Value will be an integer.

    Response: InRxRate=INTEGER


    ArgumentDescription
    CXCross-connect or Connection-Group name [W]
    AorBFor endpoint a, enter 'A', for endpoint b, enter 'B'.

    Syntax: getinrxrate CX AorB

  74. getinrxbps
    Get the rx bits-per-second rate over the last 3 seconds. Values will always be fresh (cached values are not used). Value will be an integer.

    Response: InRxBps=INTEGER


    ArgumentDescription
    CXCross-connect or Connection-Group name [W]
    AorBFor endpoint a, enter 'A', for endpoint b, enter 'B'.

    Syntax: getinrxbps CX AorB

  75. gettxpkts
    Get the total tx packets count. Values will always be fresh (cached values are not used). Value will be an integer.

    Response: TxPkts=INTEGER


    ArgumentDescription
    CXCross-connect or Connection-Group name [W]
    AorBFor endpoint a, enter 'A', for endpoint b, enter 'B'.

    Syntax: gettxpkts CX AorB

  76. getrxpkts
    Get the total rx packets count. Values will always be fresh (cached values are not used). Value will be an integer.

    Response: RxPkts=INTEGER


    ArgumentDescription
    CXCross-connect or Connection-Group name [W]
    AorBFor endpoint a, enter 'A', for endpoint b, enter 'B'.

    Syntax: getrxpkts CX AorB

  77. getpktdrops
    Get the total packets dropped. The drops will be detected by sequence number gaps, and will be based on packets RECEIVED by this endpoint. Values will always be fresh (cached values are not used). Value will be an integer.

    Response: PktDrops=INTEGER


    ArgumentDescription
    CXCross-connect or Connection-Group name [W]
    AorBFor AtoB, enter 'B', for BtoA, enter 'A'.

    Syntax: getpktdrops CX AorB

  78. getavglatency
    Get the average latency (over the last 30 seconds) for packets received by and endpoint. Values will always be fresh (cached values are not used). Value will be an integer, units are milliseconds.

    Response: AvgLatency=INTEGER


    ArgumentDescription
    CXCross-connect or Connection-Group name [W]
    AorBFor AtoB, enter 'B', for BtoA, enter 'A'.

    Syntax: getavglatency CX AorB

  79. getrxporterrpkts
    Get the total error packets detected on the receiving port (interface). The errors will be based on what is reported by the driver and/or hardware for this interface. Values will always be fresh (cached values are not used). Value will be an integer.

    Response: RxPortErrPkts=INTEGER


    ArgumentDescription
    CXCross-connect name [W]
    AorBFor AtoB, enter 'B', for BtoA, enter 'A'.

    Syntax: getrxporterrpkts CX AorB

  80. getrxendperrpkts
    Get the total error packets detected on the receiving endpoint. The errors will be the sum of things like CRC errors, packets received on the wrong device, and any other errors we can detect for this particular endpoint. Values will always be fresh (cached values are not used). Value will be an integer.

    Response: RxEndpErrPkts=INTEGER


    ArgumentDescription
    CXCross-connect or Connection-Group name [W]
    AorBFor AtoB, enter 'B', for BtoA, enter 'A'.

    Syntax: getrxendperrpkts CX AorB

  81. getipadd
    Get the IP for the endpoint. Value will be cached (but IP addresses do not often change, so the result should almost always be immediately correct.) Response: IPAdd=xxx.xxx.xxx.xxx

    ArgumentDescription
    CXCross-connect name [W]
    AorBFor endpoint a, enter 'A', for endpoint b, enter 'B'.

    Syntax: getipadd CX AorB

  82. getmask
    Get the IP Mask for the endpoint. Value will be cached (but IP addresses do not often change, so the result should almost always be immediately correct.) Response: Mask=xxx.xxx.xxx.xxx

    ArgumentDescription
    CXCross-connect name
    AorBFor endpoint a, enter 'A', for endpoint b, enter 'B'.

    Syntax: getmask CX AorB

  83. getmac
    Get the MAC address for the endpoint. Value will be cached (but IP addresses do not often change, so the result should almost always be immediately correct.) Response: MAC=aa:bb:cc:dd:ee:ff

    ArgumentDescription
    CXCross-connect name [W]
    AorBFor endpoint a, enter 'A', for endpoint b, enter 'B'.

    Syntax: getmac CX AorB

  84. ?
    Show help for commands(s). If no command is specified, then a brief listing of all commands will be printed out. If a command is specified, then a verbose printing of that command will be printed.

    ArgumentDescription
    commandThe command to get help for. Can be 'all', or blank.

    Syntax: ? command

  85. init_wiser
    Initialize the Wiser NCW/HNW module. This requires that one have the proper library installed. Contact sales@candelatech.com if you have questions. If the file_name has spaces in it, be sure to enclose it in double quotes.

    ArgumentDescription
    shelfThe number of the shelf in question. [R][D:1]
    resourceThe number of the resource in question. [W]
    file_nameThe WISER file name for the desired emulation, or 'NA' for empty string.
    node_countThe number of WISER nodes for the desired emulation, or 'NA' for empty string.

    Syntax: init_wiser shelf resource file_name node_count

  86. ios
    For IPC - SwiftUI sending information to BTSERVER

    Operations are defined as follows. - setresourceinfo - devicestats - urlreport


    ArgumentDescription
    cmdOperation that device is requesting
    arg1arg1
    arg2arg2
    arg3arg3
    arg4arg4
    arg5arg5
    arg6arg6
    arg7arg7
    arg8arg8
    arg9arg9
    arg10arg10
    arg11arg11
    arg12arg12
    arg13arg13
    arg14arg14
    arg15arg15
    arg16arg16
    arg17arg17
    arg18arg18
    arg19arg19
    arg20arg20

    Syntax: ios cmd arg1 arg2 arg3 arg4 arg5 arg6 arg7 arg8 arg9 arg10 arg11 arg12 arg13 arg14 arg15 arg16 arg17 arg18 arg19 arg20

  87. licenses
    Print out license information. See also: set_license

    ArgumentDescription
    popupIf 'popup', then cause a GUI popup msg, otherwise, just show text.
    show_fileIf 'yes', then show the license file, not the parsed license information.

    Syntax: licenses popup show_file

  88. load
    This command will completely erase the current setup in memory and replace it with the database specified with this command. You must specify a database to be loaded, though note that if you specify a database that does not exist, and chose 'overwrite', you will effectively initialize the LANforge system to defaults. The default database is called: DFLT

    ArgumentDescription
    nameThe name of the database to load. (DFLT is the default) [W]
    actionShould be 'append' or 'overwrite'. [W]
    clean_dutIf yes, then DUT will be cleaned up when overwrite is selected, otherwise they will be kept.
    clean_chambersIf yes, then Chambers will be cleaned up when overwrite is selected, otherwise they will be kept.
    clean_profilesIf yes, then clean all profiles when overwrite is selected, otherwise they will be kept.

    Syntax: load name action clean_dut clean_chambers clean_profiles

  89. login
    If you are the first to use this name, a new client will be created for you. If this is an existing client account, then you take on the characteristics of that client. At this time, that is only a few flags. If the password is set for this client, and the password given here is invalid, the client will not be logged in as the new user. See set_password to modify the password.

    ArgumentDescription
    nameA single name with no white-spaces (15 characters or less) [W]
    passwordCan be blank or 'NA' if no password is set, otherwise must be the password.

    Syntax: login name password

  90. create_client
    Create a new client (user).

    ArgumentDescription
    nameA single name with no white-spaces (15 characters or less) [W]
    passwordCan be blank or 'NA' if no password is set, otherwise must be the password. Use IGNORE for no change.
    super_user1 If you want this user to have Administrative powers, 0 or blank otherwise.

    Syntax: create_client name password super_user

  91. log_capture
    Save log files to a specified location, useful for gathering stuff for automated testing.
    adb         |#
    journalctl  |#
    hostapd     |#
    lflogs      |#
    supplicant  |#
    
    async_feedback | %{user_key}
    
    adb
    Android ADB logs.
    identifier: adb device id
    duration: 'all' means entire file, a number X in seconds grabs last 'x' seconds of logs. This can take a while, so it is done asynchronously. A keyed message even will be sent when the log is complete.
    hostapd
    Logs from hostapd (VAP).
    identifier: vap port name
    duration: 'all' means entire file, a number X in seconds grabs last 'x' seconds of logs.
    journalctl
    System and kernel logs.
    identifier: NA
    duration: 'boot' means since boot, other values are passed to --since argument of journalctl, so use things like: '10 minutes ago'
    lflogs
    LANforge manager (resource 0) or resource (resource 1+) logs.
    identifier: NA
    duration: 'all' means entire file, a number X in seconds grabs last 'x' seconds of logs.
    supplicant
    Logs from wpa_supplicant (STA ports)
    identifier: port (wifi radio) name
    duration: 'all' means entire file, a number X in seconds grabs last 'x' seconds of logs.

    ArgumentDescription
    shelfThe number of the shelf in question. [R][D:1]
    resourceThe number of the resource in question. [W]
    typejournalctl, supplicant, lflogs, adb, hostapd [W]
    identifierport name or other identifier needed for some types, NA if not used.
    durationFor journalctl, seconds of logs to gather, or NA if not used.
    destinationWhere to save the file to on the LANforge resource. If 'stdout', then content will be passed back as a keyed text message. [R]
    user_keyKey to use for keyed-text-message response when using stdout destination [W]

    Syntax: log_capture shelf resource type identifier duration destination user_key

  92. log_level
    Sets the logging level for the primary log stream. The values are bit-fields: add them together to get the desired level. If you enter log_level by itself, then you can see the current level.

    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
    

    ArgumentDescription
    levelInteger corresponding to the logging flags. [W]
    targetOptions: 'gnu' | [file-endp-name].

    Syntax: log_level level target

  93. log_msg
    Send an message to the LANforge log file.

    ArgumentDescription
    messageMessage to log. Unescaped Value [W]

    Syntax: log_msg message

  94. motd
    This command prints out alerts and other info that may be useful for debugging LANforge configuration problems.

    Syntax: motd

  95. nc_show_endpoints
    Show one or all endpoints. Will NOT use cached values. Some endpoint types take an extra argument to specify what to show more precisely: Generic endpoints check extra for 'history' and in that case they will report recent output, not just the last line of output.

    ArgumentDescription
    endpointName of endpoint, or 'all'. [W]
    extraSee above.

    Syntax: nc_show_endpoints endpoint extra

  96. nc_show_pesq
    Show PESQ results for one or all VOIP endpoints. Will NOT use cached values.

    ArgumentDescription
    endpointName of endpoint, or 'all'. [W]

    Syntax: nc_show_pesq endpoint

  97. nc_show_ports
    Show one/all ports for one/all resources in one/all shelves. This command WILL NOT use cached values, so it will be a little slower. It is useful for scripts and situations where the 3-5 second caching is to slow to yield the results needed.

    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.
    

    ArgumentDescription
    shelfName/id of the shelf, or 'all'. [R][D:1]
    resourceResource number, or 'all'. [W]
    portPort number, or 'all'. [W]
    probe_flagsSee above, add them together for multiple probings. Leave blank if you want stats only.

    Syntax: nc_show_ports shelf resource port probe_flags

  98. c_show_ports
    Show one/all ports for one/all resources in one/all shelves. This command will ALWAYS use cached values, so it may return stale values. It is useful when the system cannot return non-cached values due to timeouts, and perhaps for configuration information that does not need to be probed.

    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.
    

    ArgumentDescription
    shelfName/id of the shelf, or 'all'. [R][D:1]
    resourceResource number, or 'all'. [W]
    portPort number, or 'all'. [W]
    probe_flagsSee above, add them together for multiple probings. Leave blank if you want stats only.

    Syntax: c_show_ports shelf resource port probe_flags

  99. nc_show_channel_groups
    Show one/all ChannelGroups for one/all resources in one/all shelves. An empty specifier will be treated as 'all'. Will always request the absolute latest information from the remote system(s)

    ArgumentDescription
    shelfName/id of the shelf, or 'all'. [R][D:1]
    resourceResource number, or 'all'. [W]
    channel_nameName of the channel, or 'all'. [W]

    Syntax: nc_show_channel_groups shelf resource channel_name

  100. nc_show_spans
    Show one/all Spans for one/all resources in one/all shelves. An empty specifier will be treated as 'all'. Will always request the absolute latest information from the remote system(s)

    ArgumentDescription
    shelfName/id of the shelf, or 'all'. [R][D:1]
    resourceResource number, or 'all'. [W]
    span_numberSpan-Number of the span, or 'all'. [W]

    Syntax: nc_show_spans shelf resource span_number

  101. nc_show_vr
    Show one/all Virtual Routers for one/all resources in one/all shelves. An empty specifier will be treated as 'all'. This command will always request the absolute latest information from the remote system(s)

    ArgumentDescription
    shelfName/id of the shelf, or 'all'. [R][D:1]
    resourceResource number, or 'all'. [W]
    routerName of the Virtual Router, or 'all'. [W]

    Syntax: nc_show_vr shelf resource router

  102. nc_show_vrcx
    Show one/all Virtual Router Connections for one/all resources in one/all shelves. Only Connections on the 'free-list', those not associated with any Virtual Router will be shown with this command unless you exactly specify the VRCX Name. If the VRCX is in a virtual router, only cached results will be shown. Connections associated with routers will be shown whith the 'show_vr' command with the rest of the router information. This command will always request the absolute latest information from the remote system(s)

    ArgumentDescription
    shelfName/id of the shelf, or 'all'. [R][D:1]
    resourceResource number, or 'all'. [W]
    cx_nameName of the Virtual Router Connection, or 'all'. [W]

    Syntax: nc_show_vrcx shelf resource cx_name

  103. nc_show_cd
    Show one/all Collision Domains for one/all resources in one/all shelves. An empty specifier will be treated as 'all'. This command will always request the absolute latest information from the remote system(s)

    ArgumentDescription
    shelfName/id of the shelf, or 'all'. [R][D:1]
    resourceResource number, or 'all'. [W]
    collision_domainName of the Collision Domain, or 'all'. [W]

    Syntax: nc_show_cd shelf resource collision_domain

  104. nc_show_ppp_links
    Show one/all PPP Links for one/all resources in one/all shelves. An empty specifier will be treated as 'all'.

    ArgumentDescription
    shelfName/id of the shelf, or 'all'. [R][D:1]
    resourceResource number, or 'all'. [W]
    link_numPpp-Link number of the span, or 'all'. [W]

    Syntax: nc_show_ppp_links shelf resource link_num

  105. probe_port
    This calls various command-line tools to probe the port and returns the results as a text message. This command will trigger a popup message in the LANforge client. To disable that popup, append the key probe_port.quiet.[EID] where EID is the Shelf, Resource, and ID of the port being probed. E.G.:
    probe_port 1 1 br0 probe_port.quiet.1.1.3

    ArgumentDescription
    shelfShelf number. [R][D:1]
    resourceResource number. [W]
    portPort number or name [W]
    keyUnique identifier for this request. Usually left blank.
    Use 'probe_port.quiet.[EID]' to suppress popup.

    Syntax: probe_port shelf resource port key

  106. probe_ports
    Check for the existence of new (virtual) interfaces.

    ArgumentDescription
    shelfName/id of the shelf, or 'all'. [R][D:1]
    resourceResource number, or 'all'. [W]

    Syntax: probe_ports shelf resource

  107. port_reset_completed
    Internal command used by port-reset script to notify LANforge the reset has completed. This is only valid for Resource processes.

    ArgumentDescription
    portThe port in question. [W]
    typeSUNOS, NORMAL, or SECIP..let us know what kind of reset completed.
    extraIP for SECIP, blank for others.

    Syntax: port_reset_completed port type extra

  108. exit
    Log out of the LANforge control server.

    Syntax: exit

  109. report
    Configure server side reporting. This is useful if you want the LANforge-Manager to save reports instead of the LANforge-GUI.

    ArgumentDescription
    rpt_dirDirectory in which reports should be saved. [W]
    reporting_onShould we globally enable/disable reporting. (YES, NO or NA)
    save_endpsShould we save endpoint reports or not. (YES, NO or NA)
    save_resourceShould we save Resource reports or not. (YES, NO or NA)
    save_portsShould we save Port reports or not. (YES, NO or NA)

    Syntax: report rpt_dir reporting_on save_endps save_resource save_ports

  110. reset_port
    This command will cause the driver on the selected ports to reset the driver (admin down, admin up). It will also re-initialize all of the routing information for that interface. This command will disrupt traffic, but it can be useful if the port locks up or if you wish to restart higher level services (such as dhcp and supplicant for wifi). See the user-guide section on setting up IP addresses and routing for more information.

    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)
    

    ArgumentDescription
    shelfShelf number, or ALL. [R][D:1]
    resourceResource number, or ALL. [W]
    portPort number to reset, or ALL. [W]
    reset_ospfIf set to 'NO' or 'NA', then OSPF will not be updated. Otherwise, it will be updated.
    pre_ifdownSee above. Leave blank or use NA if unsure.

    Syntax: reset_port shelf resource port reset_ospf pre_ifdown

  111. reset_serial_span
    This command will cause the Serial Span (T1, etc) driver to be reloaded. This may help work around bugs in the T1 driver and/or hardware.

    ArgumentDescription
    shelfShelf number [R][D:1]
    resourceResource (machine) number. [W]
    spanSerial-Span number to reset. [W]

    Syntax: reset_serial_span shelf resource span

  112. reboot_os
    This will reboot the Operating System on the resource specified. All processes will be killed on that resource, of course. Upon reboot, server processes will be re-started, including the LANforge server. See also: reboot_OS

    ArgumentDescription
    shelfShelf number, or ALL. [R][D:1]
    resourceResource number, or ALL. [W]

    Syntax: reboot_os shelf resource

  113. rm_attenuator

    ArgumentDescription
    shelfShelf number, usually 1 [R][D:1]
    resourceResource number [W]
    sernoSerial number for requested Attenuator. [W]

    Syntax: rm_attenuator shelf resource serno

  114. rm_chamber

    ArgumentDescription
    chamberChamber name, or 'ALL' [W]

    Syntax: rm_chamber chamber

  115. rm_chamber_path
    Remove one or all chamber paths from a chamber.

    ArgumentDescription
    chamberChamber Name. [W]
    pathPath Name, use 'ALL' to delete all paths. [W]

    Syntax: rm_chamber_path chamber path

  116. rm_dut

    ArgumentDescription
    shelfDUT name, or 'ALL' [W]

    Syntax: rm_dut shelf

  117. rm_rfgen

    ArgumentDescription
    shelfShelf number, usually 1 [R][D:1]
    resourceResource number [W]
    IDRF Generator ID (serial-number) [W]

    Syntax: rm_rfgen shelf resource ID

  118. rm_cd
    Remove a Collision Domain. Any endpoints still associated with this CD will be gracefully removed from the CD, but will not otherwise be affected.

    ArgumentDescription
    cdName of Collision Domain. [W]

    Syntax: rm_cd cd

  119. rm_cd_endp
    Remove an Endpoint from a Collision Domain.

    ArgumentDescription
    cdName of Collision Domain. [W]
    endpEndpoint name/id. [W]

    Syntax: rm_cd_endp cd endp

  120. rm_cd_vr
    Remove a Virtual Router from a Collision Domain.

    ArgumentDescription
    cdName of Collision Domain. [W]
    endpVirtual-Router name/id. [W]

    Syntax: rm_cd_vr cd endp

  121. rm_endp
    Remove an endpoint. 'YES_ALL' for endp-name will delete all endpoints.

    Related Commands

    postexec_cli      | nc_show_endp all
    preexec_method    | baseCheckEndpExists
    

    ArgumentDescription
    endp_nameName of the endpoint, or 'YES_ALL'. [W]

    Syntax: rm_endp endp_name

  122. rm_channel_group
    Remove a channel group, or set of groups.

    ArgumentDescription
    shelfName/id of the shelf, or 'all'. [R][D:1]
    resourceResource number, or 'all'. [W]
    channel_nameName of the channel, or 'all'. [W]

    Syntax: rm_channel_group shelf resource channel_name

  123. rm_event

    ArgumentDescription
    event_idNumeric event-id, or 'all' [W]

    Syntax: rm_event event_id

  124. rm_group
    Deletes a connection group. See Also: add_group, rm_tgcx

    ArgumentDescription
    nameThe name of the connection group. [W]

    Syntax: rm_group name

  125. rm_profile
    Remove Device Profile configuration.

    ArgumentDescription
    nameProfile name, or 'ALL' [W]

    Syntax: rm_profile name

  126. rm_text_blob
    Remove Text Blob.

    ArgumentDescription
    typeText Blob type, or 'ALL' [W]
    nameText Blob Name, or 'ALL' [W]

    Syntax: rm_text_blob type name

  127. rm_traffic_profile
    Remove Traffic Profile configuration.

    ArgumentDescription
    nameProfile name, or 'ALL' [W]

    Syntax: rm_traffic_profile name

  128. rm_threshold
    Remove a threshold-alert for a particular endpoint.

    ArgumentDescription
    endpEndpoint name or ID. [W]
    thresh_idThreshold ID to remove. Use 'all' to remove all. [W]

    Syntax: rm_threshold endp thresh_id

  129. rm_tgcx
    Removes CX from connection group. See Also: add_tgcx, add_group

    ArgumentDescription
    tgnameThe name of the connection group. [W]
    cxnameThe name of the CX. [W]

    Syntax: rm_tgcx tgname cxname

  130. rm_venue
    Remove a venue

    ArgumentDescription
    shelfShelf number. [R][D:1]
    resourceResource number, or 'ALL' [W]
    venu_idNumber to uniquely identify this venue on this resource, or 'ALL' [W]

    Syntax: rm_venue shelf resource venu_id

  131. rm_vr
    Remove one or all Virtual Routers.

    ArgumentDescription
    shelfName/id of the shelf, or 'all'. [R][D:1]
    resourceResource number, or 'all'. [W]
    router_nameVirtual Router name, or 'all'. [W]

    Syntax: rm_vr shelf resource router_name

  132. rm_vrcx
    Remove one or all Virtual Router Connections on the free-list. Underlying objects will be deleted if they were auto-created to begin with unless you specify the last argument as 'vrcx_only'.

    ArgumentDescription
    shelfName/id of the shelf, or 'all'. [R][D:1]
    resourceResource number, or 'all'. [W]
    connection_nameVirtual Router Connection name, or 'all'. [W]
    vrcx_onlyIf we should NOT delete underlying auto-created objects, enter 'vrcx_only' here, otherwise leave blank or use NA.
    vr_idIf 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

  133. rm_span
    Remove a Serial Span (T1, etc), or a set of spans.

    ArgumentDescription
    shelfName/id of the shelf, or 'all'. [R][D:1]
    resourceResource number, or 'all'. [W]
    span_numSpan-Number of the channel, or 'all'. [W]

    Syntax: rm_span shelf resource span_num

  134. rm_ppp_link
    Remove a PppLink.

    ArgumentDescription
    shelfName/id of the shelf. [R][D:1]
    resourceResource number that holds this PppLink. [W]
    unit_numUnit-Number for the PppLink to be deleted. [W]

    Syntax: rm_ppp_link shelf resource unit_num

  135. rm_client
    Delete a stored client profile. The client cannot be logged on currently. Changes will not be permanent until you write out the database. The client will be removed from all test managers as well.

    ArgumentDescription
    client_nameName of the client profile you wish to remove. [W]
    client_passwordClient password. Not required if we are super-user.

    Syntax: rm_client client_name client_password

  136. rm_cx
    Delete a cross-connect from the system.

    Related Commands

    preexec_method    | baseCheckCxExists
    postexec_cli      | show_cx all
    

    ArgumentDescription
    test_mgrName of test-mgr, or 'all'. [W]
    cx_nameName of the cross-connect, or 'all'. [W]

    Syntax: rm_cx test_mgr cx_name

  137. rm_wanpath
    Remove one or all wanpaths from an endpoint.

    ArgumentDescription
    endp_nameName of the endpoint. [W]
    wp_nameName of the wanpath. [W]

    Syntax: rm_wanpath endp_name wp_name

  138. rm_db
    Delete a database.

    ArgumentDescription
    db_nameName of the database to delete. [W]

    Syntax: rm_db db_name

  139. rm_resource
    Remove a phantom Resource and all of its configuration.

    ArgumentDescription
    shelfShelf number. [R][D:1]
    resourceResource number. [W]

    Syntax: rm_resource shelf resource

  140. rm_sec_ip
    Remove secondary IP Address(es).

    Related Commands

    preexec_method  | baseCheckPortExists
    postexec_cli    | nc_show_ports %{shelf} %{resource} %{port}
    

    ArgumentDescription
    shelfShelf number. [R][D:1]
    resourceResource number. [W]
    portName of network device (Port) from which these IPs will be removed. [W]
    ip_listIP1/prefix,IP2/prefix,...IPZ/prefix, or ALL [W]

    Syntax: rm_sec_ip shelf resource port ip_list

  141. rm_vlan
    Remove an 802.1Q VLAN or MAC-VLAN.

    Related Commands

    preexec_method  | baseCheckPortExists
    postexec_cli    | nc_show_ports %{shelf} %{resource} all
    

    ArgumentDescription
    shelfShelf number. [R][D:1]
    resourceResource number. [W]
    portPort number or name of the virtual interface. [W]

    Syntax: rm_vlan shelf resource port

  142. rm_test_mgr
    Remove a test manager. Cross-connects will not be directly affected. There is no need to un-register clients first: This command will take care of that for you.

    ArgumentDescription
    test_mgrName of the test manager to be removed. [W]

    Syntax: rm_test_mgr test_mgr

  143. save
    This command allows you to save the current test configuration, including all Endpoints, and all TestManagers. You may then use the 'load' command to initialize the LANforge Manager with the previously saved database. If you do not specify a name, it will be saved as the default database (DFLT), and will be automatically loaded at startup.

    ArgumentDescription
    db_nameThe name the backup shall be saved as (blank means dflt)

    Syntax: save db_name

  144. scan_wifi
    Scan for WiFI access points. Only works for WiFI Virtual Station Interfaces (Virtual STA). The extra argument allows some control over how the scan is done:
    NA                   |  # (or left blank) the system does a full scan
    dump                 |  # then only cached values are returned
    trigger freq [freq]  |  # scan exactly those frequencies
    
    Example of scanning multiple frequencies:
    scan 1 1 sta1 NA 'trigger freq 5180 5300'

    ArgumentDescription
    shelfShelf number. [R][D:1]
    resourceResource number. [W]
    portPort number or name of the virtual interface. [W]
    keyUnique identifier for this request. Usually left blank.
    extraExtra arguments to the scan script, see above.

    Syntax: scan_wifi shelf resource port key extra

  145. set_arm_info
    Set Armageddon Endpoint configuration. You may enter AUTO for any value that you wish LANforge to calculate for you or set to defaults. Note that randomizing many of these values will mean packets may not be received on the receiving port due to routing or switching issues.

    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+)
    

    ArgumentDescription
    nameName of the Endpoint we are setting. [R]
    min_pkt_sizeMinimum packet size, including all Ethernet headers (but not CRC).
    max_pkt_sizeMaximum packet size, including all Ethernet headers (but not CRC).
    udp_src_minMinimum source UDP port.
    udp_src_maxMaximum source UDP port.
    udp_dst_minMinimum destination UDP port.
    udp_dst_maxMinimum destination UDP port.
    ip_src_minMinimum source IP address to use.
    ip_src_maxMaximum source IP address to use.
    ip_dst_minMinimum destination IP address to use.
    ip_dst_maxMaximum destination IP address to use.
    src_mac_countHow many source MACs to iterate through.
    dst_mac_countHow many destination MACs to iterate through.
    src_macThe source MAC address.
    dst_macThe destination MAC address.
    multi_pktsThe number of identical packets to send before creating a new one.
    pkts_to_sendThe number of packets to send. Set to zero for infinite.
    arm_flagsArmageddon-related flags, see above for details.
    burstBurst 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

  146. set_attenuator
    Set attenuation value on specified attenuator module. Units are 1/10 of a dB (ddB). To start/stop the Attenuator, which really only makes sense when using scripts on the Attenuator, set attenuator-index to 'all', and 'val' to START or STOP

    Attenuator Mode:

    0 |# Normal
    1 |# Pulse mode (API Tech 4205A modules directly connected via USB only)
    

    ArgumentDescription
    shelfShelf number, usually 1. [R][D:1]
    resourceResource number. [W]
    sernoSerial number for requested Attenuator, or 'all'. [W]
    atten_idxAttenuator index, or 'all'. [W]
    valRequested attenution in 1/10ths of dB (ddB). START, STOP will operate an attenuator script
    mode0 == normal attenuator, 1 == pulse mode (API Tech 4205A modules directly connected via USB only)
    pulse_width_us5Pulse width in units of 1/2 micro second. So, if you want 1.5us, use value 3 (0-60000)
    pulse_interval_msTime between pulses, in mili-seconds (0-60000).
    pulse_countNumber of pulses (0-255)
    pulse_time_msTime interval between pulse groups in miliseconds (1-60000)
    atten_countFor cases where we are creating/setting a phantom attenuator.
    ip_addrIP 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

  147. set_rfgen
    Set RF Noise-generator (RADAR) config.
    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-high
    
    Radar-Type:
    • FCC0: 0 # Uses pulse-width, pulse-interval, pulse-count
    • FCC1: 1 # Uses pulse-width, pulse-interval, pulse-count
    • FCC2: 2 # Uses pulse-width, pulse-interval, pulse-count
    • FCC3: 3 # Uses pulse-width, pulse-interval, pulse-count
    • FCC4: 4 # Uses pulse-width, pulse-interval, pulse-count
    • FCC5: 5 # Uses num-bursts, trials-center, trials-low, trials-high, uut-channel, freq-modulation
    • FCC5B: 6 # Uses burst-offset, pulse-width, chirp-freq-modulation, prf-1, prf-2, prf-3, pulse-count, uut-channel, carrier-freq
    • FCC6 7 # num-bursts (configured with 'pulse_count' field)
    • ETSI1: 8 # Uses pulse-width, prf-1
    • ETSI2: 9 # Uses pulse-width, prf-1
    • ETSI3: 10 # Uses pulse-width, prf-1
    • ETSI4: 11 # Uses pulse-width, prf
    • ETSI5: 12 # Uses pulse-width, prf-1, prf-2, prf-3
    • ETSI6: 13 # Uses pulse-width, prf-1, prf-2, prf-3
    • W53PULSE: 14 # Uses pulse-width, prf, number-of-pulses
    • W53CHIRP: 15 # Uses pulse-width, pri, long-pulse, chirp-width, prf, num-continuous-pairs, center-freq
    • GENERIC: 16 # Uses pulse-width, pulse-interval, pulse-count
    • OFDM: 17 # Modulated wifi signal. Uses duration, header-modulation, payload-modulation, on-t1, off-t1, on-t2, off-t2, on-t3, off-t3
    • PULSE_DETECT: 18 # Launch rf analyzer, uses freq, trigger_dbm
    • W56PULSE: 19 # Uses pulse-width, prf-1, pulse-count
    • KOREA1: 20 # Uses pulse-width, prf-1, pulse-count
    • KOREA2: 21 # Uses pulse-width, prf-1, pulse-count
    • KOREA3: 22 # Uses pulse-width, prf-1, pulse-count
    • KOREA4: 23 # Uses pulse-width, prf-1, pulse-count
    • CHINA0: 24 # Uses pulse-width, prf-1
    • CHINA1: 25 # Uses pulse-width, prf-1
    • CHINA2: 26 # Uses pulse-width, prf-1
    • CHINA3: 27 # Uses pulse-width, prf-1
    • CHINA4: 28 # Modulated radar test signal. Uses pulse-wdith, prf-1
    • CHINA5: 29 # Uses pulse-width, prf-1, prf-2, prf-3
    • CHINA6: 30 # Uses pulse-width, prf-1, prf-2, prf-3

    ArgumentDescription
    shelfShelf number, usually 1. [R][D:1]
    resourceResource number. [W]
    idRF Generator ID (serial number) [W]
    rfgen_flagsRF Generator flags, see above.
    rfgen_flags_maskMask of what flags to set, see above.
    pulse_width_usRequested pulse width, units are in micro-seconds. Fractional units (0.5) accepted.
    pulse_interval_usTime between pulses, in micro-seconds.
    pulse_countNumber of pulses (0-255). Continuous pairs of pulses for W53.
    sweep_time_msTime interval between pulse groups in miliseconds
    freq_khzCenter frequency in Khz
    gainMain TX/RX Amp, 0 or 14 (dB), default is 14
    if_gainFine-tune TX/RX Gain, 0 - 40 dB
    bb_gainRX Gain, 0 - 62 in 2dB steps
    radar_typeFCC, ETSI and other RF noise patterns.
    prf1ETSI/FCC5/W53 pulse repetition frequency.
    prf2ETSI/FCC5 pulse repetition frequency.
    prf3ETSI/FCC5 pulse repetition frequency.
    freq_modulationFCC5B setting, 5-20.
    uut_channelFCC5 setting, 20, 40, 80 or 160.
    burst_offsetFCC5B burst offset in usec. Blank-time for W53-Chirp.
    long_pulse_width_usRequested long pulse width for W53 chirp, units are in micro-seconds.
    chirp_width_khzW53 Chirp width in khz.
    ofdm_headerOFDM header modulation: 0 BPSK, 1 QPSK.
    ofdm_payloadOFDM payload modulation: 0 BPSK, 1 QPSK, 2 8PSK.
    ofdm_t1_onOFDM time-period one on duration in usec
    ofdm_t1_offOFDM time-period one off duration in usec
    ofdm_t2_onOFDM time-period two on duration in usec
    ofdm_t2_offOFDM time-period two off duration in usec
    ofdm_t3_onOFDM time-period three on duration in usec
    ofdm_t3_offOFDM time-period three off duration in usec
    ofdm_durationOFDM duration in msec
    trigger_dbmSet the trigger in dBm for the RF analyzer feature (PULSE_DETECT type)
    trigger_ampSet the trigger amplitude in 1/100 of amp, for the RF analyzer feature (PULSE_DETECT type)
    displayDisplay to use when launching pulse-detect GUI.
    sample_rateTx/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

  148. blink_attenuator
    Visually identify attenuator by blinking LEDs or changing LCD colors or similar.

    ArgumentDescription
    shelfShelf number, usually 1. [R][D:1]
    resourceResource number. [W]
    sernoSerial number for requested Attenuator, or 'all'. [W]

    Syntax: blink_attenuator shelf resource serno

  149. flash_attenuator
    Upload new software image to specified attenuator.

    ArgumentDescription
    shelfShelf number, usually 1. [R][D:1]
    resourceResource number. [W]
    sernoSerial number for requested Attenuator, or 'all'. [W]
    filenameFile to use when uploading to attenuator.

    Syntax: flash_attenuator shelf resource serno filename

  150. set_chamber

    ArgumentDescription
    chamberChamber name [W]
    turntableTurn-table address, for instance: 192.168.1.22:3001
    speed_rpmSpeed in rpm (floating point number is accepted
    positionAbsolute position in degrees.
    tiltAbsolute tilt in degrees.
    cur_rotationPrimarily 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

  151. set_cx_report_timer
    You must be registered with the Test-Manager(s) in order for this operation to succeed. The timer should be >= 500ms. This command will also cause the LANforge Resources to report to the LANforge Manager on a similar time interval.

    ArgumentDescription
    test_mgrName of the test manager, or 'all'. [W]
    cx_nameName of cross-connect, or 'all'. [W]
    millisecondsReport timer length in milliseconds. [W,250-60000][D:5000]
    CXONLYIf 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

  152. set_endp_proxy
    This is only used when using proxy IP & Port with Layer-3 connections.

    ArgumentDescription
    endp_nameName of endpoint. [W]
    enabledYES or NO to enable or disable proxying.
    proxy_ipProxy IP Address.
    proxy_ip_portProxy IP Port.

    Syntax: set_endp_proxy endp_name enabled proxy_ip proxy_ip_port

  153. set_endp_report_timer
    The timer should be greater or equal to 500ms. This will cause the LANforge-GUI to request reports at the specified interval. For large numbers of entities, it is suggested to use longer report times to decrease load on the GUI.

    ArgumentDescription
    endp_nameName of endpoint. [R]
    millisecondsReport timer length in milliseconds. [W,250-60000][D:5000]

    Syntax: set_endp_report_timer endp_name milliseconds

  154. set_cx_state
    Set the state of the Cross-Connect(s). Valid states are:
    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.

    Related Commands

    preexec_method  | baseCheckCxExists
    postexec_cli    | show_cx %{test_mgr} %{cx_name}
    

    ArgumentDescription
    test_mgrName of the test-manager, or 'all'. [W]
    cx_nameName of the cross-connect, or 'all'. [W]
    cx_stateOne of: RUNNING, SWITCH, QUIESCE, STOPPED, or DELETED. [W]

    Syntax: set_cx_state test_mgr cx_name cx_state

  155. set_l4_endp

    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
    

    ArgumentDescription
    aliasName of endpoint. [R]
    media_sourceSpecify media source, see above
    media_qualitySpecify media quality, see above
    media_playbacksMaximum number of media playbacks
    media_random_seeksMaximum number of media random seeks
    duration_minMinimum duration of media playback, in seconds
    duration_maxMaximum duration of media playback, in seconds

    Syntax: set_l4_endp alias media_source media_quality media_playbacks media_random_seeks duration_min duration_max

  156. set_license
    Install license keys on the manager machine. Enter the license keys as a single command. LANforge will break them into separate lines internally.

    ArgumentDescription
    licensesLicense keys all appended into a single line. Unescaped Value [W]

    Syntax: set_license licenses

  157. set_password
    Set the password for the current client (if client is not specified), or the specified client if we are logged in as 'admin'.

    ArgumentDescription
    old_passwordOld password, or 'NA' for blank password. [W]
    new_passwordNew password, or 'NA' for blank password. [W]
    clientSpecify the client. If left blank, will use current client.

    Syntax: set_password old_password new_password client

  158. set_ppp_link_state
    Set the state of the PPP Link(s). Valid states are: RUNNING -- Sets the PPP Link(s) in the running state. STOPPED -- Sets the PPP Link(s) in the stopped state. DELETED -- Deletes the PPP Link(s).

    ArgumentDescription
    shelfName of the Shelf, or 'all'. [R][D:1]
    resourceNumber of the Resource, or 'all'. [W]
    linkUnit Number of the PPP Link, or 'all'. [W]
    ppp_stateOne of: RUNNING, STOPPED, or DELETED. [R]

    Syntax: set_ppp_link_state shelf resource link ppp_state

  159. set_resource
    Set some options for resources (clients)
    Max staged bringup
    is for all interfaces on a resource.
    Max trying ifup
    is the maximum amount of IP/Route configuration scripts that can be running concurrently.
    Max station bringup
    is maximum amount of stations that can be brought up per radio per 'tick'.
    A tick is a minimum of 0.25 seconds, and may be longer on slower or more heavily loaded systems.

    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
    

    ArgumentDescription
    shelfName of the Shelf, or all. [R][D:1]
    resourceNumber of the Resource, or all. [W]
    max_staged_bringupMaximum amount of interfaces attempting to come up at once. Default is 50
    max_trying_ifupMaximum amount of interfaces running the network config 'ifup' logic. Default is 15
    max_station_bringupMaximum amount of stations to bring up per radio per tick. Default is 12.
    device_profilesList of profiles, see above
    top_left_xX Location for Chamber View.
    top_left_yX Location for Chamber View.
    max_helper_countMaximum number of helper traffic generation processes. 0 means CPU-core-count (AUTO).
    resource_flagsSystem wide flags, often requires a reboot for changes to take effect.
    resource_flags_maskWhat flags to change. If unset, default is all.
    user_nameStore user-name configured for this Resource. Only settable during DB load.
    rf_pathConfigure 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

  160. set_script
    Add or modify a script for a particular endpoint, Connection-Group, or Attenuator. Script types supported are currently:
    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).
    

    Script2544

    • Private data syntax:
    • run_duration pause_duration rates_a payload_sizes_a constraints report rates_b sizes_b attenuations attenuator
    • rates_* and payload_sizes_* are comma-separated-strings, e.g.: 60,128,256,1472
    • The interval durations are in miliseconds.
    • Constraints syntax:
    • drops,jitter_us,latency_us,max_tx_slowdown,max_failed_ok
    • Report syntax: (read-only, use NA when configuring)
    • steps_completed,steps_failed

    ScriptHunt

    • Private data syntax:
    • run_duration pause_duration constraints payload_sizes_a payload_sizes_b attenuations attenuator
    • Constraints syntax:
    • drops,jitter_us,latency_us,max_steps,start_rate,accuracy,is_bps,max_tx_slowdown

    ScriptWL

    • Private data syntax:
    • run_duration rates latencies jitter drops
    • Rates, latencies, jitter and drops are comma-separated-strings, e.g.: 60,128,256,1472
    • Default units for latencies and jitter is miliseconds
    • Use the suffix 'us' for micro-second precision.
    • The interval duration is in miliseconds.

    ScriptAtten

    • Private data syntax:
    • run_duration  attenuations
    • run_duration is in miliseconds
    • attenuations is a comma-separated range.

    Use NA for no changes to existing config, and use NONE if you want the value to be blank.


    ArgumentDescription
    endpEndpoint, Connection Group or Attenuator name or ID. [R]
    nameScript name. [W]
    flagsSee above for description of the defined flags.
    typeOne of: NONE, Script2544, ScriptHunt, ScriptWL, ScriptAtten
    privatePrivate encoding for the particular script.
    group_actionHow to handle group script operations: ALL, Sequential
    loop_countHow many times to loop before stopping (0 is infinite).

    Syntax: set_script endp name flags type private group_action loop_count

  161. set_test_id
    Set the test ID on specified resource(s). Currently this is only used by the Android app, and other resources will ignore the request. Test-ID can be up to 15 characters in length.

    ArgumentDescription
    shelfName of the Shelf, or all. [R][D:1]
    resourceNumber of the Resource, or all. [W]
    test_idUp to 15 character identifier.

    Syntax: set_test_id shelf resource test_id

  162. rpt_script

    ArgumentDescription
    endpEndpoint name or ID. [W]
    nameScript name. [W]
    flagsSee above for description of the defined flags.
    typeOne of: NONE, Script2544, ScriptHunt, ScriptWL
    privatePrivate encoding for the particular script.
    group_actionAll or Sequential.
    loop_countHow many times to loop before stopping (0 is infinite).

    Syntax: rpt_script endp name flags type private group_action loop_count

  163. add_threshold
    Add or modify a threshold-alert for a particular endpoint. Threshold Types are defined as:
    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.

    ArgumentDescription
    endpEndpoint name or ID. [R]
    thresh_idThreshold ID. If adding new threshold, use -1, otherwise use correct ID. [W]
    thresh_typeThreshold type, integer, (see above).
    thresh_minMinimum acceptable value for this threshold.
    thresh_maxMaximum acceptable value for this threshold.

    Syntax: add_threshold endp thresh_id thresh_type thresh_min thresh_max

  164. set_wifi_radio
    Modify a WIFI Radio Interface (such as phy0 or wiphy0). This command requires that the designated machine support the LANforge wifi driver for the Atheros brand WIFI NICs. The radio interface holds common configuration for the Virtual WiFi interfaces. NA can be used for any values that you do not wish to modify.

    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.

    Related Commands

    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
    

    ArgumentDescription
    shelfShelf number. [R][D:1]
    resourceResource number. [W]
    radioName of the physical radio interface, for example: wiphy0 [W]
    modeRF Pattern Generator: WiFi mode for radar emulation, see table. Do not use for vAPs.
    channelChannel number for this radio device. Frequency takes precedence if both are set to non-default values. 0xFFFF, AUTO or DEFAULT means ANY.
    countryCountry number for this radio device.
    frequencyFrequency for this radio. 0xFFFF, AUTO or DEFAULT means ANY.
    frag_threshFragmentation Threshold (256 - 2346, 2346 == disabled).
    rateNo longer used, specify the rate on the virtual station(s) instead.
    rtsThe RTS Threshold for this radio (off, or 1-2347).
    txpowerThe transmit power setting for this radio. (AUTO for system defaults)
    macUsed to identify when name cannot be trusted (2.6.34+ kernels).
    antennaAntenna configuration: 0 Diversity/All, 1 Fixed-A (1x1), 4 AB (2x2), 7 ABC (3x3), 8 ABCD (4x4), 9 8x8
    flagsFlags for this interface (see above.)
    flags_maskIf set, only these flags will be considered.
    const_txRF Pattern Generator: encoded as a single 32-bit integer. See above.
    pulse_widthRF Pattern generator: pulse width in usecs.
    pulse_intervalRF Pattern generator: interval between pulses in usecs.
    vdev_countConfigure radio vdev count.
    peer_countNumber of peer objects for this radio.
    stations_countNumber of stations supported by this radio.
    rate_ctrl_countNumber of rate-ctrl objects for this radio.
    fwnameFirmware name (for example: firmware-5.bin)
    fwverFirmware API version (for example, 5 if firmware is based on firmware-5.bin
    txdesc_countTransmit descriptor count for this radio.
    tids_countTIDs count for this radio.
    skid_limitFirmware hash-table Skid Limit for this radio.
    active_peer_countNumber of locally-cached peer objects for this radio.
    tx_pulsesNumber of pattern pulses per burst for RF noise generator.
    pulse2_interval_usPause between pattern burst for RF noise generator.
    max_amsduMaximum number of frames per AMSDU that may be transmitted. See above.
    pref_apPreferred AP BSSID for all station vdevs on this radio.
    ampdu_factorax200/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

  165. set_wifi_extra
    This configures WiFi ports with advanced features. Not all combinations are valid..contact support and/or see wpa_supplicant & hostapd configuration documentation for details. Most values will default to sane values if left blank. To clear a text value, set it to '[BLANK]'

    ArgumentDescription
    shelfShelf number. [R][D:1]
    resourceResource number. [W]
    portWiFi interface name or number. [W]
    key_mgmtKey management: WPA-PSK, WPA-EAP, IEEE8021X, NONE, WPA-PSK-SHA256, WPA-EAP-SHA256 or combo.
    pairwisePairwise ciphers: CCMP, TKIP, NONE, or combination.
    group Group cyphers: CCMP, TKIP, WEP104, WEP40, or combination.
    pskWPA(2) pre-shared key. If unsure, use this field for any password entry. Prepend with 0x for ascii-hex representation.
    keyWEP key0. This should be entered in ascii-hex. Use this only for WEP.
    ca_certCA-CERT file name.
    eapEAP method: MD5, MSCHAPV2, OTP, GTC, TLS, PEAP, TTLS.
    identityEAP Identity string.
    anonymous_identityAnonymous identity string for EAP.
    phase1Outer-authentication, ie TLS tunnel parameters.
    phase2Inner authentication with TLS tunnel.
    passwordEAP Password string.
    pinEAP-SIM pin string. (For AP, this field is HS20 Operating Class)
    pac_fileEAP-FAST PAC-File name. (For AP, this field is the RADIUS secret password)
    private_keyEAP private key certificate file name. (For AP, this field is HS20 WAN Metrics)
    pk_passwdEAP private key password. (For AP, this field is HS20 connection capability)
    hessid802.11u HESSID (MAC address format) (or peer for WDS stations).
    realm802.11u realm: mytelco.com
    client_cert802.11u Client cert file: /etc/wpa_supplicant/ca.pem
    imsi802.11u IMSI: 310026-000000000
    milenage802.11u milenage: 90dca4eda45b53cf0f12d7c9c3bc6a89:cb9cccc4b9258e6dca4760379fb82
    domain802.11u domain: mytelco.com
    roaming_consortium802.11u roaming consortium: 223344 (15 characters max)
    venue_group802.11u Venue Group, integer. VAP only.
    venue_type802.11u Venue Type, integer. VAP only.
    network_type802.11u network type, integer, VAP only.
    ipaddr_type_avail802.11u network type available, integer, VAP only.
    network_auth_type802.11u network authentication type, VAP only.
    anqp_3gpp_cell_net802.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

  166. set_wifi_extra2
    This configures WiFi ports with advanced features. Not all combinations are valid. Contact support and/or see wpa_supplicant & hostapd configuration documentation for details. Most values will default to sane values if left blank. To clear a text value, set it to [BLANK].

    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:

    • If the parent radio has a VAP, then the configured frequency for the radio will be used.
    • Else if the user has configured freq_24 or freq_5, that will be used.
    • However, if the mode specifies a frequency range (ie /b or /g), then frequencies outside of the selected band will still not be allowed.

    ArgumentDescription
    shelfShelf number. [R][D:1]
    resourceResource number. [W]
    portWiFi interface name or number. [W]
    req_flushSet to 1 if you wish to flush changes to kernel now.
    ignore_probePer-million: AP ignore probe percentage.
    ignore_authPer-million: AP ignore auth request percentage.
    ignore_assocPer-million: AP ignore assoc request percentage.
    ignore_reassocPer-million: AP ignore re-assoc request percentage.
    corrupt_gtk_rekey_micPer-million: AP corrupts GTK Rekey MIC.
    radius_ipRADIUS server IP Address (AP Only)
    radius_portRADIUS server IP Port (AP Only)
    freq_24Frequency list for 2.4Ghz band, see above.
    freq_5Frequency list for 5Ghz band, see above.
    post_ifup_scriptScript name with optional args, will run after interface comes up and gets IP.
    ocspOCSP settings: 0=disabled, 1=try, but to not require response, 2=require valid OCSP stapling response.
    venue_idVenue-ID for this wifi device. VAP in same venue will share neigh reports as appropriate.
    sae_pweSet SAE-PWE, 0 == hunting-and-pecking, 1 == hash-to-element, 2 allow both.
    initial_band_prefInitially connect on this band, if available in scan. 0=ignore, 2=2ghz, 5=5ghz, 6=6ghz.
    bss_colorInitial 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

  167. set_wifi_txo
    This allows one to configure a VAP or Station wifi device to override the normal rate-control and send Data and QOS Data frames at the exact rates specified. This may only work on certain radios/firmware. It can be used to do packet-error testing and other testing where controlling the TX rate is important. txo_txpower notes: For ath10k wifi-5 radios, this is a power setting, for MTK radios, this is an adjustment from default, where 8 is default, less than 8 is reducing power, and more than 8 is increasing power above default. sgi notes: For HT and VHT, 0 is disable SGI, 1 is enable SGI. For HE-SU, 0: 1xLTF+0.8us, 1: 2xLTF+0.8us, 2: 2xLTF+1.6us, 3: 4xLTF+3.2us, 4: 4xLTF+0.8us

    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 for a given radio.  This can only be
                                  # enabled on MT76 radios.
    enable_ldpc    | 0x4          # Enable LDPC wifi feature, should help throughput.
    enable_stbc    | 0x8          # Enable STBC wifi feature.
    enable_bf      | 0x10         # Enable Beamforming.
    

    ArgumentDescription
    shelfShelf number. [R][D:1]
    resourceResource number. [W]
    portWiFi interface name or number. [W]
    txo_enableSet to 1 if you wish to enable transmit override, 0 to disable.
    txo_txpowerConfigure TX power in db. Use 255 for system defaults. See notes above.
    txo_preamSelect rate preamble: 0 == OFDM, 1 == CCK, 2 == HT, 3 == VHT, 4 == HE_SU, 5 = EHT.
    txo_mcsConfigure 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_nssConfigure number of spatial streams (0 == nss1, 1 == nss2, ...).
    txo_bwConfigure bandwidth: 0 == 20, 1 == 40, 2 == 80, 3 == 160, 4 == 80+80, 5 = 320.
    txo_retriesConfigure number of retries. 0 or 1 means no retries).
    txo_sgiGuard interval and LTF, see above.
    txo_flagsSpecify some additional behaviour.
    txo_flags_maskSpecify 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

  168. set_wifi_corruptions
    This lets one configure a station or AP to purposely corrupt, delay, and drop various management frames. To disable a corruption, set it to 0. To have corruption always happen, set to maximum value (1000000).

    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.
    

    ArgumentDescription
    shelfShelf number. [R][D:1]
    resourceResource number. [W]
    portWiFi interface name or number. [W]
    req_flushSet to 1 if you wish to flush changes to kernel now.
    ignore_per_milPer-million: Station to randomly ignore selected message types by this amount.
    ignore_flagsSpecify packet types to ignore (see flags above).
    corrupt_per_milPer-million: Station to randomly corrupt selected message types by this amount.
    corrupt_flagsSpecify packet types to corrupt (see flags above).
    delay_minmiliseconds: Station to randomly delay processing received messages, min time
    delay_maxmiliseconds: Station to randomly delay processing received messages, max time
    delay_flagsSpecify packet types to delay (see flags above).
    dup_flagsSpecify packet types to duplicate (see flags above).
    dup_per_65535Percentage, 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

  169. set_wifi_custom
    This text will be added to the end of the hostapd config file for virtual APs, and to the wpa_supplicant config file for virtual stations. This can be used for experimental work and for cases where LANforge does not support all of the desired features through normal means. The text must be entered one line at a time, primarily due to CLI parsing limitations. NOTE: You have to manually reset the interface to have the new changes take effect.

    ArgumentDescription
    shelfShelf number. [R][D:1]
    resourceResource number. [W]
    portWiFi interface name or number. [W]
    typeNA 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

  170. set_ifup_script
    Set the IF-UP script for a port. The post_ifup_script argument does not need to use single quotes, since all tokens after the port-id will be considered part of the script variable. This script needs to be on the LANforge machine of the resource number. While the default directory is often /home/lanforge, it is worth setting this in case you are on non-standard hardware.

    ArgumentDescription
    shelfShelf number. [R][D:1]
    resourceResource number. [W]
    portWiFi interface name or number. [W]
    flagsCurrently un-defined, use NA
    post_ifup_scriptScript 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

  171. set_endp_addr
    Set the MAC, IP, and Port addresses for an UN_MANAGED endpoint. The endpoint must be created as UN_MANAGED, and you must set its addresses before you can start it. The syntax for addresses is:
    • MAC addresses is: 01:BB:CC:DD:EE:FF.
    • IP addresses should be entered in dot notation, eg: 172.4.1.1.
    • and port is the IP port (1-65534).

    Related Commands

    preexec_method  | baseCheckEndpExists
    postexec_cli    | nc_show_endpoints %{name}
    

    ArgumentDescription
    nameThe name of the endpoint we are configuring. [R]
    macThe MAC address. Only needed for LANforge protocol Endpoints.
    ipThe IP Address. Used for TCP/IP and UDP/IP protocols.
    min_portThe Minimum IP Port. Used for TCP/IP and UDP/IP protocols.
    max_portThe Maximum IP Port. Used for TCP/IP and UDP/IP protocols.

    Syntax: set_endp_addr name mac ip min_port max_port

  172. set_endp_payload
    Set the payload type, and potentially the payload for a particular Endpoint. To enter an actual payload, use space separated Hexadecimal. For example: 00 00 01 04 bb de ad be ef. The payload must be entered all at once on one line. The payload cannot be longer than 2048 bytes (though when represented as ASCII HEX, the actual input can be longer than that.)

    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
    

    Related Commands

    postexec_cli          | nc_show_endpoints %{name}
    

    ArgumentDescription
    nameThe name of the endpoint we are configuring. [R]
    payload_typeThe payload type. See help for add_endp. [W][D:increasing]
    payloadFor custom payloads, enter the payload in hex, up to 2048 bytes. Unescaped Value

    Syntax: set_endp_payload name payload_type payload

  173. set_endp_details
    Modify TCP window sizes. The rcvbuf_size will be passed to:
    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.

    Related Commands

    postexec_cli             | nc_show_endpoints %{name}
    

    ArgumentDescription
    nameThe name of the endpoint we are configuring. [R]
    rcvbuf_sizeThe receive buffer (window) size. Zero for AUTO
    sndbuf_sizeThe sending buffer (window) size. Zero for AUTO
    min_conn_timerThe minimum duration (in ms) this connection should run before re-establishing.
    pkts_to_sendNumber of packets to send before stopping. 0 means infinite.
    dst_macDestination MAC address, used for custom Ethernet replays.
    max_conn_timerThe maximum duration (in ms) this connection should run before re-establishing.
    min_reconn_pauseThe minimum time between re-connects, in ms.
    max_reconn_pauseThe maximum time between re-connects, in ms.
    max_ip_portThe 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_timeoutFor TCP, the max time in miliseconds to wait for connection to establish.
    tcp_mssTCP Maximum Segment Size, affects packet size on the wire (88 - 32767).
    tcp_min_delackNA: No longer supported.
    tcp_max_delackNA: No longer supported.
    tcp_delack_segsNA: No longer supported.
    mcast_src_ipMulticast source address (used in SSM mode, multicast endpoints only)
    mcast_src_portMulticast 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

  174. set_event_interest
    Set event interest. If flags and val1 are left blank, then the current settings will be displayed.
    ei_flags:
    CLEAR | 0   # will clear interest
    SET   | 0x1 # set interest flag
    
    events1 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.


    ArgumentDescription
    ei_flagsEvent Interest flags, see above. [W]
    events1See description for possible values.
    events2See description for possible values.
    events3See description for possible values.
    events4See description for possible values.
    var1Currently un-used.
    event_cntMaximum number of events to store.

    Syntax: set_event_interest ei_flags events1 events2 events3 events4 var1 event_cnt

  175. set_event_priority
    Set event priority. If flag an priority are left blank, then the current settings will be displayed. Events:
    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   #
    

    ArgumentDescription
    eventNumber or name for the event, see above. [R,0-21]
    priorityNumber or name for the priority. [R,0-5]

    Syntax: set_event_priority event priority

  176. set_mc_endp

    ArgumentDescription
    nameThe name of the endpoint we are configuring. [R]
    ttlTime to live for the multicast packets generated.
    mcast_groupMulticast group IP, ie: 224.1.1.2 IPv6 supported as well.
    mcast_dest_portMulticast destination IP Port, for example: 55000
    rcv_mcastShould we attempt to receive? Values: Yes or No

    Syntax: set_mc_endp name ttl mcast_group mcast_dest_port rcv_mcast

  177. show_adb
    Show one or all ADB (Android) devices. See 'discover' command for how to request discovery of devices. Optional command: probe: Re-query the user-name and app identifier, useful after re-install.

    ArgumentDescription
    shelfShelf number or alias, can be 'all'. [R][D:1]
    resourceResource number, or 'all'. [W]
    sernoSerial number for requested ADB device, or 'all'. [W]
    extraOptional command, see above.

    Syntax: show_adb shelf resource serno extra

  178. show_chamber
    Show one or all Chambers. If the name is 'ALL', or no name is specified then all are shown, otherwise only the single requested Chamber is shown.

    ArgumentDescription
    nameChamber Name or 'ALL'. [W][D:ALL]

    Syntax: show_chamber name

  179. show_dut
    Show one or all Devices Under Test (DUT). If the name is 'ALL', or no name is specified then all are shown, otherwise only the single requested DUT is shown.

    ArgumentDescription
    nameDUT Name or 'ALL'. [W][D:ALL]

    Syntax: show_dut name

  180. show_events
    Show recent events of interest. To filter on certain events, specify the entity in question. Otherwise, use all or leave blank to match all events.

    Event types:

    All               |#
    Shelf             |#
    Card              |#
    Port              |#
    Endp              |#
    CX                |#
    Test_Mgr          |#
    Span              |#
    Channel_Group     |#
    PPP_Link          |#
    PESQ              |#
    CollisionDomain   |#
    

    ArgumentDescription
    typeEvent type filter. [R]
    shelfEvent shelf filter.
    cardEvent resource filter.
    portEvent port filter (can be port name or number).
    endpEvent endpoint filter.
    extraExtra filter, currently ignored.

    Syntax: show_events type shelf card port endp extra

  181. show_alerts
    Show active Alerts of interest. To filter on certain alerts, specify the entity in question. Otherwise, use 'all' or leave blank to match all events.

    Alert types:

    All               |#
    Shelf             |#
    Card              |#
    Port              |#
    Endp              |#
    CX                |#
    Test_Mgr          |#
    Span              |#
    Channel_Group     |#
    PPP_Link          |#
    PESQ              |#
    CollisionDomain   |#
    

    ArgumentDescription
    typeAlert type filter. [R]
    shelfAlert shelf filter.
    cardAlert resource filter.
    portAlert port filter (can be port name or number).
    endpAlert endpoint filter.
    extraExtra filter, currently ignored.

    Syntax: show_alerts type shelf card port endp extra

  182. show_event_interest
    Display Event settings.

    Syntax: show_event_interest

  183. show_err
    Send an error message to everyone else logged in to the server.

    ArgumentDescription
    messageMessage to show to others currently logged on. Unescaped Value [R]

    Syntax: show_err message

  184. start_endp
    Start and endpoint. This command is only valid for Multicast endpoints, which are NOT managed by a cross-connect like the rest of the endpoints. See Also: set_cx_state

    Related Commands

    postexec_cli             | nc_show_endpoints %{name}
    

    ArgumentDescription
    endp_nameName of the cross-connect, or 'all'. [R]

    Syntax: start_endp endp_name

  185. show_profile
    Show one or all Device Profiles. If the name is 'ALL', or no name is specified then all are shown, otherwise only the single requested Profile is shown.

    ArgumentDescription
    nameProfile Name or 'ALL'. Not specifying a profile is same as 'ALL'.

    Syntax: show_profile name

  186. show_text_blob
    Show one or all Text Blobs. If the name is 'ALL', or no name is specified then all are shown, otherwise only the single requested blob is shown.

    ArgumentDescription
    typeText Blob type or 'ALL'. [R]
    nameText Blob Name or 'ALL'. [R]
    briefSet to 'brief' for a brief listing of all text blobs.

    Syntax: show_text_blob type name brief

  187. show_traffic_profile
    Show one or all Traffic Profiles. If the name is 'ALL', or no name is specified then all are shown, otherwise only the single requested Profile is shown.

    ArgumentDescription
    nameProfile Name or 'ALL'. [R]

    Syntax: show_traffic_profile name

  188. start_group
    Starts all cross-connects in a connection group See Also: add_group, add_tgcx

    Related Commands

    postexec_cli             | show_cx %{name}
    

    ArgumentDescription
    nameThe name of the connection group. [R]

    Syntax: start_group name

  189. start_ppp_link
    Start a PppLink.

    ArgumentDescription
    shelfName/id of the shelf. [R][D:1]
    resourceResource number that holds this PppLink. [W]
    unit_numUnit-Number for the PppLink to be started. [R]

    Syntax: start_ppp_link shelf resource unit_num

  190. stop_endp
    Stop an endpoint. This command is only valid for Multicast endpoints, which are NOT managed by a cross-connect like the rest of the endpoints. See Also: set_cx_state

    ArgumentDescription
    endp_nameName of the endpoint, or 'all'. [R]

    Syntax: stop_endp endp_name

  191. quiesce_endp
    Quiesce an endpoint. This command is only valid for Multicast endpoints, which are NOT managed by a cross-connect like the rest of the endpoints. See Also: set_cx_state

    ArgumentDescription
    endp_nameName of the endpoint, or 'all'. [R]

    Syntax: quiesce_endp endp_name

  192. stop_group
    Stops all cross-connects in one or all connection groups See Also: add_group, add_tgcx, start_group

    Related Commands

    postexec_cli             | show_cx %{name} all
    

    ArgumentDescription
    nameThe name of the connection group, or 'all' [R]

    Syntax: stop_group name

  193. quiesce_group
    Quiesces all cross-connects one or all connection groups See Also: add_group, add_tgcx, stop_group

    Related Commands

    postexec_cli             | show_cx %{name} all
    

    ArgumentDescription
    nameThe name of the connection group, or 'all' [R]

    Syntax: quiesce_group name

  194. stop_ppp_link
    Stop a PppLink.

    ArgumentDescription
    shelfName/id of the shelf. [R][D:1]
    resourceResource number that holds this PppLink. [W]
    unit_numUnit-Number for the PppLink to be stopped. [W]

    Syntax: stop_ppp_link shelf resource unit_num

  195. set_endp_tos
    Set the IP Type of Service (TOS) byte for this Endpoint. Only valid for TCP/IP and UDP/IP based endpoint types. You should consult RFC-791, RFC-1349 and RFC-2474 for ideas of what this value can and should be.

    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


    ArgumentDescription
    nameThe name of the endpoint we are configuring. [R]
    TOSThe Type of Service, can be HEX, see above.
    priorityThe socket priority, can be any positive number.

    Syntax: set_endp_tos name TOS priority

  196. set_endp_quiesce
    Set the quiesce timer. This determines how long an endpoint will wait in a quiet state before stopping the test. This is good for gracefully finishing the last transaction and allowing all the packets in flight to be received by the receiving end (which continues to function as normal during the quiesce.) Use set_cx_state to actually put the endpoint in quiesce state.

    ArgumentDescription
    nameThe name of the endpoint we are configuring. [R]
    quiesceThe number of seconds to quiesce this endpoint when told to quiesce. [R]

    Syntax: set_endp_quiesce name quiesce

  197. set_endp_pld_bounds
    Set the min/max payload size bounds for an endpoint. If the endpoint payload size is set to 'random', then the actual sizes will vary with an even distribution between the min and max. If the payload size is not random, it will always be the minimum payload size, as set here.

    ArgumentDescription
    nameThe name of the endpoint we are configuring. [R]
    min_pld_sizeThe minimum payload size, in bytes.
    max_pld_sizeThe maximum payload size, in bytes.
    is_randomYES if random, anything else for NO.
    use_checksumYES 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

  198. set_endp_tx_bounds
    Set the min/max transmit rate bounds for an endpoint. If the endpoint transmit rate is set to 'bursty', then the actual rates will vary between the min and max in a bursty fashion. If the rate is not bursty, it will always be the minimum rate, as set here.

    ArgumentDescription
    nameThe name of the endpoint we are configuring. [R]
    min_tx_rateThe minimum transmit rate, in bits per second (bps).
    max_tx_rateThe maximum transmit rate, in bits per second (bps).
    is_burstyYES if bursty, anything else for NO.

    Syntax: set_endp_tx_bounds name min_tx_rate max_tx_rate is_bursty

  199. set_fe_info
    Set read/write size and other file information for File Endpoints. You can also enter 'NA' for any value you do not wish to change. The quiesce-after-files option allows one to configure the test to automatically stop after completing a certain number of file reads or writes. The default is zero (0), which means run forever until stopped by user.

    ArgumentDescription
    nameThe name of the file endpoint we are configuring. [R]
    min_rw_szMinimum read/write size, in bytes.
    max_rw_szMaximum read/write size, in bytes.
    num_filesNumber of files to create when writing.
    min_file_sizeThe minimum file size, in bytes.
    max_file_sizeThe maximum file size, in bytes.
    directoryThe directory to read/write in. Absolute path suggested.
    prefixThe prefix of the file(s) to read/write.
    io_directionShould we be reading or writing: options: read, write
    quiesce_after_filesIf 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

  200. set_gen_cmd
    Set command that will be executed when this generic endpoint is started. Example:
    set_gen_cmd fio-endp bonnie++ -f -d /mnt/test_fs/ -q

    ArgumentDescription
    nameThe name of the file endpoint we are configuring. [R]
    commandThe rest of the command line arguments. Unescaped Value [R]

    Syntax: set_gen_cmd name command

  201. set_endp_flag
    This command allows you to modify certain Endpoint specific options, including Unmanaged. Different endpoint types will support different options. To get a full listing of options, use the command without specifying a flag. Example:
    [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.
    

    ArgumentDescription
    nameThe name of the endpoint we are configuring. [R]
    flagThe name of the flag. [R]
    valEither 1 (for on), or 0 (for off). [R,0-1]

    Syntax: set_endp_flag name flag val

  202. set_flag
    This command allows you to modify certain client specific options, including the brevity of the output. Some useful flags are:
    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.

    ArgumentDescription
    flagThe name of the flag. [R]
    valEither 1 (for on), or 0 (for off). [R,0-1]
    clientSpecify the user, if it is not the current user. Requires admin privileges.

    Syntax: set_flag flag val client

  203. set_gps_info
    This command sets the position of the device: latitude, longitude, and altitude. You can manually enter the value for stationary equipment, or you can hook your LANforge device up to a GPS receiver for real-time updates. The values come from the $GPGGA line, as defined by the NMEA protocol. Shelf can be 'SELF' when talking to data-generators, and it will set itself.

    ArgumentDescription
    shelfShelf number for the port to be modified, or SELF. [R][D:1]
    resourceResource number for the port to be modified. [W]
    lattitudeThe lattitude, as read from a GPS device.
    nsNorth or South (Latitude).
    longitudeThe longitude, as ready from a GPS device.
    ewEast or west (Longitude).
    altitudeAltitude, assumes units are Meters.

    Syntax: set_gps_info shelf resource lattitude ns longitude ew altitude

  204. set_poll_mode
    When set to polling mode, LANforge will not generate reports unless asked. This is more efficient for very large numbers of connections and works fine for smaller configurations too. Non-polling mode works fine up to about 500 cross-connects on high-end hardware.

    Polling Modes:

    polling  |#
    push     |#
    

    ArgumentDescription
    mode'polling' or 'push'. [R]

    Syntax: set_poll_mode mode

  205. set_port
    This command allows you to modify attributes on an Ethernet port. These options includes the IP address, netmask, gateway address, MAC, MTU, and TX Queue Length.

    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.
    

    Related Commands

    preexec_method  | baseCheckPortExists
    postexec_cli    | nc_show_ports %{shelf} %{resource} %{port}
    

    ArgumentDescription
    shelfShelf number for the port to be modified. [R][D:1]
    resourceResource number for the port to be modified. [W]
    portPort number for the port to be modified. [W]
    ip_addrIP address for the port, or NA.
    netmaskNetmask which this port should use, or NA.
    gatewayIP address of the gateway device - used for IP routing, or NA.
    cmd_flagsCommand Flags: See above, or NA.
    current_flagsSee above, or NA.
    MACMAC address to set this port to, or leave blank to not set it, or NA.
    MTUMaximum Transmit Unit (MTU) for this interface. Can be blank or NA.
    tx_queue_lenTransmit Queue Length for this interface. Can be blank or NA.
    aliasA user-defined name for this interface. Can be BLANK or NA.
    interestWhich things are we really interested in setting. Can over-ride defaults based on the other arguments.
    report_timerHow often, in milliseconds, should we poll stats on this interface?
    flags2Bridge & other flags, see above.
    br_priorityBridge priority, 16-bit number.
    br_aging_timeMAC aging time, in seconds, 32-bit number (or peer IP for GRE).
    br_max_ageHow long until STP considers a non-responsive bridge dead.
    br_hello_timeHow often does the bridge send out STP hello packets.
    br_forwarding_delayHow long to wait until the bridge will start forwarding packets.
    br_port_costSTP Port cost for a port (this applies only to NON-BRIDGE interfaces).
    br_port_prioritySTP Port priority for a port (this applies only to NON-BRIDGE interfaces).
    IPv6_addr_globalGlobal scoped IPv6 address.
    IPv6_addr_linkLink scoped IPv6 address.
    IPv6_dflt_gwIPv6 default gateway.
    bypass_wdtWatch Dog Timer (in seconds) for this port. Zero (0) to disable.
    cpu_maskCPU 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_serversDNS servers for use by traffic on this port, comma-separated list, BLANK means zero-length string.
    sta_br_idWiFi STAtion bridge ID. Zero means none.
    dhcp_client_idOptional string of up to 63 bytes in length to be passed to the dhclient process. See above.
    current_flags_mskThis sets 'interest' for flags 'Enable RADIUS service' and higher. See above, or NA.
    dhcp_vendor_idOptional string of up to 63 bytes in length to be passed to the dhclient process. See above.
    ipsec_concentratorIP Address of IPSec concentrator.
    ipsec_passwdPassword for IPSec, for pubkey, use: pubkey:[pem-file-name], for instance: pubkey:station.pem
    ipsec_local_idLocal Identifier for this IPSec tunnel.
    ipsec_remote_idRemote Identifier for this IPSec tunnel.
    dhcp_hostnameOptional 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

  206. set_port2
    Set additional port configuration for existing port. The dhclient_50 syntax must be like this, including spaces: 1, 2, 3, 4 Surround it with single quotes when sending through LANforge CLI.

    ArgumentDescription
    shelfShelf number for the port to be modified. [R][D:1]
    resourceResource number for the port to be modified. [W]
    portPort identifier. [R]
    dhclient_50Set DHCP Client option-50 text. DEFAULT means do not use this option.

    Syntax: set_port2 shelf resource port dhclient_50

  207. set_port_alias
    Set the alias for a virtual interface specified by MAC or 802.1Q VLAN-ID. This command is designed to make it easier to script MAC an 802.1Q VLANs

    Related Commands

    preexec_method  | baseCheckPortExists
    postexec_cli    | nc_show_port %{shelf} %{resource} %{port}
    

    ArgumentDescription
    shelfShelf number for the port to be modified. [R][D:1]
    resourceResource number for the port to be modified. [W]
    portPhysical Port identifier that owns the virtual interface. [R]
    vportVirtual port identifier. MAC for MAC-VLANs, VLAN-ID for 802.1Q vlans.
    aliasNew alias to assign to this virtual interface. [W]

    Syntax: set_port_alias shelf resource port vport alias

  208. set_sec_ip
    Set a new list secondary IP Address(es). Only makes necessary incremental changes to have the requested configuration.

    Related Commands

    preexec_method  | baseCheckPortExists
    postexec_cli    | nc_show_port %{shelf} %{resource} %{port}
    

    ArgumentDescription
    shelfShelf number. [R][D:1]
    resourceResource number. [W]
    portName of network device (Port) to which these IPs will be added. [R]
    ip_listIP1/prefix,IP2/prefix,...IPZ/prefix. [W]

    Syntax: set_sec_ip shelf resource port ip_list

  209. set_voip_info
    Set various VOIP endpoint related values. Use this to enable behaviour different from the defaults (see add_voip_endp, and set_endp_flag). If the min and max values are different, a random value in that range will be chosen. Any values can be 'NA' and they will be ignored. If min/max_call_duration is less than the length of the wave file multiplied by the number of times to play the wave file, then the max_call_duration will determine the call length. If Min/Max call duration are not the same, a random value between the min and max will be chosen each time a call is started. Otherwise, the call will be determined by the wave file size & repetition. The registration expire timer affects the sip messaging protocol: The default of 300 is fine in most cases. The sound_dev determines which sound device to play the received RTP stream on. Usually /dev/dsp or /dev/audio is the correct value.

    ArgumentDescription
    nameThe name of the endpoint we are configuring. [R]
    first_call_delayHow long to wait before making first call, in seconds.
    min_inter_call_gapMinimum time to wait between calls, in seconds.
    max_inter_call_gapMaximum time to wait between calls, in seconds.
    reg_expire_timerSIP Registration expire timer, in seconds.
    codecCodec to use for the voice stream, supported values: G711U, G711A, SPEEX, g726-16, g726-24, g726-32, g726-40, g729a.
    messaging_protocolMessaging protocol, supported values: SIP.
    loop_call_countHow many calls to make, zero means infinite.
    loop_wavefile_countHow many times to play the wave file, zero means infinite.
    min_call_durationHow long should the call be, in seconds.
    max_call_durationHow long should the call be, in seconds.
    sound_devWhich sound device should we play sound to. (see set_endp_flags).
    ringing_timerHow long (milliseconds) to wait in the ringing state before flagging call as no-answer.
    local_sip_portLocal SIP UDP port. Default is min-rtp-port + 2.
    PESQ_server_IPLANforge PESQ server IP address.
    PESQ_server_portLANforge PESQ server port, default is 3998.
    PESQ_server_passwdLANforge PESQ server password. Default is to use no authentication (blank entry).
    jitter_buffer_szThe size of the jitter buffer in packets. Default value is 8.
    aq_call_report_countNumber of AQ Call Report. 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

  210. set_wanpath_filter
    Set the filter type for the WanPath. If the filter is set to MAC, then it will match based on the source and/or destination MAC address.
    • If IP is chosen, it will match on the source and destination IP addresses and masks. Default behaviour is to match on the IP address.
    • MAC syntax is: 00:11:22:33:44:55
    • IP Syntax is: a.b.c.d/24 or a.b.c.d/255.255.255.0
    • PCAP syntax is same as for tcpdump. Use 'man tcpdump' on Linux, or see this page: http://www.tcpdump.org/tcpdump_man.html
    • The 'passive' argument is to allow you to set the pcap filter, but not actually use it (perhaps you are using IP filtering, but we want to remember the pcap filter for later.)

    ArgumentDescription
    wl_nameThe name of the WanLink endpoint we are configuring. [R]
    wp_nameThe name of the WanPath we are configuring. [R]
    filter_typeThe filter type, one of: MAC, IP, PCAP.
    src_filterThe source MAC or IP/Mask. For PCAP, this is the only filter.
    dst_filterThe destination MAC or IP/Mask, 'NA' for PCAP.
    reverseIf you want the logic reversed, use 'ON', otherwise set to 'OFF'
    defer_flushEnter 'YES' if you do NOT want this flushed to the remote.
    passiveEnter '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

  211. set_wanpath_running
    Set the Running state of the WanPath. If the state is set to:
    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 times
    
    Though, due to implementation, it may not actually pass any traffic if the parent WanLink is not running.

    ArgumentDescription
    wl_nameThe name of the WanLink endpoint we are configuring. [R]
    wp_nameThe name of the WanPath we are configuring. [R]
    runningThe state, one of: AS_PARENT, RUNNING, STOPPED. [R]

    Syntax: set_wanpath_running wl_name wp_name running

  212. set_wanpath_corruption
    Set a corruption for a WanPath. Corruptions include random and fixed over-write of a byte in the Ethernet frame, as well as random bit-flips and bit transposes. Up to 6 corruptions are supported per WanLink. If the 'chain' flag is set on a corruption, then if that corruption is chosen to be applied, the next corruption will always be applied. The 'byte' specifies the byte to write into the frame, if OVERWRITE_FIXED flag is chosen. The min 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.


    ArgumentDescription
    nameWanLink name [R]
    pathWanPath name [R]
    indexThe corruption to modify (0-5). [R,0-5]
    flagsThe flags for this corruption.
    byteThe byte to use for OVERWRITE_FIXED (or NA).
    min_offsetThe minimum offset from start of Ethernet packet for the byte to be modified.
    max_offsetThe maximum offset from start of Ethernet packet for the byte to be modified.
    rateSpecifies how often, per million, this corruption should be applied.

    Syntax: set_wanpath_corruption name path index flags byte min_offset max_offset rate

  213. set_wanlink_info
    Set the WanLink information for an endpoint. You can set the Latency, MaxJitter, and reorder characteristics here. Special attention should be paid to extra_buffer. This setting should be zero, or a small number, if you are doing latency-sensitive testing. Use -1 if you want LANforge to automatically configure a proper extra_buffer size based on your maximum bandwidth. The server will add the extra_buffer size to a calculated buffer size based on the maximum jitter and latency specified in the WanLink endpoint. If you wish to drop bursts of packets, then set the min_drop_amt and max_drop_amt. When LANforge determines that a packet drop should occur (based on the drop_freq), then it will also pick a random value between the min and max drop_amt and drop that many packets in a row. The value of all attributes other than the name can be 'NA', which means do not change the current value.

    ArgumentDescription
    nameThe name of the endpoint we are configuring. [R]
    speedThe maximum speed of traffic this endpoint will accept (bps).
    latencyThe base latency added to all packets, in milliseconds (or add 'us' suffix for microseconds
    max_jitterThe maximum jitter, in milliseconds (or ad 'us' suffix for microseconds)
    reorder_freqHow often, out of 1,000,000 packets, should we make a packet out of order.
    extra_bufferThe extra amount of bytes to buffer before dropping pkts, in units of 1024. Use -1 for AUTO.
    drop_freqHow often, out of 1,000,000 packets, should we purposefully drop a packet.
    dup_freqHow often, out of 1,000,000 packets, should we purposefully duplicate a packet.
    playback_capture_fileName of the WAN capture file to play back.
    jitter_freqHow often, out of 1,000,000 packets, should we apply jitter.
    min_drop_amtMinimum amount of packets to drop in a row. Default is 1.
    max_drop_amtMaximum amount of packets to drop in a row. Default is 1.
    min_reorder_amtMinimum amount of packets by which to reorder, Default is 1.
    max_reorder_amtMaximum amount of packets by which to reorder, Default is 10.
    max_latenessMaximum 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

  214. set_wanlink_pcap
    Set the WanLink packet capture file name, and whether or not the system should actually capture the packets. The generated files for both WanLink endpoints can then be played back across a network using the LANforge playback features. The capture will start and stop with the endpoint, and it will write over any existing file so be careful. To mitigate the risk, if the path is absolute, it must start with /tmp or /home/lanforge. To effectively store files elsewhere, you can set up soft-links to directories within one of these directory trees.

    Capture Options:

    ON    |# start capturing
    OFF   |# stop capturing
    

    ArgumentDescription
    nameThe name of the endpoint we are configuring. [R]
    captureShould we capture or not? ON or OFF. [R]
    directoryThe directory name in which packet capture files will be written.

    Syntax: set_wanlink_pcap name capture directory

  215. set_wl_corruption
    Set a corruption for WanLink. Corruptions include random and fixed over-write of a byte in the Ethernet frame, as well as random bit-flips and bit transposes. Specific rules apply:
    • Up to 6 corruptions are supported per WanLink.
    • If the chain flag is set on a corruption, then if that corruption is chosen to be applied, the next corruption will always be applied.
    • If OVERWRITE_FIXED flag is chosen, the 'byte' specifies the byte to write into the frame.

    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.


    ArgumentDescription
    nameWanLink name [R]
    indexThe corruption to modify (0-5). [R,0-5]
    flagsThe flags for this corruption.
    byteThe byte to use for OVERWRITE_FIXED (or NA).
    min_offsetThe minimum offset from start of Ethernet packet for the byte to be modified.
    max_offsetThe maximum offset from start of Ethernet packet for the byte to be modified.
    rateSpecifies how often, per million, this corruption should be applied.

    Syntax: set_wl_corruption name index flags byte min_offset max_offset rate

  216. set_wl_qdisc
    Set a Queuing Discipline on the WanLink.
    FIFO                    | # is the default queuing discipline, no arguments
    WRR,[queue,queue,...]   | # Weighted Round Robbin is also available
    
    For 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.


    ArgumentDescription
    nameWanLink name [R]
    qdiscFIFO, WRR,a,b,c,d,e,f,g etc [R]

    Syntax: set_wl_qdisc name qdisc

  217. set_endp_file
    Set the file name for an endpoint. In the future, this may affect various endpoint types differently, but for now it is only used to set the capture file that a Custom Ethernet endpoint can 'play back'. To use this feature, first use a WanLink connection to capture packets flowing across a network. The WanLink connections can be configured to save all incoming packets to a file. The Customer Ethernet connection can then be configured with one of the capture files associated with each endpoint. During playback, each endpoint will play back the packet stream as it arrived, inserting pauses between the packets, and ensuring that packets are placed on the wire in the same order that they were received. file can be blank or NA if you wish to only turn playback on or off.

    Playback options:

    ON    |# on
    OFF   |# off
    

    ArgumentDescription
    nameThe name of the endpoint we are configuring. [R]
    playbackShould we playback the capture or not? ON or OFF. [R]
    fileThe file name to read the playback packets from.

    Syntax: set_endp_file name playback file

  218. show_attenuators
    Show Attenuator information.

    ArgumentDescription
    shelfShelf number or alias, can be 'all'. [R][D:1]
    resourceResource number, or 'all'. [W]
    sernoSerial number for requested Attenuator, or 'all'. [W]

    Syntax: show_attenuators shelf resource serno

  219. show_rfgen
    Show RF-Generators configured and/or discovered.

    ArgumentDescription
    shelfShelf number or alias, can be 'all'. [R][D:1]
    resourceResource number, or 'all'. [W]
    IDRF Generator serial number, or 'all'.

    Syntax: show_rfgen shelf resource ID

  220. show_resources
    Show one or all resources for one or all shelves.

    ArgumentDescription
    shelfShelf number or alias, can be 'all'. [R][D:1]
    resourceResource number, or 'all'. [W]

    Syntax: show_resources shelf resource

  221. show_clients
    Show all unique clients that have registered in the past. Using login, you can become any client on the list, and take on the values of that client. Multiple users can login as the same client, if desired.

    Syntax: show_clients

  222. show_cx
    Show one or all cross-connects for one or all test managers.

    ArgumentDescription
    test_mgrSpecify test-mgr to act on, or 'all'. [R]
    cross_connectSpecify cross-connect to act on, or 'all'. [W]

    Syntax: show_cx test_mgr cross_connect

  223. show_cxe
    Show one or all cross-connects and their endpoints for one or all test managers. Please note that as of Release 5.2.4 (and earlier), this only returns cached Endpoint values. This means if the GUI is not running or if endpoint results are not otherwise being queried, the returned stats will not be accurate.

    ArgumentDescription
    test_mgrSpecify test-mgr to use, or 'all'. [R]
    cross_connectSpecify cross-connect to show, or 'all'. [W]

    Syntax: show_cxe test_mgr cross_connect

  224. show_cd
    Show one/all Collision Domains for one/all resources in one/all shelves. An empty specifier will be treated as 'all'. This command will always request the absolute latest information from the remote system(s)

    ArgumentDescription
    shelfName/id of the shelf, or 'all'. [R][D:1]
    resourceResource number, or 'all'. [W]
    collision_domainName of the Collision Domain, or 'all'. [W]

    Syntax: show_cd shelf resource collision_domain

  225. show_rt
    Show a Virtual Router's routing table.

    ArgumentDescription
    shelfShelf number. [R][D:1]
    resourceResource number. [W]
    virtual_routerName of the virtual router. [W]
    keyUnique identifier for this request. Usually left blank.

    Syntax: show_rt shelf resource virtual_router key

  226. show_vr
    Show one/all Virtual Routers for one/all resources in one/all shelves. An empty specifier will be treated as 'all'. May use cached values if the values are fresh enough.

    ArgumentDescription
    shelfName/id of the shelf, or 'all'. [R][D:1]
    resourceResource number, or 'all'. [W]
    routerName of the Virtual Router, or 'all'. [W]

    Syntax: show_vr shelf resource router

  227. show_vrcx
    Show one/all Virtual Router Connections for one/all resources in one/all shelves. Only Connections on the 'free-list', those not associated with any Virtual Router will be shown with this command unless the VRCX is specified by name. If the VRCX is in a virtual router, only cached results will be shown. Connections associated with routers will be shown whith the 'show_vr' command with the rest of the router information. Cached values may be used if they are recent enough.

    ArgumentDescription
    shelfName/id of the shelf, or 'all'. [R][D:1]
    resourceResource number, or 'all'. [W]
    cx_nameName of the Virtual Router Connection, or 'all'. [W]

    Syntax: show_vrcx shelf resource cx_name

  228. show_dbs
    Show all available databases that may be loaded.

    Syntax: show_dbs

  229. show_endpoints
    Show one or all endpoints. Some endpoint types take an extra argument to specify what to show more precisely: Generic endpoints check extra for 'history' and in that case they will report recent output, not just the last line of output.

    ArgumentDescription
    endpointName of endpoint, or 'all'. [R]
    extraSee above.

    Syntax: show_endpoints endpoint extra

  230. show_script_results
    Show results of last script run for one or all endpoints. If using 'all', results will be for all endpoints and cx-groups will be skipped entirely.

    ArgumentDescription
    endpointName of endpoint, cx-group, or 'all'. [R]
    keyOptional 'key' to be used in keyed-text message result.

    Syntax: show_script_results endpoint key

  231. show_pesq
    Show PESQ results for one or all VOIP endpoints.

    ArgumentDescription
    endpointName of endpoint, or 'all'. [R]

    Syntax: show_pesq endpoint

  232. show_endp_payload
    Show the payloads for one or all endpoints. The results will be shown in HEX. You may specify the number of bytes to print out, or you can just use the default value of 128 by not entering the length. You should not specify a very large length and also use 'ALL' for your endpoint, or you may over-run internal buffers can cause your message to be truncated.

    ArgumentDescription
    nameThe name of the endpoint we are configuring. [R]
    max_bytesThe max number of payload bytes to print out, default is 128. [R][D:128]

    Syntax: show_endp_payload name max_bytes

  233. show_files
    Show files in a particular directory. All paths are relative to the LANforge base directory (usually /home/lanforge/). You can also add a filter, such as *.txt If key is specified, it will be returned as the first line in the response. Directory and filter do not have to be specified, or can be NA to be left at defaults.
    SORT_BY_TIME  |  1     # Sort by date/time
    

    ArgumentDescription
    shelfThe virtual shelf to search in. Use 0 for manager machine. [R,0-1]
    resourceThe machine to search in. [W]
    keyA special key, can be used for scripting.
    directoryThe sub-directory in which to list.
    filterAn optional filter, as used by the 'ls' command.
    dir_flagsDetermines format of listing, see above.

    Syntax: show_files shelf resource key directory filter dir_flags

  234. show_ports
    Show one/all ports for one/all resources in one/all shelves.

    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.
    

    ArgumentDescription
    shelfName/id of the shelf, or 'all'. [R][D:1]
    resourceResource number, or 'all'. [W]
    portPort number, or 'all'. [W]
    probe_flagsSee above, add them together for multiple probings. Leave blank if you want stats only.

    Syntax: show_ports shelf resource port probe_flags

  235. show_channel_groups
    Show one/all ChannelGroups for one/all resources in one/all shelves. An empty specifier will be treated as 'all'.

    ArgumentDescription
    shelfName/id of the shelf, or 'all'. [R][D:1]
    resourceResource number, or 'all'. [W]
    channel_nameName of the channel, or 'all'. [W]

    Syntax: show_channel_groups shelf resource channel_name

  236. show_spans
    Show one/all Spans for one/all resources in one/all shelves. An empty specifier will be treated as 'all'.

    ArgumentDescription
    shelfName/id of the shelf, or 'all'. [R][D:1]
    resourceResource number, or 'all'. [W]
    span_numberSpan-Number of the span, or 'all'. [W]

    Syntax: show_spans shelf resource span_number

  237. show_ppp_links
    Show one/all PPP Links for one/all resources in one/all shelves. An empty specifier will be treated as 'all'.

    ArgumentDescription
    shelfName/id of the shelf, or 'all'. [R][D:1]
    resourceResource number, or 'all'. [W]
    link_numPpp-Link number of the span, or 'all'. [W]

    Syntax: show_ppp_links shelf resource link_num

  238. show_tm
    Show one or all test managers.

    ArgumentDescription
    test_mgrCan be name of test manager, or 'all'. [R]

    Syntax: show_tm test_mgr

  239. show_group
    Show one or all Connection Groups.

    ArgumentDescription
    groupCan be name of connection group. Use 'all' or leave blank for all groups.

    Syntax: show_group group

  240. show_venue
    Show one or more venues

    ArgumentDescription
    shelfShelf number. [R][D:1]
    resourceResource number, or 'ALL' [W]
    venu_idNumber to uniquely identify this venue on this resource, or 'ALL' [W]

    Syntax: show_venue shelf resource venu_id

  241. show_wps
    Show one or all WanPaths for one or all WanLink Endpoints.

    ArgumentDescription
    endpointName of endpoint, or 'all'. [W]
    wanpathName of wanpath, or 'all'. [W]

    Syntax: show_wps endpoint wanpath

  242. shutdown
    Restart the LANforge Manager server. Restarting the manager will cause interruption to all of the Resource processes as well. If you want to restart all LANforge processes on the Manager machine, enter 'YES' for the third argument (and probably 'NA' for the second)

    ArgumentDescription
    reallyMust be 'YES' for command to really work.
    chdirDirectory to cd to before dying. Only useful when using gprof to debug, or 'NA' to ignore.
    serverctlEnter 'YES' to do a ./serverctl.bash restart to restart all LANforge processes.

    Syntax: shutdown really chdir serverctl

  243. shutdown_resource
    This will restart the LANforge processes on the resource specified. This will cause all tests that are utilizing that resource to be destroyed. Depending on how the system is set up, the remote resource will probably be restarted in about 5 seconds.

    ArgumentDescription
    shelfShelf number, or ALL. [R][D:1]
    resourceResource number, or ALL. [W]

    Syntax: shutdown_resource shelf resource

  244. shutdown_os
    This will bring down the Operating System on the resource specified, including all processes running on it. Only a power-cycle will bring it back up again. This command should be used before powering down the LANforge resources. Wait about 1 minute before shutting off the power to allow the OS to bring itself down gracefully. See also: reboot_OS

    ArgumentDescription
    shelfShelf number, or ALL. [R][D:1]
    resourceResource number, or ALL. [W]

    Syntax: shutdown_os shelf resource

  245. sniff_port
    This will attempt to launch the Wireshark program on the specified port's machine and display Wireshark to the specified X server. Wireshark will be tried first, but if it is not found, Ethereal will be attempted. You must be running X, and have allowed other machines to connect to your X server. If you do not specify the DISPLAY, LANforge will attempt to guess it based on your connecting IP address.

    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!

    Flags 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.


    ArgumentDescription
    shelfShelf number. [R][D:1]
    resourceResource number. [W]
    portThe port we are trying to run the packet sniffer on. [R]
    displayThe DISPLAY option, for example: 192.168.1.5:0.0. Will guess if left blank.
    flagsFlags that control how the sniffing is done.
    outfileOptional file location for saving a capture.
    durationDuration for doing a capture (in seconds). Default is 5 minutes for dumpcap/tshark, and forever for wireshark
    snaplenAmount of each packet to store. Default is to store all of it.

    Syntax: sniff_port shelf resource port display flags outfile duration snaplen

  246. tail
    Deal with 'tailing' a file. This is usually going to be a log file.

    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


    ArgumentDescription
    shelfShelf that holds the resource that holds the file. [R][D:1]
    resourceResource that holds the file. [W]
    cmdCommand: start, stop, results
    keyFile-name that we should be tailing.
    messageThe contents to display (for results only) Unescaped Value

    Syntax: tail shelf resource cmd key message

  247. tm_register
    When a client is registered with a test manager, the manager will send the client reports at specified intervals (see set_tm_rpt).

    ArgumentDescription
    test_mgrName of test manager (can be all.) [R]
    client_nameName of client to be registered. (dflt is current client) [W]

    Syntax: tm_register test_mgr client_name

  248. tm_unregister
    The client will receive no more un-requested reports from the test manager(s).

    ArgumentDescription
    test_mgrName of test manager (can be all.) [R]
    client_nameName of client to be un-registered. (dflt is current client) [W]

    Syntax: tm_unregister test_mgr client_name

  249. version
    Print out the version of the LANforge server.

    Syntax: version

  250. wiser_reset
    This command will reset the WISER library on the specified machine. This is only useful when running with the Telcordia WISER module.

    ArgumentDescription
    shelfShelf number, or ALL. [R][D:1]
    resourceResource number, or ALL. [W]

    Syntax: wiser_reset shelf resource

  251. who
    Show who is currently logged into the system.

    Syntax: who

  252. wifi_event
    This is used internally by LANforge to listen for WiFi events.

    ArgumentDescription
    deviceInterface or PHY in most cases. [R]
    eventWhat happened. [R]
    statusStatus on what happened.
    msgEntire event in human readable form.

    Syntax: wifi_event device event status msg

  253. wifi_cli_cmd
    LANforge WiFi station interfaces are controlled by the wpa_supplicant process, which can be directly manipulated with the wpa_cli command. For normal LANforge use, users will not need to deal directly with wpa_supplicant or wpa_cli. For more advanced features, such as roaming, users will need to use wpa_cli commands directly. This LANforge API makes that easier to accomplish.

    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.


    ArgumentDescription
    shelfShelf number. [R][D:1]
    resourceResource number. [W]
    portName of the WiFi station or AP interface to which this command will be directed. [R]
    wpa_cli_cmdCommand to pass to wpa_cli or hostap_cli. This must be single-quoted. [R]

    Syntax: wifi_cli_cmd shelf resource port wpa_cli_cmd

  254. xorpsh
    Connect to a Virtual Router's xorpsh shell. The cmd parameter value display determines what X11 screen the terminal will appear on. (You must be running X windows on the target DISPLAY system.) For display mode, the argument is the display address and screen number found in typical DISPLAY environment variables for this instance of xorpsh. Example: DISPLAY=localhost:10.0

    For 'run_cmd' mode, it is the command (in single quotes) to pass to the xorpsh process.


    ArgumentDescription
    shelfShelf number. [R][D:1]
    resourceResource number. [W]
    routerName of the virtual router. [R]
    cmdDetermines action, current commands: display, run_cmd
    argSee above.

    Syntax: xorpsh shelf resource router cmd arg

 


Candela  Technologies, 2417 Main Street, Suite 201, Ferndale, WA 98248, USA
www.candelatech.com | sales@candelatech.com | +1.360.380.1618
Facebook | LinkedIn | Blog
Last modified: Tue Mar 5 23:14:53 2024