Dell Networking Open Automation Guide 9.10(0.
Notes, cautions, and warnings NOTE: A NOTE indicates important information that helps you make better use of your computer. CAUTION: A CAUTION indicates either potential damage to hardware or loss of data and tells you how to avoid the problem. WARNING: A WARNING indicates a potential for property damage, personal injury, or death. © 2016 Dell Inc. All rights reserved. This product is protected by U.S. and international copyright and intellectual property laws.
Contents 1 About this Guide..................................................................................................................... 10 Audience.....................................................................................................................................10 Open Automation Features and Supported Platforms .....................................................11 Conventions........................................................................................................
Using the Pre–configuration Script................................................................................ 32 Using the Post-configuration Script.....................................................................................32 Using Auto-Execution Script (Normal Mode Only)...........................................................33 Timers in Pre–configuration and Post–configuration Scripts........................................34 Script Examples...............................................
Classes and Schema Implementation.................................................................................. 73 Powershell Cmdlets and OMI Compatibility Matrix.......................................................... 74 6 Puppet.......................................................................................................................................75 Overview..................................................................................................................................
Setting a Search Path for Scripts...........................................................................................96 Scheduling and Executing Scripts.........................................................................................97 Script Scheduler from EXEC mode................................................................................. 97 Managing Executed Scripts..............................................................................................
Connectivity............................................................................................................................. 141 Running VSN Scripts.............................................................................................................. 142 Disabling a Hypervisor Session............................................................................................ 143 Removing a Hypervisor Session................................................................................
Management Route..........................................................................................................185 Policy Based Routing (PBR)............................................................................................ 185 Port Mirroring.................................................................................................................... 187 Route Maps......................................................................................................................
crypto cert generate..............................................................................................................225 crypto cert install....................................................................................................................227 show crypto cert.................................................................................................................... 228 show ip rest-server...................................................................................
1 About this Guide This document describes the components and uses of the Open Automation Framework designed to run on the Dell Networking operating system (OS).
Open Automation Features and Supported Platforms The following table lists the Dell Networking Open Automation features and the supported platforms. Table 1.
Conventions To describe command syntax, this document uses the following conventions. Convention Description keyword Keywords are shown in a terminal font and are entered in the CLI as listed. parameter Parameters are shown in italics and require you enter a number or word in the CLI. {X} Keywords and parameters within braces require entries in the CLI. [X] Keywords and parameters within brackets are optional. x|y Keywords and parameters separated by bar require that you to choose one.
Platform S6000 S6000–ON S6100–ON MXL Switch Z9500 C9010 S3100 Series (S3124P, S3148P, S3124F, and S3124) Z9100–ON Dell Networking platform and OS Related Documents • Dell Networking OS Command Line Reference Guide for the S6000 System • Dell Networking OS Configuration Guide for the S6000 System • Dell Networking Installation Guide for the S6000 System • Dell Networking OS Command Line Reference Guide for the S6000-ON System • Dell Networking OS Configuration Guide for the S6000-ON System
2 Open Automation Framework The Open Automation framework provides an open, industry standards-based automation technology that simplifies managing dynamic virtual data centers and reduces risk and overhead. The Dell Networking S4810, S4820T, S3048–ON, S3100 Series, S4048–ON, S5000, S6000, S6000-ON, S6100–ON, Z9500, Z9100–ON, and MXL platforms support the Open Automation framework.
To extend and add functionality to your Dell Networking OS without requiring updates to the OS release, use these components together or independently. Figure 1. Open Automation Framework NOTE: The Open Automation framework is seen as Open Automation in the rest of this document. Topics: • Bare Metal Provisioning • Smart Scripting • Virtual Server Networking • REST API • Web Server Bare Metal Provisioning Bare metal provisioning (BMP) provides the following features.
Smart Scripting Smart Scripting provides the following: • Support for industry standard languages, such as Perl, Python, and Ruby, avoiding the need to learn a new proprietary scripting language. • The ability to customize device monitoring and management to suit your network needs, including custom maintenance tasks, discovery programs, and event logging for faster problem resolution.
management environment and set of interfaces communicate directly with the third-party system management tools, thus avoiding the need for a dedicated network management tool. REST API simplifies network management and reduces the number of management tools you need.
3 Bare Metal Provisioning Bare metal provisioning (BMP) is included as part of the Dell Networking OS image and is supported on the S4810, S4820T, S3048–ON, S3100 Series, S4048–ON, S5000, S6000, S6000-ON, S6100–ON, Z9100–ON, Z9500, C9010, IOA, and MXL platforms.
• File server (required) — a network device for storing and servicing files. • Domain name server (DNS) (optional) — a server that associates domain names in the network with IP addresses. • Relay agent (optional) — an intermediary network device that passes messages between the DHCP clients and the DHCP server when the server is not on the same subnet. It can also provide IP addresses for multiple subnets. For more information, see Domain Name Server Settings and File Server Settings.
BMP Process Overview When your system boots up in default BMP mode, the following items are requested. 1 The current (new) Dell Networking OS build image. 2 The configuration file or pre–configuration script (EXPECT, TCL, or Z-shell [ZSH] script). 3 A list of checksums for all these components. NOTE: If you already installed the SmartScripts package, the pre–configuration scripts can be in Perl, Python or Ruby.
Configure BMP BMP supports two types of Reload modes: BMP mode and Normal mode. Reload Modes This section describes the following Reload modes: • BMP Mode • Normal Mode BMP mode is the default boot mode configured for a new system arriving from the Dell factory. This mode obtains the Dell Networking OS image and configuration file from a network source (DHCP and file servers). To boot up the switch with the management port in No Shutdown mode, use Normal mode.
To continue with the standard manual interactive mode, it is necessary to abort BMP. Press A to abort BMP now. Press C to continue with BMP. Press L to toggle BMP syslog and console messages. Press S to display the BMP status. [A/C/L/S]: NOTE: In the Factory-Default context, the console only accepts A/C/L/S input. • Enter S to display the BMP status (show boot bmp). If you enter another key while BMP is running, it displays the previous message and repeats the process. • Enter A to stop BMP.
• Configure a switch to use Normal mode. RELOAD – TYPE mode boot-type normal-reload • DHCP Configuration — Normal mode does not require a separate DHCP server configuration. • Dell Networking OS Image Retrieval — The Dell Networking OS image is loaded from the local flash memory. BMP Commands and Examples You can configure BMP on supported switches using a series of commands.
00:02:26: %STKUNIT0-M:CP %BMP-5-BMP_BOOT_OFFER: DHCP tftp IP NIL sname NIL dns IP NIL router IP NIL. 00:02:27: %STKUNIT0-M:CP %BMP-5-BMP_BOOT_OFFER: DHCP image file tftp://13.4.4.1/ftos-img-s4810. 00:02:27: %STKUNIT0-M:CP %BMP-5-BMP_BOOT_OFFER: DHCP config file scp://anvltest:force10@13.4.4.1//tftpboot/basic-l3. 00:02:27: %STKUNIT0-M:CP %BMP-5-BMP_BOOT_OFFER: stacking info NIL.
NOTE: In the pre–configuration script, the DHCP IP address is released after the script executes. 9 The system applies the configuration. The system is now up and running and you can manage it as usual. 10 SHA256/MD5 hash verifies the integrity of the files BMP downloads. For each file, the relevant filename.sha256 or filename.md5 must be present in the same location as the Dell Networking OS image – script or configuration file.
Reload Without a DHCP Server Offer A switch is configured to reload in BMP mode. If the DHCP server cannot be reached, the system keeps on sending DISCOVER messages. 00:03:56: %STKUNIT0-M:CP sent on Ma 0/0. 00:03:56: %STKUNIT0-M:CP sent on Te 0/21. 00:03:55: %STKUNIT0-M:CP sent on Te 0/8. 00:03:41: %STKUNIT0-M:CP sent on Ma 0/0. 00:03:40: %STKUNIT0-M:CP sent on Te 0/21. 00:03:40: %STKUNIT0-M:CP sent on Te 0/8. 00:03:25: %STKUNIT0-M:CP sent on Ma 0/0. 00:03:25: %STKUNIT0-M:CP sent on Te 0/21.
download is successful. 00:01:24: %STKUNIT0-M:CP %BMP-5-DOWNLOAD_INFO: /tftpboot/ signal.py config file successfully downloaded. 00:01:24: %STKUNIT0-M:CP %BMP-5-BMP_RELEASE: DHCP RELEASE sent on Ma 0/0. 00:01:24: %STKUNIT0-M:CP %BMP-5-BMP_DOWNLOAD: The config file download is successful. 00:01:24: %STKUNIT0-M:CP %BMP-5-CFG_APPLY: The downloaded config from dhcp server is being applied.
00:02:56: %STKUNIT0-M:CP %BMP-5-BMP_RELEASE_HEADER_INFO: Flash A Image Main Version : 0 00:02:56: %STKUNIT0-M:CP %BMP-5-BMP_RELEASE_HEADER_INFO: Flash A Image Patch Version : 1216 b If the Dell Networking OS image versions are different, the system stores the downloaded Dell Networking OS image in local flash memory and loads the Dell Networking OS image from flash. This process repeats until the Dell Networking OS image versions match. The system looks for the configuration file on the file server.
Admin state to down: Ma 0/0. 00:03:03: %STKUNIT0-M:CP %IFMGR-5-OSTATE_DN: Changed interface state to down: Ma 0/0. 00:03:03: %STKUNIT0-M:CP %SYS-5-CONFIG_LOAD: Loading configuration file. 00:03:04: %STKUNIT0-M:CP %IFMGR-5-ASTATE_UP: Changed interface Admin state to up: Ma 0/0. If a post–configuration script is present in the applied configuration file, it executes and the logs display: 00:04:22: %STKUNIT0-M:CP %BMP-5-BMP_POST_CONFIG_SCRIPT_BEGIN: The Post-Config Script has started to Execute ..
• The circuit ID identifies the port originating the protocol data unit (PDU) and has the interface details. • The remote ID is configurable between the switch MAC address, the hostname, or a custom string. To set the remote ID, enable the relay up-front in reload-type sub mode. If you enable the relay, by default, the remote ID is set to MAC address.
Define configuration parameters on the DHCP server for each chassis based on the chassis MAC Address or Vendor–Class–Identifier in DHCP offer 60 or a combination of both. The configuration scripts such as Perl, Python, and Ruby are supported if you pre-installed the SmartScript package on the system. The system supports pre–configuration scripts in EXPECT, TCLSH, and ZSH.
Using the Pre–configuration Script To pre–configure the scripts, follow these steps: 1 Decide what information you want to pre–configure; for example, request username and password information. Verify the integrity of the boot image the DHCP offer downloads and apply the configuration types. 2 Create a pre–configuration script in EXPECT, TCL or ZSH. 3 Store the script on any TFTP/FTP/SFTP server that is reachable from the system and mention the URL file (TFTP/FTP/SFTP) in the DHCP offer.
Using Auto-Execution Script (Normal Mode Only) To use the autoexec script, the following conditions must be true: • BMP is disabled. • The autoexecution script is stored in flash://autoexec. • You can write the autoexecution script in EXPECT, TCLSH, or ZSH. If you installed the SmartScripts package, you can also write the post-configuration script in Perl, Python or Ruby.
Timers in Pre–configuration and Post– configuration Scripts To avoid the scripts executing for a long time or an infinitely running script, the Dell Networking OS has a session timer of maximum one hour. After this time, the device reloads and you can go to the DHCP server and correct the script errors. You can manually control the maximum execution time of the script using the Dell Networking OS proprietary utility, rstimer. This utility resets or reloads the device after the mentioned time in the rstimer.
transitioning to Managementunit. 00:00:15: %STKUNIT1-M:CP %CHMGR-5-STACKUNITDETECTED: Stack unit 1 present. The following line indicates the start of the auto-execution script. Script is Started.
The following line indicates that the configuration file is loaded into the switch.
puts "Pre-Config Script Execution Successful !!!!!\r\n" exit 0 Post-configuration Script – BMP Mode The following example shows the post-configuration script for the S4810 or S4820T platform: #! /usr/bin/expect #/DELL-NETWORKING # Post Config Script for S4810-10 # Execute F10do and Print proc print_f10do {cmd_str} { set str [exec f10do "$cmd_str"] set tmp_str [string map {\n \r\n} $str ] puts $tmp_str } # Interfaces Configurations set interface_list_slot [list "0/1" "0/5" "0/9"] set interface_list [list "Te
puts "Wait for 1 min for the Neighbor to come-up\r\n" after [expr {60 * 1000}] puts $fp "========================================\n" puts $fp " Checking Conectivity thru LLDP\n" puts $fp "========================================\n" # Check LLDP Configurations foreach intf_slot $interface_list { set min 0 set result 0 while {$result == 0 && $min < 5} { set result_str [exec f10do "show lldp neighbors | grep \"$intf_slot\""] set tmp_str [string map {\n \r\n} $result_str] puts $tmp_str if {[regexp "$intf_slot"
expect "ftp>" send "put $status_file\n" expect "ftp>" send "ls\n" expect "ftp>" send "bye\n" expect eof print_f10do "configure terminal" print_f10do "interface TenGigabitEthernet 0/22" print_f10do "no ip address" print_f10do "shutdown" print_f10do "end" puts "Post-Config Script Execution Successfull !!!!!\r\n" exit 0 BMP Operations on Servers Overview The following sections describe how to prepare the different servers for BMP functionality.
• IP Address — dynamic IP address for the system. Use this IP address for file transfers only. The following lists the DHCP option codes. DHCP Option Codes Description 6 Domain Name Server IP 60 Vendor class identifier 61 Class identifier 66 TFTP Server name 67 Boot filename 150 TFTP server IP address 209 Configuration file 230 User port stacking NOTE: BMP eventually exits when a timeout occurs. In the following scenarios, BMP requests a different DHCP offer.
Following is a configuration example of a DHCP server included on the most popular Linux distribution. The dhcpd.conf file shows that the MAC-based IP and configuration file assignment are fixed. option configfile code 209=text; option bootfile-name code 67=text; host HOST1{ #####MAC to IP mapping hardware ethernet 00:01:e8:8c:4d:0e; fixed-address 30.0.0.
Class-Based Configuration By matching a part of the string from the vendor class identifier option 60 string, the image, configuration file, or script file is sent in the DHCP offer. For example: host dt-maa-z9000-11 { hardware ethernet 00:01:e8:a9:81:a3; fixed-address 10.16.151.175; option tftp-server-address 10.16.151.209; match if substring (option vendor-class-identifier,0,17) = "TY=DELLNTW-Z9000 "; { filename "tftp://10.16.151.209/FTOS-ZB-9.3.0.0.bin"; option configfile "ftp://anvltest:force10@10.16.
TRING" Client-ID Option 61, length 6: "^@xxxz" File Server Settings Set up a file server and ensure connectivity. To allow file transfers to the switch, configure the file server that holds the boot and configuration files. The system recognizes HTTP, HTTPS, SFTP, TFTP, FTP, USB, and Flash URLs. For example: • tftp://server ip or name/filename • ftp://user:passwd@serverip or name//mypath/Dell-A.B.C.D.
MIB OID Value and Functionality 1.3.6.1.4.1.6027.3.2 1 or 2 (Enable or Disable config-scr download option) 3.1.3 1.3.6.1.4.1.6027.3.2 0 - 50 (DHCP timeout value config) 3.1.4 1.3.6.1.4.1.6027.3.2 0 - 50 (Set BMP Retry count ) 3.1.5 1.3.6.1.4.1.6027.3.2 String (Set the vendor-class identifier values up to a maximum of 60 characters) 3.1.6 1.3.6.1.4.1.6027.3.2 1 or 2 (Enable or Disable relay option) 3.1.7 1.3.6.1.4.1.6027.3.2 String (Set the mac/hostname/custom-string as remote-id option in DHCP offer 3.1.
4 Bare Metal Provisioning CLI Bare metal provisioning commands are supported on the S4810, S4820T, S3048–ON, S3100 series, S4048– ON, S5000, S6000, S6000–ON, S6100–ON, Z9100–ON, Z9500, C9010, IOA, and MXL platforms. In a data center network, BMP automates configuring and updating the switches, ensuring standard configurations across the installed devices. To set up a single switch or a stack of switches with minimal effort, use the auto-configuration function.
auto-save Allows you to configure the auto save option for the downloaded configuration or script file which are not saved by default. S4810, S4820T, S3048–ON, S3100 series, S4048–ON, S5000, S6000, S6000–ON, S6100– ON, Z9100–ON, Z9500, C9010, IOA, and MXL Syntax auto-save { enable | disable } To reset the auto-save option, use the no auto-save { enable | disable } command. Parameters enable Enable the option to save the downloaded configuration or script file.
Related Commands • reload-type — allows you to configure the reload-type options in reload-type sub command mode. • show reload-type — displays the current Reload mode (BMP mode or Normal mode). bmp logging Configures the syslog messages in a console while BMP is running.
Version Description 9.5(0.1) Introduced on the Z9500. 9.5(0.0) Introduced on the S4810, S4820T, S6000, Z9000, and MXL. Usage Information This command is applicable only when BMP is running and enables or disables the syslog messages (with a Severity level >2, critical). When BMP is not running, the following error message displays: % Error: bmp process is not running.
Related Commands Version Description 9.9(0.0) Introduced on the C9010. 9.8(2.0) Introduced on the S3100 series. 9.8(1.0P1) Introduced on the Z9100–ON 9.8(0.0P5) Introduced on the S4048–ON. 9.8(0.0P2) Introduced on the S3048–ON. 9.7(0.0) Introduced on the S4810, S4820T, S5000, S6000, S6000–ON, Z9000, Z9500, IOA, and MXL. • reload-type — allows you to configure the reload-type options in reload-type sub command mode.
Command History This guide is platform-specific. For command information about other platforms, see the relevant Dell Networking OS Command Line Reference Guide. The following is a list of the Dell Networking OS version history for this command. Version Description 9.10(0.0) Introduces on the S6100–ON. 9.9(0.0) Introduced on the C9010. 9.8(2.0) Introduced on the S3100 series. 9.8(1.0P1) Introduced on the Z9100–ON. 9.8(0.0P5) Introduced on the S4048–ON. 9.8(0.0P2) Introduced on the S3048–ON.
Parameters dhcp-timeout minutes Configure the DHCP timeout (in minutes) after which the BMP exits. The range is from 0 to 50. If you enter a range of 0, the timeout is 0 (no limit). NOTE: Dell Networking recommends setting the value to 2 or higher. Defaults Disabled Command Modes RELOAD-TYPE CONFIGURATION Command History This guide is platform-specific. For command information about other platforms, see the relevant Dell Networking OS Command Line Reference Guide.
relay Allows you to configure the addition of option 82 in DHCP client packets. S4810, S4820T, S3048–ON, S3100 series, S4048–ON, S5000, S6000, S6000–ON, S6100– ON, Z9100–ON, Z9500, C9010, IOA, and MXL Syntax relay { enable | disable | remote-id { hostname | MAC | Word }} To reset the options 82 information, use the no relay { enable | disable | remote-id { hostname | MAC | Word }} command. Parameters enable Enable the option 82 in BMP. The default value is the MAC address.
Related Commands • reload-type — allows you to configure the reload-type options in reload-type sub command mode. • show reload-type — displays the current Reload mode (BMP mode or Normal mode). reload conditional nvram-cfg-change After saving the BMP configuration, to perform a reload on the chassis due to configuration changes that changes the NVRAM content, use this command.
Version Description 9.8(0.0P5) Introduced on the S4048–ON. 9.8(0.0P2) Introduced on the S3048–ON. 9.7(0.0) Introduced on the S6000–ON. 9.6(0.0) Introduced on the S5000. 9.5(0.1) Introduced on the Z9500. 9.3(0.0) Introduced on the S6000. 9.2(0.0) Introduced on the MXL Switch. 9.1(0.0) Introduced on the Z9000 and S4810. 8.3.19.0 Introduced on the S4820T.
Related Commands Version Description 9.10(0.0) Introduces on the S6100–ON. 9.9(0.0) Introduced on the C9010. 9.8(2.0) Introduced on the S3100 series. 9.8(1.0P1) Introduced on the Z9100–ON. 9.8(0.0P5) Introduced on the S4048–ON. 9.8(0.0P2) Introduced on the S3048–ON. 9.7(0.0) Introduced on the S4810, S4820T, S5000, S6000, S6000–ON, Z9000, Z9500, IOA, and MXL. 9.6(0.0) Introduced on the S5000. 9.5(0.1) Introduced on the Z9500. 9.3(0.0) Introduced on the S6000. 9.2(0.
retry-count Allows you to configure the number of retries for downloading the Dell Networking OS image and configuration file.
Related Commands • reload-type — allows you to configure the reload-type options in reload-type sub command mode. • show reload-type — displays the current Reload mode (BMP mode or Normal mode). script post-config To run the post-configuration script after the pre–configuration script is executed during the BMP reload, ensure that this command is present in the startup–configuration.
Version Description 9.3(0.0) Introduced on the S6000. 9.2(0.0) Introduced on the MXL switch and S4820T. 9.1(0.0) Introduced on the Z9000 and S4810. show boot bmp Displays the current state of the BMP process. S4810, S4820T, S3048–ON, S3100 series, S4048–ON, S5000, S6000, S6000–ON, S6100– ON, Z9100–ON, Z9500, C9010, and MXL Syntax show boot bmp Defaults none Command Modes EXEC Command History This guide is platform-specific.
Example Dell# show boot bmp Config Download via DHCP: enabled BMP State : Waiting for boot options ... BMP State : Received DHCP offer from DHCP server 25.1.1.1 ***** SELECTED OFFER DETAILS ****** Server type= DHCP Acquired IP= 25.1.1.25 Subnet-mask = 255.255.0.0 Image file = tftp://25.1.1.1/boot_file.bin config file = tftp://25.1.1.1/config_file.cfg Server IP = 25.1.1.1 TFTP Server IP = NIL DNS IP = 25.1.1.1 Routers = NIL *********************************** ... BMP State : Downloading image boot_file.
Example Related Commands Version Description 9.10(0.0) Introduces on the S6100–ON. 9.9(0.0) Introduced on the C9010. 9.8(2.0) Introduced on the S3100 series. 9.8(1.0P1) Introduced on the Z9100–ON. 9.8(0.0P5) Introduced on the S4048–ON. 9.8(0.0P2) Introduced on the S3048–ON. 9.7(0.0) Introduced on the S4810, S4820T, S5000, S6000, S6000–ON, Z9000, Z9500, IOA, and MXL.
show reload-type Displays the reload type currently configured on the system. S4810, S4820T, S3048–ON, S3100 series, S4048–ON, S5000, S6000, S6000–ON, S6100– ON, Z9100–ON, Z9500, C9010, and MXL Syntax show reload-type Defaults none Command Modes EXEC Privilege Command History This guide is platform-specific. For command information about other platforms, see the relevant Dell Networking OS Command Line Reference Guide.
Version Description 8.3.10.0 Introduced on the S4810. Usage Information To check the currently configured Auto-Configuration mode (BMP or Normal reload) on a switch running BMP, use the show reload-type command. To display the current reload mode for BMP, use the show bootvar or show system brief commands. The show bootvar command includes the path of the Dell Networking OS image file retrieved from a DHCP server when BMP is running, but not after you exit BMP.
Version Description 9.10(0.0) Introduced on the S6100–ON. 9.9(0.0) Introduced on the C9010. 9.8(2.0) Introduced on the S3100 series. 9.8(1.0P1) Introduced on the Z9100–ON. 9.8(0.0P5) Introduced on the S4048–ON. 9.8(0.0P2) Introduced on the S3048–ON. 9.7(0.0) Introduced on the S6000–ON. 9.6(0.0) Introduced on the S5000. 9.5(0.1) Introduced on the Z9500. 9.3(0.0) Introduced on the S6000. Replaces the stop jumpstart command. 9.2(0.
vendor class identifier Allows you to configure the optional vendor class identifier for DHCP option 60. S4810, S4820T, S3048–ON, S3100 series, S4048–ON, S5000, S6000, S6000–ON, S6100– ON, Z9100–ON, Z9500, C9010, IOA, and MXL Syntax vendor-class-identifier description To reset the vendor-class-identifier option, use the no vendor-class-identifier description command.
Related Commands • reload-type — allows you to configure the reload-type options in reload-type sub command mode. • show reload-type — displays the current Reload mode (BMP mode or Normal mode). verify Validates the software image on the flash drive after the image transfers to the system but before the image installs.
Version Description 9.8(0.0P5) Introduced on the S4048–ON. 9.8(0.0P2) Introduced on the S3048–ON. 9.7(0.0) Introduced on the IOA and S6000–ON. 9.6(0.0) Introduced on the S5000. 9.5(0.0) Introduced on the S4810, S4820T, S6000, Z9000, and Z9500.
5 Open Management Infrastructure Dell Networking OS supports the Open Management Infrastructure (OMI) framework. OMI is supported on the S4810, S4820T, S3048–ON, S4048–ON, S5000, S6000, S6000–ON, S6100–ON, Z9100–ON, and Z9500 platforms. Overview OMI is an open source package which manages infrastructure components such as servers, storage, and networking. OMI supports the distributed management task force (DMTF) common information model (CIM) / web-based enterprise management (WBEM) standards.
• OMI-P-9.10.0.1.tar.gz for S4810, S4820T, and S5000. • OMI-I-9.10.0.1.tar.gz for S3048–ON, S4048–ON, S6000, S6000–ON, S6100–ON, Z9500, and Z9100–ON. NOTE: OMI is supported on S5000 platform, only if there are no Fibre Channel module in it. You can also download the DellNetworkingDSC.zip file from the Dell Support website at https://www.force10networks.com/CSPortal20/Main/SupportMain.aspx.
Configuring OMI The OMI package supports the following configurations: 1 Enable the REST API. CONFIGURATION mode rest-server http 2 Configure script path /usr/pkg/omi108/bin/ The script path configuration helps you to configure the unnamed scripts present in the configured path. 3 Start the OMI server. CONFIGURATION mode script execute omi-server-config args start 4 Stop the OMI server.
The argument options are: • server — show omi-server log • provider — show dell-provider log • agent — show omi-agent log • client — show omi-client log • dsc — show dsc log • logger — show dell-logger log • httpsend — show HTTP send trace log • httprecv — show HTTP recv trace log The additional (optional) arguments are: • top — show the status from top • bottom — show the status from bottom • number of lines — specify the number of lines NOTE: The script path is/usr/pkg/omi108/bin.
Import-DscResource -Name MSFT_NetworkDevice_EthernetPortView Node ("") { MSFT_NetworkDevice_EthernetPortView MyPort { PortId = "tengig-0-1" EnabledState = "Enabled" } } } 7 • PortId identifies the interface. This example configures tengigabitethernet 0/1. • EnabledState identifies the status of the port. In this example, “Enabled” brings up the port. In PowerShell, create the Ethernet MOF using configuration block. MSFT_NetworkDevice_EthernetPortViewConfig -OutputPath c:\EthernetPortV
{ MSFT_NetworkDevice_EthernetPortView MyPort { PortId = "tengig-0-11" Description = "Interface connecting to S4810" } } } MSFT_NetworkDevice_EthernetPortViewConfig -OutputPath c:\EthernetPortViewMof The MOF for the node gets stored in the path C:\EthernetPortViewMof. NOTE: Save the PowerShell commands in a file with an extension .ps1 (PowerShell Script) and execute. Push the configuration. PS C:\> Start-DscConfiguration -CimSession $dellBox -Path C:\EthernetPortViewMof Wait -Force Enumer
Description Banner EnableBanner PSComputerName : : : : 10.10.60.1 Classes and Schema Implementation This section lists the implementation of classes and schema in OMI.
Powershell Cmdlets and OMI Compatibility Matrix This section describes the list of DesiredStateConfiguration (DSC) resource cmdlets supported in OMI. Table 2. Powershell Cmdlets and OMI Compatibility Matrix Cmdlets Description Version Support Get-DscConfiguration Gets the current configuration of the nodes. 4.0 and 5.0 GetDscLocalConfigurationManag er Gets Local Configuration Manager settings and states for the node. 4.0 and 5.0 Get-DscResource Gets the DSC resources present on 4.0 and 5.
6 Puppet Dell Networking OS supports the Puppet automation framework. Puppet Agent is supported on the S4810, S4820T, S3048–ON, S4048–ON, S5000, S6000, S6000–ON, S6100–ON, Z9100–ON, and Z9500 platforms. Overview Puppet is a configuration management utility that defines the state of system, then automatically enforces the correct state. Puppet Agent is a daemon that runs on all the client servers.
EXEC Privilege mode Dell#package install tftp://1.1.1.1/SMARTSCRIPTS-I-9.10.0.0.tar.gz 3 Install the puppet package. EXEC Privilege mode package install tftp://1.1.1.1/PUPPET-I-9.10.0.0.tar.gz NOTE: You must keep the clock of the chassis in sync with the Puppet master. The synchronization is done by the Network Transfer Protocol (NTP) server. Configuring the Puppet Agent To configure the Puppet Agent, use the following steps. 1 Enable the REST API.
EXEC Privilege mode script execute puppet-agentd username puppet bg 9 Monitor the puppet agent. EXEC Privilege mode script execute puppet-show args "status" Puppet Agent Configuration Scripts This section describes the various Puppet Agent configuration scripts: puppet-config To configure or make changes to the agent’s parameters, use the puppet-config script. puppet-config [-d] option=value Following are the mandatory puppet configuration options: agentrestipaddr : IP address to be used for rest apis.
puppet-agent To perform the agent specific operations, use the puppet-agent script.
Hostname Configuration Apply the hostname configurations using both the Puppet Standalone and Puppet Agent. You can read and write the hostname configuration by using the netdev_device. Example for configuring the Hostname. node dell_s4810_node1 { netdev_device { hostname: } } Layer 2 Interface Configuration Apply the Layer 2 interface configurations using both the Puppet Standalone and Puppet Agent. You can read and write the Layer 2 interface configurations by using the netdev_l2_device type.
Physical Interface Configuration Apply the physical interface configurations using both the Puppet Standalone and Puppet Agent. You can read and write the physical interface configuration by using the netdev_interface type.
osfamily=NetBSD architecture="x86"|"ppc" puppetversion={Puppet Version} rubyversion={Ruby Version} uptime={System uptime} Setting up the Puppet Master Puppet uses the client-server model. The client-server regularly connects to the master server to synchronize their configurations and to report the changes, if any, back to the central nodes. When you install or upgrade Puppet, you must upgrade the Puppet Master component first.
7 Smart Scripting Smart Scripting is supported on the S4810, S4820T, S3048–ON, S3100 Series, S4048–ON, S5000, S6000, S6000–ON, S6100–ON, Z9100–ON, Z9500, C9010, and MXL switch platforms. Smart Scripting is not supported on the M IOA and FN IOM platforms. Smart Scripting allows you to add functionality to Dell Networking switches without updating the Dell Networking OS release.
• Modules that implement requested Python features, such as AMQP (message queuing), XML-RPC (arbitrary data exchange), and Twisted (event-driven networking engine). NOTE: S3100 series does not support Ruby scripting. With Smart Scripting, you don’t need to learn proprietary scripting languages; allowing for faster development and deployment of custom scripts. Smart Scripting also offers solutions in a UNIX environment useful to cloud administrators who are familiar with working in a UNIX shell.
Download the Smart Scripting Package Download the Smart Scripts package from the Dell Networking OS website. The Smart Script filenames are: • SMARTSCRIPTS-LITE-A-9.10.0.1.tar.gz for S3100 Series. • SMARTSCRIPTS-P-9.10.0.1.tar.gz for S4810, S4820T, and S5000. • SMARTSCRIPTS-I-9.10.0.1.tar.gz for S6000, S6000–ON, S6100–ON, Z9500, C9010, S3048–ON, S4048–ON, and Z9100–ON. • SMARTSCRIPTS-M-9.10.0.1.tar.gz for MXL Switch.
• SMARTSCRIPTS-P-9.10.0.1.tar.gz for S4810, S4820T, and S5000. • SMARTSCRIPTS-I-9.10.0.1.tar.gz for S6000, S6000–ON, S6100–ON, Z9500, C9010, S3048–ON, S4048–ON, and Z9100–ON. • SMARTSCRIPTS-M-9.10.0.1.tar.gz for the MXL switch. 6 In the dialog box, select the path for the local flash on the switch or a directory path on a network server where you want to download the SMARTSCRIPTS package.
package uninstall package-name Enter the name of the Smart Scripting package exactly as it appears in the show packages list. Dell Environment Variables Dell Networking OS provides the following set of environment variables that you can access through scripts (PERL, Python, Ruby, TCL, UNIX, and ZSH). 1 DELL_TRGEVT_NAME — gets the name of the Event that triggered the script. 2 DELL_TRGEVT_TYPE — displays the type of event that triggered the script. The event type can be mentioned as follows: Table 3.
"MEMORY" { set data "Sending Mail : Triggered Event is $env(DELL_TRGEVT_NAME) Memory Limits Crossed - Sending Memory Usage Analyser Report. The MEMORY Percentage at which Script got Triggered is $env(DELL_TRGEVT_MEM)" } } puts $fileId $data close $fileId Dell Proprietary Utilities Dell Networking OS provides the following utilities which are unique and helpful while scripting.
dellsh To parse a list of commands line by line in any given text file and configure it on the device, use the dellsh system command. Syntax: dellsh Sample script for dellsh in Python #! /usr/pkg/bin/python import os os.system("dellsh '/usr/pkg/ss-scripts/dellsh.txt'") Sample script for dellsh in Python for S3100 Series #! /f10/flash/pkg/usr/pkg/bin/python import os os.system("dellsh '/f10/flash/pkg/ss-scripts/dellsh.
• 4 — warning • 5 — notify • 6 — infor • 7 — debug The default severity level is 6. Sample script for dellsyslog in Python #! /usr/pkg/bin/python import sys import os print sys.argv[1] os.system("dellsyslog -s %s 'The Syslog is generated by python'" %(sys.argv[1])) Sample script for dellsyslog in Python for S3100 Series #! /f10/flash/pkg/usr/pkg/bin/python import sys import os print sys.argv[1] os.system("dellsyslog -s %s 'The Syslog is generated by python'" %(sys.
where CLI_list can be defined as (”interface vlan 10”, “no shutdown”) • DellCli — If you need to execute a EXEC mode Dell Networking OS command, you can make use of this API Syntax: Dellcli (“”) Sample script for Perl using DellExec, DellCli, and DellConfig #! /usr/pkg/bin/perl #importing DellSSUtils require "/usr/pkg/scripts/DellSSUtils/DellSmartUtils.
f = DellSmartUtils.DellCli("show version") fh = open("/f10/flash/Dellcli.txt", "w") fh.writelines(f) fh.close() Sample script for Python using DellExec, DellCli, and DellConfig (S3100 Series) #! /f10/flash/pkg/usr/pkg/bin/python import time import sys sys.path.append('/f10/flash/pkg/usr/pkg/scripts/DellSSUtils/') import DellSmartUtils for input1 in sys.argv[1:]: print DellSmartUtils.DellCliConfig(["%s" %str("interface vlan %s" %str(input1) ) , "no shutdown"]) arg_val="" for b in sys.
• snmpget • snmpset • snmpbulkget • snmpbulkwalk • snmpbulknext NOTE: SmartScripts package contains the Dell Networking OS latest MIBs and the snmp.conf file. You can load the MIBs while doing SNMP query as part of NET-SNMP client. The snmp.conf file is present in the /usr/pkg/share/snmp/ directory. For S3100 series, the snmp.conf file is present in the /f10/ flash/pkg/usr/pkg/share/snmp/ directory.
System Attributes Value Description memorylocked 77,741 Maximum size (in bytes) which a process may lock into memory using the mlock(2) function. maxproc 160 Maximum number of simultaneous processes allowed for the user ID. openfiles 64 Maximum number of open files for this process. Supported UNIX Utilities Smart Scripting supports the invocation of the following UNIX utilities in the scripts you use. UNIX Utility Function arp Address resolution display and control.
UNIX Utility Function hostname Set or print the name of the current host system. ifconfig Configure network interface parameters. iostat Report I/O statistics. ln Make links. ls List directory contents. md5 Calculates and verifies 128-bit MD5 hashes. more Filter for browsing text files. netstat Show the network status nice Execute a utility with an altered scheduling priority. nohup Invoke a command immune to hangups. paste Join files horizontally.
Creating a Username and Password for Smart Scripting Before you run a script from the Dell Networking OS CLI, you may want to configure an additional user name and password to use only to run scripts on a switch. Use the username and password to log in to a UNIX shell and apply the read-write privileges assigned to the user name when a script runs with the script command from the Dell Networking OS CLI. The username is an optional keyword in the script command (see Scheduling Time / Event-based Scripts).
Downloading Scripts to a Switch Download a script to the switch using TFTP, FTP, or FLASH. Save the script to the dedicated script storage location, /usr/pkg/ss-scripts. For S3100 series, the storage location is /f10/flash/pkg/ss-scripts. Network File System (NFS) A Network File System (NFS) allows you to mount the file systems over a network and locally interact with those file systems.
The script path can contain a network file-system-mounted directory (defined in the mount nfs command). The path is added to a script search list, allowing the system to search all locations for the script name. If the script is in multiple locations, the system uses the first instance of the script found. Scheduling and Executing Scripts Schedule scripts to execute periodically, based on an event and a specific time, such as at boot up or after you configure the switch.
script execute script-name [start {at date-time | after time}] [stop {at datetime | after time}] [watch] [arguments arg[..arg]] [username username] Following example shows the script execution at 22:22 (FTOS clock time) and stops after 15 minutes: Dell(conf)#script execute monitor_status.pl start at 22:22 stop after 15 watch args "Te 0/4" • Use the keyword watch to monitor the script. If the script execution terminates before 10 minutes, the system reruns the script.
Following snippet triggers the script once the cpu-usage reaches 30%: Dell(conf)#script trigger-event event1 cpu-usage 30 Dell(conf)#script event-handler handler1 Dell(conf-screvt-handler)#execute Report_server.
• Username 002 CONF WATCH Watch Blocked 3 Tue Dec 3 18:04:28 2013 args.pl user2 To control the script that is running based on the system resources such as the CPU, memory or disk I/O usage, use the switch script limit cpu memory diskio command. The scripting framework is enabled with system resource usage protection.
show script watch [detail] Running a Script from the UNIX Shell You can run any Perl, Python, Ruby, and UNIX script stored on a switch from either the Dell Networking OS CLI or directly from a NetBSD shell on the switch. For more information about running a script from the Dell Networking OS CLI, see Scheduling Time / Event-based Scripts. 1 When you run a script from a UNIX shell, first access the shell using the start shell command.
listed in Supported UNIX Utilities. Enter the command multiple times to run more than one script at the same time. • Run an installed script. For script-path, enter the directory path and filename. CONFIGURATION mode script [username name] script-path [script-parameter script-parameter ...] For script-path, enter the directory path and filename. (Optional) For username name, enter the user name whose read-write privileges are applied when the script runs.
8 Smart Scripting CLI Smart Scripting is supported on the S4810, S4820T, S3048–ON, S3100 Series, S4048–ON, S5000, S6000, S6000–ON, S6100–ON, Z9100–ON, Z9500, C9010, and MXL platforms. Smart Scripting is not supported on the M IOA, FN IOA, and FN IOM platforms.
disable Allows you to enable or disable the current event handler configuration. S4810, S4820T, S3048–ON, S3100 Series, S4048–ON, S5000, S6000, S6000–ON, S6100– ON, Z9100–ON, Z9500, C9010, and MXL Syntax disable To reset the event handler, use the [no] disable command. Defaults none Command Modes SCRIPT EVENT HANDLER CONFIGURATION Command History This guide is platform-specific. For command information about other platforms, see the relevant Dell Networking OS Command Line Reference Guide.
execute Allows you to run the script based on the configured trigger event. S4810, S4820T, S3048–ON, S3100 Series, S4048–ON, S5000, S6000, S6000–ON, S6100– ON, Z9100–ON, Z9500, C9010, and MXL Syntax Parameters execute script-name [arguments arg[..arg]] script-name Enter the name of the script to schedule for execution. arguments arg [..args] Enter the keyword arguments then the arguments to script. The maximum length is 64 characters.
mount nfs Share the network file system the local Dell Networking OS file system uses. S4810, S4820T, S3048–ON, S3100 Series, S4048–ON, S5000, S6000, S6000–ON, S6100– ON, Z9100–ON, Z9500, C9010, and MXL Syntax mount nfs nfs-server-ip: remote_dir mount_name [username username password password] To unmount the network file system, use the no mount command. Parameters remote_dir mount_name Enter the directory path where the network file system mounts.
Usage Information Version Description 9.3(0.0) Introduced on the S6000. 9.2(0.0) Introduced on the S4810, S4820T, Z9000, and MXL. • All the mount points are maintained in the /f10/mnt/nfs folder. • Only the relative path (mount point name) is acceptable. If the path you enter is either complete or absolute, an error occurs. • If the mount point exists under the f10/mnt, you can reuse it or it is created under /f10/mnt/nfs and used.
Version Description 9.9(0.0) Introduced on the S4810, S4820T, S3048–ON, S3100 Series, S4048–ON, S5000, S6000, S6000–ON, Z9100–ON, Z9500, C9010, and MXL. package install Installs the Smart Scripting package. This command downloads the package from the specified location and installs it in the internal flash memory on a switch.
Version Description 9.8(0.0P2) Introduced on the S3048–ON. 9.7(0.0) Introduced on the S6000–ON. 9.6(0.0) Introduced on the S5000. 9.5(0.1) Introduced on the Z9500. 9.2(0.0) Introduced on the MXL switch. 9.0.2.0 Introduced on the S6000. 9.0.0.0 Introduced on the Z9000. 8.3.19.0 Introduced on the S4820T. 8.3.8.0 Introduced on the S4810. Usage Information Because installing an Open Automation package may take time, the installation performs in the background when the download finishes.
Version Description 9.10(0.0) Introduced on the S3100 Series and S6100–ON. 9.9(0.0) Introduced on the C9010. 9.8(1.0P1) Introduced on the Z9100–ON. 9.8(0.0P5) Introduced on the S4048–ON. 9.8(0.0P2) Introduced on the S3048–ON. 9.7(0.0) Introduced on the S6000–ON. 9.6(0.0) Introduced on the S5000. 9.5(0.1) Introduced on the Z9500. 9.2(0.0) Introduced on the MXL switch. 9.0.2.0 Introduced on the S6000. 9.0.0.0 Introduced on the Z9000. 8.3.19.0 Introduced on the S4820T. 8.3.8.
script (run) Runs an Expect, Perl, Python, Ruby, Tcl, UNIX, and ZSH shell script from the Dell Networking OS CLI. S4810, S4820T, S3048–ON, S3100 Series, S4048–ON, S5000, S6000, S6000–ON, S6100– ON, Z9100–ON, Z9500, C9010, and MXL Syntax Parameters script [username name] script-name [script-parameter scriptparameter ...] username name (Optional) Enter the user name with read-write privileges. A username cannot contain special characters.
Version Description 9.10(0.0) Introduced on the S3100 Series and S6100–ON. 9.9(0.0) Introduced on the C9010. 9.8(1.0P1) Introduced on the Z9100–ON. 9.8(0.0P5) Introduced on the S4048–ON. 9.8(0.0P2) Introduced on the S3048–ON. 9.7(0.0) Introduced on the S6000–ON. 9.6(0.0) Introduced on the S5000. 9.5(0.1) Introduced on the Z9500. 9.2(0.0) Introduced on the MXL switch. 9.0.2.0 Introduced on the S6000. 9.0.0.0 Introduced on the Z9000. 8.3.19.0 Introduced on the S4820T. 8.3.8.
script (stop/resume/clear/kill/ unschedule) Stops, resumes, clears, kills, or unschedules an Expect, Perl, Python, Ruby, Tcl, UNIX, and ZSH shell script from the Dell Networking OS CLI. S4810, S4820T, S3048–ON, S3100 Series, S4048–ON, S5000, S6000, S6000–ON, S6100– ON, Z9100–ON, Z9500, C9010, and MXL Syntax Parameters script {stop | resume | clear | kill | unschedule} {script-name script-name | job-id job-id | all} stop Enter the keyword stop to stop a script from being run.
Version Description 9.9(0.0) Introduced on the C9010. 9.8(1.0P1) Introduced on the Z9100–ON. 9.8(0.0P5) Introduced on the S4048–ON. 9.8(0.0P2) Introduced on the S3048–ON. 9.7(0.0) Introduced on the S6000–ON. 9.6(0.0) Introduced on the S5000. 9.5(0.1) Introduced on the Z9500. 9.3(0.0) Introduced on the S6000. 9.2(0.0) Introduced on the S4810, S4820T, Z9000, and MXL Switch.
Version Description 9.10(0.0) Introduced on the S3100 Series and S6100–ON. 9.9(0.0) Introduced on the C9010. 9.8(1.0P1) Introduced on the Z9100–ON. 9.8(0.0P5) Introduced on the S4048–ON. 9.8(0.0P2) Introduced on the S3048–ON. 9.7(0.0) Introduced on the S4810, S4820T, S5000, S6000, S6000–ON, Z9000, Z9500, and MXL. script execute (EXEC mode) Schedules the scripts from EXEC mode either to run in foreground or background.
stop after time Enter the keywords stop after then the time in [HHHH:] MMMM format to stop running the script at the specified time. bg Enter the keyword bg to schedule scripts to run in the background. arguments arg [..args] Enter the keyword arguments then the arguments to script. The maximum length is 64 characters. The arguments can be any number of words within quotes and separated by a space. username username Enter the keyword username to use when the script runs.
• Example If you do not provide the username, the system uses current session username. If the script is triggered from the console, the system uses the Dell Networking OS default username (smartuser). Dell#script execute collect_log.py start at 22:22-10/30/14 stop after 0001:0000 args "Te 0/5" bg This example illustrates that the script execution starts at 22:22 10/30/14 (MM/DD/YY) and stops after 1 hour and the script runs in the background. script execute Schedules the scripts to run across reloads.
stop after time (Optional) Enter the keywords stop after time then the time in [HHHH:] MMMM format to indicate the time after which the script stops running. For example, stop after 00:30 indicates to stop the script execution 30 minutes after the start time. watch (Optional) Enter the keyword watch to monitor the script. args arguments (Optional) Enter the keyword args then the arguments script. The maximum length is 64 characters.
• Only the person who configures the scheduled scripts (or a higher privileged user) can change them. • If you do not provide the username, the system uses current session username. If the script is triggered from the console, the system uses the Dell Networking OS default username (smartuser). script get Copies a script to a switch.
Version Description 9.2(0.0) Introduced on the S4810, S4820T, Z9000, and MXL Switch. Usage Information The following formats are supported: Flash, FTP, TFTP, HTTP, and SCP.
flash/pkg/ss-scripts:/f10/flash/pkg/usr/pkg/bin:/f10/ flash/pkg/usr/pkg/sbin Command Modes CONFIGURATION Command History This guide is platform-specific. For command information about other platforms, see the relevant Dell Networking OS Command Line Reference Guide. The following is a list of the Dell Networking OS version history for this command. Version Description 9.10(0.0) Updated the default script path. Introduced on the S3100 Series and S6100–ON. 9.9(0.0) Introduced on the C9010. 9.8(1.
script remove Removes a script from a switch. S4810, S4820T, S3048–ON, S3100 Series, S4048–ON, S5000, S6000, S6000–ON, S6100– ON, Z9100–ON, Z9500, C9010, and MXL Syntax Parameters script remove {file-name | all} file-name Enter the filename of the script to remove from the switch. all Enter the keywords all to remove all files from the dedicated folder on the switch. Defaults none Command Modes EXEC Command History This guide is platform-specific.
script trigger-event Configures the event that causes the script to run.
time-event start after time Enter the keyword start after then the time in [HHHH:] MMMM format to begin the trigger event after the specified time. time-event stop at datetime Enter the keyword stop at then the time and date either in HH:MM — MM/DD/YY format to stop the trigger event at the specified time and date or in HH:MM format to begin the trigger event at the specified time on the same day (if the mentioned time is elapsed, the event runs on the next day HH:MM mentioned).
Version Description 9.8(1.0P1) Introduced on the Z9100–ON. 9.8(0.0P5) Introduced on the S4048–ON. 9.8(0.0P2) Introduced on the S3048–ON. 9.7(0.0) Introduced on the S4810, S4820T, S5000, S6000, S6000–ON, Z9000, Z9500, and MXL. 9.6(0.0) Introduced on the S5000. 9.5(0.1) Introduced on the Z9500. 9.3(0.0) Introduced on the S6000. 9.2(0.0) Introduced on the S4810, S4820T, Z9000, and MXL Switch. Usage Information The maximum number of events you can configure is 20.
Following example shows the cpu-usage limit. Dell(conf)# script trigger-event event1 cpu-usage 30 Following example shows how the event triggers on every month first Sunday. script trigger-event Event2 time-event weekday sun month jan,feb,mar,apr,may,jun,jul,aug,sep,oct,nov,dec mothday 1-7 Following example shows how the event triggers at the end of every quarter.
Version Description 9.9(0.0) Introduced on the C9010. 9.8(1.0P1) Introduced on the Z9100–ON. 9.8(0.0P5) Introduced on the S4048–ON. 9.8(0.0P2) Introduced on the S3048–ON. 9.7(0.0) Introduced on the S6000. 9.6(0.0) Introduced on the S5000. 9.5(0.1) Introduced on the Z9500. 9.2(0.0) Introduced on the MXL Switch. 9.0.2.0 Introduced on the S6000. 9.0.0.0 Introduced on the Z9000. 8.3.19.0 Introduced on the S4820T. 8.3.8.0 Introduced on the S4810.
UUID 0.02 version 0.97 Class::Inspector 1.27 Task::Weaken 1.04 Algorithm::Diff 1.1902 Text::Diff 1.41 SOAP::Lite 0.714 Crypt::SSLeay 0.58 URI::urn::uuid 0.03 UUID 0.03 Crypt::SSLeay 0.58 Net::SNMP 6.0.1 Net::Telnet::Cisco 1.10 DBI 1.623 Ruby 1.9.3-p545 libxml-ruby 2.3.0 mime-types 2.3 netrc 0.7.7 rest-client 1.6.7 HTTP Server mini_httpd 1.21 Perl and Python function library for Dell Networking SmartScripts smartutils 2.0.0 DellSSUtils 1.0.0 WebConnect Web UI and CGI scripts htdocs 2.0.0 NetSNMP 5.7.
10 11 not present not present show script Displays the stored, scheduled, and running scripts. S4810, S4820T, S3048–ON, S3100 Series, S4048–ON, S5000, S6000, S6000–ON, S6100– ON, Z9100–ON, Z9500, C9010, and MXL Syntax Parameters show script {file | process | watch} | [detail] file Enter the keyword file to list the stored files in the script path. Enter the optional keyword detail to show detailed output of the scripts including job-id, script type, and script status.
Version Description 9.7(0.0) Introduced on the S6000–ON. 9.6(0.0) Introduced on the S6000. 9.5(0.1) Introduced on the Z9500. 9.3(0.0) Introduced on the S6000. 9.2(0.0) Introduced on the S4810, S4820T, Z9000, and MXL switch. start shell Starts a NetBSD UNIX shell. S4810, S4820T, S3048–ON, S3100 Series, S4048–ON, S5000, S6000, S6000–ON, S6100– ON, Z9100–ON, Z9500, C9010, and MXL Syntax start shell Defaults none Command Modes EXEC Privilege Command History This guide is platform-specific.
Version Description 9.0.0.0 Introduced on the Z9000. 8.3.19.0 Introduced on the S4820T. 8.3.8.0 Introduced on the S4810. Usage Information To invoke the Dell Networking OS operations, start an NetBSD shell on a switch before you can enter UNIX commands or run a script directly from the shell (see Running a Script from the UNIX Shell). After you start a shell, you are prompted to enter a username and password.
Version Description 9.8(0.0P2) Introduced on the S3048–ON. 9.7(0.0) Introduced on the S4810, S4820T, S5000, S6000, S6000–ON, Z9000, Z9500, and MXL. switch script limit To control the script that is running based on CPU, memory, or disk IO usage, use the switch script limit.
Version Description 9.8(0.0P2) Introduced on the S3048–ON. 9.7(0.0) Introduced on the S6000–ON. 9.6(0.0) Introduced on the S5000. 9.5(0.1) Introduced on the Z9500. 9.3(0.0) Introduced on the S6000. 9.2(0.0) Introduced on the S4810, S4820T, Z9000, and MXL switch. Usage Information When the system reaches any maximum percentage limit, all running scripts suspend and additional scripts are not scheduled.
Usage Information Example Version Description 9.10(0.0) Introduced on the S3100 Series and S6100–ON. 9.9(0.0) Introduced on the C9010. 9.8(1.0P1) Introduced on the Z9100–ON. 9.8(0.0P5) Introduced on the S4048–ON. 9.8(0.0P2) Introduced on the S3048–ON. 9.7(0.0) Introduced on the S4810, S4820T, S5000, S6000, S6000–ON, Z9000, Z9500, and MXL. • Only the person who configures the scheduled scripts (or a higher privileged user) can change them.
login requirements. A username running the scripts cannot contain any special characters. password password Enter a password to access the UNIX shell. Defaults none Command Modes CONFIGURATION Command History This guide is platform-specific. For command information about other platforms, see the relevant Dell Networking OS Command Line Reference Guide. The following is a list of the Dell Networking OS version history for this command. Version Description 9.10(0.
9 Virtual Server Networking Virtual server networking (VSN) is supported on the S4810, S4820T, S5000, and MXL switch platforms. As a part of the Open Automation package, VSN provides real-time communication between the Dell Network fabric and the virtual servers to automate network management and configuration tasks throughout the data center.
VMware is a centralized server management system that manages multiple vSphere operating systems on which multiple virtual machines (VMs) run. The VMware ESX server is a single unit, that can be managed by the hypervisor or act as an independent unit. The Citrix Xen hypervisor uses a distributed management methodology under which a number of XenServers is grouped in a management domain, with a master server managing the other units in the domain.
remove a VLAN. A system administrator must make manual updates to the Dell Networking OS configuration. • Config — VSN retrieves configuration information from a hypervisor and automatically makes the required configuration changes in the Dell Networking OS on the switch. VSN Persistency VSN installation and configuration are persistent in the Dell Networking OS configuration and remains after a system reload. However, the configuration information a hypervisor retrieves is not persistent.
4 To accept the DELL End User License Agreement, at the lower end of the page, click I Agree. Open Automation Software packages are listed. 5 From the Virtual Server Networking software package, select and download the file corresponding to the switch from the following list: 6 • VSNAGENT2.0.x.tar.gz file for S55 and S60 • VSNAGENT-P-9.10.0.0.tar.gz for S4810, S4820T, and S5000 • VSNAGENT-M-9.10.0.0.tar.
By default, VSN is disabled on switch interfaces. 2 Specify the name of a hypervisor session and enter Hypervisor Configuration mode. CONFIGURATION mode hypervisor name Enter up to 40 characters to define the hypervisor session. 3 Define the hypervisor type to which you want to connect. HYPERVISOR mode type {vmware | xen-citrix} To display the currently supported hypervisor types, use the show hypervisor supported command. 4 Establish the connection between the switch and a hypervisor.
To change these settings, follow these steps. 1 In Hypervisor Configuration mode, stop the session by entering the disable command. 2 Enter the no type {vmware | xen-citrix} or no access url username username password password command to remove a configured setting. 3 Enter the type {vmware | xen-citrix} or access url username username password password command to configure a new setting.
If connectivity to a hypervisor is lost after information is retrieved and used to reconfigure a switch, the following log message displays. The VSN agent tries to connect to the hypervisor in the background. The information that was retrieved from the hypervisor is not deleted. Xen-Citrix:Lost connection to hypervisor xen217. Retrying...
Disabling a Hypervisor Session To stop VSN in a hypervisor session, enter the disable command in HYPERVISOR mode. The disable command does not remove connectivity with the hypervisor or remove the session information from the system configuration. • Shut down VSN in a hypervisor session. HYPERVISOR mode disable Removing a Hypervisor Session To delete the configuration of a hypervisor session from the running configuration, use the no hypervisor command in CONFIGURATION mode.
Viewing VSN Information To view the configuration of currently active hypervisor sessions, use these commands. • Display configuration of current hypervisor sessions. HYPERVISOR mode • show configuration Display a list of supported hypervisors. EXEC Privilege mode • show hypervisor supported Display general information on current hypervisor sessions.
Example of the show virtualswitch specified hypervisor sessions command. Dell#show virtualswitch GigabitEthernet 0/32 vSwitch3 Interface :Gi 0/32 Hypervisor Type :vmware Hypervisor Name :vmware207 Hypervisor Version :4.1.0 Virtual Switch :vSwitch3 Port groups : Name :VLAN 3 Vlan Id :138 VIFs: MAC MTU 00:50:56:92:00:77 8000 Name :VM Network 4 Vlan Id :VIFs: MAC MTU 00:0c:29:4f:66:19 8000 PIFs: MAC MTU 00:26:55:dd:01:4f 8000 Example of the show vmmap virtual machines accessed command.
10 Virtual Server Networking CLI The Virtual Server Networking commands are supported on the S4810, S4820T, S5000, and MXL platforms. NOTE: VSN is supported only on standalone switches and VMware virtual distributed switches (VDS); it is not supported in stacked configurations.
username name Enter the keyword username then the name for authentication. password password Enter the keyword password then the password in clear text for authentication. Defaults none Command Modes HYPERVISOR Command History This guide is platform-specific. For command information about other platforms, see the relevant Dell Networking OS Command Line Reference Guide. The following is a list of the Dell Networking OS version history for this command. Version Description 9.6(0.
Version Description 8.3.19.0 Introduced on the S4820T. 8.3.8.0 Introduced on the S4810. Usage Information Entering the disable command in Hypervisor Configuration mode disables VSN in the current hypervisor session. It does not remove connectivity with the hypervisor or remove the session information from the system configuration. To re-enable a configured hypervisor session, use the no disable command. hypervisor Specifies the name of a hypervisor session with which VSN connects.
To remove the configuration of a specified hypervisor session from the running configuration and close active hypervisor sessions without removing the VSN agent from the system, enter the no hypervisor name command. mode Sets the Hypervisor mode you use to retrieve configuration information on virtual servers.
The following log messages display when you use the Hypervisor mode check option to retrieve configuration information on virtual servers: Dec 1 04:57:48: %STKUNIT0-M:CP %VSNMGR-5-VSN_VLAN_DISCOVERY: Te 0/35, Vlan: 4001-4008,4011-4012 Dec 1 04:56:46: %STKUNIT0-M:CP %VSNMGR-5-VSN_VLAN_WITHDRAWAL: Te 0/35, Vlan: 4001-4008,4011-4012 package install Installs an Open Automation package, such as VSN.
Version Description 8.3.19.0 Introduced on the S4820T. 8.3.8.0 Introduced on the S4810. Usage Information Because the installation of the VSN package takes time, the installation performs in the background. When the download completes, a message displays on the console. To follow the progress of a package installation, enter the show packages command. package uninstall Removes an installed Open Automation package, such as VSN, from the system.
Related Commands show packages — displays all the packages installed in the system. script To retrieve virtual server configurations and update Dell Networking OS settings on the switch, run an installed VSN script (Perl or Python) on active Hypervisor links. S4810, S4820T, S5000, and MXL Switch Syntax [no] script script-name To stop a running script, enter the no script script-name command.
show hypervisor supported Displays the types of Hypervisors VSN currently supports. S4810, S4820T, S5000, and MXL Switch Syntax show hypervisor supported Defaults none Command Modes EXEC Privilege Command History This guide is platform-specific. For command information about other platforms, see the relevant Dell Networking OS Command Line Reference Guide. The following is a list of the Dell Networking OS version history for this command. Version Description 9.6(0.0) Introduced on the S5000. 9.
show packages Displays all Open Automation packages installed on a switch. S4810, S4820T, S5000, and MXL Switch Syntax show packages Defaults none Command Modes EXEC Privilege Command History This guide is platform-specific. For command information about other platforms, see the relevant Dell Networking OS Command Line Reference Guide. The following is a list of the Dell Networking OS version history for this command. Example Version Description 9.6(0.0) Introduced on the S5000. 9.2(0.
Text::Diff 1.37 SOAP::Lite 0.712 Crypt::SSLeay 0.57 URI::urn::uuid 0.03 UUID 0.03 Crypt::SSLeay 0.57 Net::SNMP 6.0.0 Net::Telnet::Cisco 1.10 HTTP Server mini_httpd 1.19 Perl and Python function library for Force10 SmartScripts smartutils 2.0.0 WebConnect Web UI and CGI scripts htdocs 2.0.0 **************************************** **************************************** * Package Name:VSNAGENT Version: 2.0.0 Python 2.6.5 XenAPI Perl 5.8.8 VIPerlToolkit 4.
Command Modes EXEC Privilege Command History This guide is platform-specific. For command information about other platforms, see the relevant Dell Networking OS Command Line Reference Guide. The following is a list of the Dell Networking OS version history for this command. Version Description 9.6(0.0) Introduced on the S5000. 9.2(0.0) Introduced on the MXL switch. 8.3.19.0 Introduced on the S4820T. 8.3.8.0 Introduced on the S4810.
NOTE: In the show virtualswitch output, VLAN 1 displays as VLAN ID 1; VLAN 4095 displays without a VLAN ID as "-". show vmmap Displays the virtual machines accessed on a switch interface. S4810, S4820T, S5000, and MXL Switch Syntax Parameters show vmmap interface interface Display information on the Hypervisor session established on a specified interface. Enter one of the following interface types: • For a 100/1000 Ethernet interface or 1-Gigabit Ethernet interface, enter GigabitEthernet slot/port.
Redhat_207_03_nfs Redhat_207_03_nfs 00:0c:29:4f:66:19 00:50:56:92:00:77 138 NOTE: In the show vmmap output, VLAN 1 displays as VLAN ID 1; VLAN 4095 displays without a VLAN ID as "- ". Related Commands hypervisor — defines a Hypervisor instance. type Sets the hypervisor type to VMware or Xen-Citrix. S4810, S4820T, S5000, and MXL Switch Syntax Parameters [no] type {vmware | xen-citrix} vmware Set the hypervisor type as VMware. xen-citrix Set the hypervisor type as Xen-Citrix.
vsn enable Enables VSN on an interface. S4810, S4820T, S5000, and MXL Switch Syntax [no] vsn enable Defaults VSN is disabled by default on switch interfaces. Command Modes INTERFACE Command History This guide is platform-specific. For command information about other platforms, see the relevant Dell Networking OS Command Line Reference Guide. The following is a list of the Dell Networking OS version history for this command. Version Description 9.6(0.0) Introduced on the S5000. 9.2(0.
11 REST API Representational state transfer (REST) application programming interface (API) is an integrated part of the Dell Networking operating system (OS) and is supported on the S4810, S4820T, S3048–ON, S4048–ON, S6000, S6000–ON, S6100–ON, Z9100–ON, C9010, S5000, and Z9500 platforms. HTTP and HTTPS Use REST API to configure and monitor a Dell Networking switch over the hyper text transfer protocol (HTTP) and hyper text transfer protocol secure (HTTPS).
REST Authentication The REST API authenticates and authorizes the user based on the Dell Networking OS AAA configuration. You can locally configure or validate through the AAA infrastructure. For more information about the AAA Accounting mode, see the Dell Networking OS Configuration Guide, Security chapter. The Dell Networking OS CLI user level privilege dictates the level of the REST API access. Users with privilege level 0 or 1 have read-only access; the allowed REST API method is GET.
Sample BGP Configurations The following are the sample BGP configurations via REST API. Figure 3. BGP Topology The PDU structure for configuring the IP address on an interface is as follows: cat ipaddr_config_put.xml tengig-0-0 11.1.1.1/24 The following configuration depicts the IP address configuration for router interfaces via REST– PUT request: curl -v -u admin:admin http://10.16.151.
< < < < < < < * * Server: ConfD/5.2 Cache-control: private, no-cache, must-revalidate, proxy-revalidate Date: Thu, 04 Dec 2014 13:13:25 GMT Allow: GET, POST, OPTIONS, HEAD Content-Length: 0 Content-Type: text/html Etag: 1417-698805-339353@0 Connection #0 to host 10.16.151.159 left intact Closing connection #0 Following is the current running configurations applied on the system: Dell#show running-config interface tengigabitethernet 0/0 ! interface TenGigabitEthernet 0/0 ip address 11.1.1.
* Connected to 10.16.151.159 (10.16.151.159) port 8008 * Server auth using Basic with user 'admin' > POST /api/running/dell/router HTTP/1.1 > Authorization: Basic YWRtaW46YWRtaW4= > User-Agent: curl/7.15.5 (i686-redhat-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5 > Host: 10.16.151.159:8008 > Accept: */* > Content-Length: 493 > Expect: 100-continue > < HTTP/1.1 100 Continue < Server: ConfD/5.2 < Allow: GET, POST, OPTIONS, HEAD < Content-Length: 0 < HTTP/1.1 201 Created < Server: ConfD/5.
The following configuration depicts adding another BGP peer to the configuration via REST– PATCH request: cat BGP_HTTP_REST_PATCH_PDU.xml 100 11.1.1.3 200 false false curl -v -u admin:admin http://10.16.151.159:8008/api/running/dell/router/bgp -X PATCH -T BGP_HTTP_REST_PATCH_PDU.xml * About to connect() to 10.16.151.159 port 8008 * Trying 10.16.151.
60 180 1 1 false 11.1.1.2 200 false false 11.1.1.
HTTP Status Error Codes The REST API server returns the following HTTP status error codes. Status Error Codes Description 200 OK The request was successfully completed. A response body returns containing a representation of the resource. 201 Created A resource is created and the new resource URI returns in the “Location” header. 204 No Content The request is successfully completed but no response body returns.
• • • BGP Infrastructure Miscellaneous Each node is printed as: . • is one of the following: • • + for current • x for deprecated • o for obsolete is one of the following: • • rw for configuration data • ro for non-configuration data • -x for rpcs • -n for notifications is the name of the node. • • • () refers that the node is a choice node :() refers that the node is a case node -x for rpcs.
+--rw interfaces +--rw router | +--rw bgp [as-name] | +--rw as-name dell:as-number | +--rw bgp | | +--rw asnotation? enumeration | | +--rw always-compare-med? boolean | | +--rw bestpath? | | | +--rw as-path? enumeration | | | +--rw med? | | | | +--rw confed? boolean | | | | +--rw missing-as-best? boolean | | | +--rw router-id-ignore? boolean | | +--rw client-to-client? | | | +--rw reflection? boolean | | +--rw cluster-id? union | | +--rw confederation? | | | +--rw identifier? dell:as-number | | | +--rw peer
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +--rw description? string | +--rw ebgp-multihop? | | +--rw ttl? uint8 | +--rw fall-over? boolean | +--rw send-community? | | +--rw community-type? enumeration | +--rw shutdown? boolean | +--rw update-source-loopback? uint16 | +--rw weight? uint16 | +--rw timers? | | +--rw keepalive? dell:seconds | | +--rw hold-time? dell:seconds | +--rw add-path? | | +--rw addpath? enumeration |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +--rw path-count? uint8 | +--rw local-as? | | +--rw as-number? dell:as-number | | +--rw no-prepend? boolean | +--rw password? | | +--rw encryption-type? enumeration | | +--rw password-value? string | +--rw activate? boolean | +--rw advertisement-interval? dell:seconds | +--rw allowas-in? uint8 | +--rw default-originate? | | +--rw route-map? dell:route-map-name | +--rw distribu
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +--rw family-type enumeration +--rw vrf dell:vrf-name +--rw bgp? | +--rw asnotation? enumeration | +--rw always-compare-med? boolean | +--rw bestpath? | | +--rw as-path? enumeration | | +--rw med? | | | +--rw confed? boolean | | | +--rw missing-as-best? boolean | | +--rw router-id-ignore? boolean | +--rw client-to-client? | | +--rw reflection? boolean | +--rw cluster-id? union | +
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +--rw connected? | | +--rw route-map? dell:route-map-name | +--rw static? | | +--rw route-map? dell:route-map-name | +--rw imported-bgp? | | +--rw route-map? dell:route-map-name | +--rw ospf [process-id] | | +--rw process-id uint16 | | +--rw match? | | | +--rw external1? boolean | | | +--rw external2? boolean | | | +--rw internal? boolean | | +--rw route-map? dell:route-map-name
| | | +--rw warning-only? boolean | | +--rw next-hop-self? boolean | | +--rw remove-private-as? boolean | | +--rw route-map [direction] | | | +--rw direction dell:bgp-opt-dir | | | +--rw name? dell:route-map-name | | +--rw route-reflector-client? boolean | | +--rw sender-side-loop-detection? boolean | | +--rw soft-reconfiguration? enumeration | | +--rw dmzlink-bw? boolean | +--rw neighbor [ip-address] | +--rw ip-address union | +--rw peer-group-name? dell:peer-group-name | +--rw remote-as? dell:as-number |
Global Configuration The following definition displays the global configuration entries: Module: SYSTEM URI: /api/running/dell/system Methods Supported: GET, POST, PUT, PATCH, and DELETE Global Configuration Model +--rw dell +--rw system | +--rw hostname? string | +--rw banner? | | +--rw login? string | +--rw credentials? | | +--rw username? string | | +--rw password? string | | +--rw privilege? uint32 | +--rw default-vlan? | | +--rw vlan-id? vlan-id-num | +--rw ip | +--rw dhcp? | | +--rw server? bool
+--rw description? string +--rw rules [seq-num] +--rw seq-num uint32 +--rw action ip-aspath-action-types +--rw pattern string IP Prefix-List The following definition configures and displays the properties of ip prefix-list.
| +--rw seq-no uint32 | +--rw filter-type dell:acl-rule-types | +--rw protocol union | +--rw (source-address) | | +--:(source) | | | +--rw source? dell:ipv4-address-any | | | +--rw source-mask dell:ipv4-mask-or-prefix | | +--:(host) | | +--rw source-host? dell:ipv4-host | +--rw (destination-address) | | +--:(destination) | | | +--rw destination? dell:ipv4-address-any | | | +--rw destination-mask dell:ipv4-mask-or-prefix | | +--:(host) | | +--rw destination-host? dell:ipv4-host | +--rw dscp? uint32 | +--rw e
| +--:(host) | +--rw destination-host? dell:ipv6-address +--rw acl-filters-qos +--rw filter-type? dell:acl-rule-types +--rw protocol dell:ipv6-protocols-qos Interface The following definition configures and displays the properties of an Interface: Module: INTERFACE URI: /api/running/dell/interfaces/interface Methods Supported: GET, POST, PUT, PATCH, and DELETE NOTE: The POST and DELETE operations are not supported on Physical Interfaces.
Example: loopback-40 • Tunnel Interface: tunnel- Example: tunnel-111 3 Port Extender (PE) GigabitEthernet Interface: pegig--- • Example: pegig-1–1–1 Interface Configuration Model +--rw dell! +--rw interfaces | +--rw interface [name] | +--rw name dell:interface-name | +--rw flowcontrol? | | +--rw rx? enumeration | | +--rw tx? enumeration | +--rw portmode? | | +--rw hybrid? boolean | +--rw switchport? | | +--rw backup? | | | +--rw interface | | | +--rw name dell:backup-tag-interfac
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +--rw vlan-name? vlan-name +--rw mode? | +--rw remote-port-mirroring? empty +--rw tagged [name] | +--rw name dell:backup-tag-interface +--rw untagged [name] | +--rw name dell:backup-tag-interface +--rw protocol? | +--rw lldp? | +--rw mode? protocol-lldp-mode +--rw description? string +--rw mtu? uint32 +--rw shutdown? boolean +--rw speed? enumeration +--rw duplex? intf-duplex-mode +-
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +--:(vlan) | | | +--rw vlan* vlan-range | | +--:(optimized) | | | +--rw optimized? boolean | | +--:(vrf) | | +--rw vrf? dell:vrf-name | +--rw redirect-group [name] | | +--rw name dell:redirect-list-name | +--rw helper-address [ip-address] | +--rw ip-address dell:ip-address | +--rw (vrf-type)? | +--:(default-vrf) | | +--rw default-vrf? boolean | +--:(user-defined-vrf) | +--rw vrf? vrf-na
IPv6 Global Configurations The following definition displays the entries of IPv6 global configurations: Module: IPv6 URI: /api/operational/dell/ipv6 Methods Supported: GET, POST, PUT, PATCH, and DELETE IPv6 Global Configuration Model +--rw ipv6 +--rw route* [ipv6-address-with-prefix exit-interface next-hop] | +--rw ipv6-address-with-prefix dell:ipv6-address | +--rw exit-interface union | +--rw next-hop union | +--rw metric? uint32 | +--rw permanent? boolean | +--rw tag? uint32 +--rw unicast-routing? b
IP Tunneling Configuration Model +--rw dell +--rw interfaces +--rw interface [name] +--rw name dell:interface-name +--rw tunnel? | +--rw allow-remote* dell:ip-address | +--rw destination? dell:ip-address | +--rw dscp? | | +--rw (dscp-action)? | | +--:(dscp-mapped) | | | +--rw mapped? empty | | +--:(dscp-val) | | +--rw dscp-value? uint32 | +--rw flow-label? uint32 | +--rw hop-limit? uint32 | +--rw keepalive? | | +--rw address dell:ip-address | | +--rw attempts? | | | +--rw unlimited? empty | | | +--rw retrie
| | +--rw dhcp-non-address? | | +--rw prefix [prefix-name] | | | +--rw prefix-name | | | +--rw advertise? | | | +--rw autoconfig? | | | +--rw rtr-address? | | | +--rw off-link? | | | +--rw lifetime? | | | +--rw valid | | | +--rw preferred | | +--rw ra-lifetime? | | +--rw reachable-time? | | +--rw retrans-timer? | | +--rw suppress-ra? | +--rw unnumbered? +--rw shutdown? boolean dell:ipv6-nd-prefix-name boolean boolean boolean boolean ipv6-nd-prefix-lifetime ipv6-nd-prefix-lifetime uint32 uint32 uint32 boole
+--rw filter-type? +--rw protocol dell:acl-rule-types dell:mac-protocols-qos Management Route The following definition configures and displays the properties of a Management Route.
| +--rw source-mask dell:ipv4-mask-or-prefix | +--rw destination ipv4-address-any | +--rw destination-mask dell:ipv4-mask-or-prefix | +--rw tcp-options* enumeration | +--rw tcp-udp-port-oper-list [port-type] | +--rw port-type tcp-udp-port-type | +--rw oper-type tcp-udp-port-oper-type | +--rw port uint32 | +--rw start-port uint32 | +--rw end-port uint32 +--rw ipv6 +--ro stats +--ro access-list +--ro mac [name] | +--ro name access-list-name | +--ro type? access-list-types | +--ro mac-acl-filter [seq-no] | +--
+--ro +--ro +--ro +--ro +--ro monitor? order? dscp? ecn? fragments? boolean uint32 uint32 uint32 boolean Port Mirroring The following definition is for configuring and displaying the properties of port mirroring: Module: Port Mirroring URI: /api/running/dell/monitor-session Methods Supported: GET, POST, PUT, PATCH, and DELETE Port Mirroring Configuration Model +--rw dell +--rw system +--rw interfaces +--rw router +--rw management +--rw ip +--rw ipv6 +--rw monitor-session [session-id] +--rw session-
Route Map Configuration Model +--rw route-map* [map-name seq] +--rw map-name string +--rw map-attr string +--rw seq union | +--:(action) | | +--rw permit? string | | +--rw deny? string +--rw set +--rw ext-community! +--rw bandwidth? uint32 Static Route The following definition configures and displays the properties of a Static Route configuration: Module: IP STATIC ROUTE URI: /api/running/dell/ip/route Methods Supported: GET, POST, PUT, PATCH, and DELETE Static Route Configuration Model +--rw ip +--r
Weighted ECMP Model +--rw ip | +--rw ecmp! | +--rw weighted? boolean Operational This section describes the properties of all the IPv4 operational data.
| +--ro network-prefix-len inetaddress:InetAddressPrefixLength | +--ro next-hop-address inet:ip-address | +--ro seq-num uint32 | +--ro metric? uint32 | +--ro local-pref? uint32 | +--ro weight? uint32 | +--ro next-hop-cost-index? uint32 | +--ro as-path-string? string | +--ro path-source? enumeration | +--ro origin-code? enumeration | +--ro is-nlre-loc-aggtd? snmpv2-tc:TruthValue | +--ro is-stale? snmpv2-tc:TruthValue | +--ro status-code? enumeration | +--ro best-route? snmpv2-tc:TruthValue | +--ro link-bandw
prefix | +--ro router-id? dell:ipv6-address-with- | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--
prefix prefix prefix | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro remote-as? local-as? noprepend? local-as-prepend? neighbor-under-common-admin? version? description? address-family? local-added-list? local-replaced-list? local-removed-list? inq-add
| +--ro rrcluster? uint32 | +--ro rrcluster-memory? uint32 | +--ro optional-transattribute? uint32 | +--ro optional-transattribute-memory? uint32 | +--ro history-paths? uint32 | +--ro dampened-paths? uint32 | +--ro memory? uint32 | +--ro dampening-enabled? uint32 | +--ro bfd-enabled? uint32 | +--ro bfd-interval? uint32 | +--ro bfd-minimum-rx? uint32 | +--ro bfd-multiplier? uint32 | +--ro bfd-role? enumeration | +--ro local-rib | | +--ro routes-added? uint32 | | +--ro routes-replaced? uint32 | | +--ro routes
| | +--ro routes-replaced? uint32 | | +--ro routes-withdrawn? uint32 | | +--ro router-id? dell:ipv6-address-with-prefix | +--ro prefix-list [network-prefix next-hop-addr] | +--ro network-prefix dell:ipv6-address-with-prefix | +--ro next-hop-addr dell:ipv6-address-with-prefix | +--ro status-code? bgp-status-code | +--ro best-route? boolean | +--ro path-source? bgp-path-source | +--ro metric? string | +--ro local-pref? string | +--ro weight? uint32 | +--ro as-path-string? string | +--ro origin-code? bgp-origi
| +--ro ext-community-list [ext-community-list-name] | +--ro ext-community-list-name bgp-list-name | +--ro local-rib | | +--ro routes-added? uint32 | | +--ro routes-replaced? uint32 | | +--ro routes-withdrawn? uint32 | | +--ro router-id? dell:ipv6-address-with-prefix | +--ro prefix-list [network-prefix next-hop-addr] | +--ro network-prefix dell:ipv6-address-with-prefix | +--ro next-hop-addr dell:ipv6-address-with-prefix | +--ro status-code? bgp-status-code | +--ro best-route? boolean | +--ro path-source? bg
+--ro dampened-paths +--ro local-rib | +--ro routes-added? uint32 | +--ro routes-replaced? uint32 | +--ro routes-withdrawn? uint32 | +--ro router-id? dell:ipv6-address-with-prefix +--ro routes [network from] +--ro network dell:ipv6-address-with-prefix +--ro from dell:ipv6-address +--ro status-code? bgpv6-status-code +--ro best-route? boolean +--ro flaps? uint8 +--ro duration? hour-minute-second +--ro reuse? hour-minute-second +--ro as-path? string +--ro path-source? bgp-path-source +--ro origin-code? bgp-or
+--ro ka-state-last-modified? string +--ro allow-remote-enabled? boolean +--ro allow-remote* [remote-address remote-prefix-len] | +--ro remote-address dell:ip-address | +--ro remote-prefix-len dell:ip-address-prefix-length +--ro lag-name? lag-intf-name +--ro current-intf-address? string +--ro ipv4-address? string +--ro ipv4-address-mode? enumeration +--ro dhcp-client? string +--ro link-local-ipv6-address? dell:ipv6-address-with-prefix +--ro global-ipv6-address* [address] | +--ro address dell:ipv6-address-wi
+--ro member-interfaces | +--ro interface* [name] | +--ro name dell:phy-intf-name | +--ro oper-status? enumeration +--ro min-links? uint32 +--ro vlan-name? vlan-name IP Route Use the following definition to get the Route statistics: Module: IP ROUTE URI: /api/operational/dell/stats/ip/route Methods Supported: GET Route Model +--ro route +--ro gateway-of-last-resort? string +--ro route-entry* [destination] | +--ro destination inet:ip-prefix | +--ro next-hop* [address] | | +--ro address inet:ip-address
Methods Supported: GET IP Interface Operational Model +--ro ip +--ro interface* [name] +--ro name string +--ro description? string +--ro type? ianaiftype-mib:IANAifType +--ro if-admin-status? enumeration +--ro if-oper-status? enumeration +--ro ip | +--ro address! | +--ro primary | | +--ro address? dell:ipv4-address-with-prefix | +--ro secondary* [address] | +--ro address dell:ipv4-address-with-prefix +--ro if-virtual-address? dell:ipv4-address-with-prefix +--ro if-broadcast-address? inet:ip-address +--ro
+--ro sequence-max? +--ro rules [seq-num] +--ro seq-num +--ro action? +--ro ipv4-prefix? +--ro ipv4-mask? +--ro ge? +--ro le? +--ro hit-count? uint32 uint32 dell:acl-rule-types dell:ipv4-address-with-prefix dell:ipv4-address uint32 uint32 uint32 IPv6 ACL Use the following definition to get the IPv6 ACL operational data.
+--ro rst? +--ro syn? +--ro urg? boolean boolean boolean Management Route Use the following definition to get the Management Route statistic.
| +--ro count | | +--ro dynamic-mac-count? uint32 | | +--ro static-mac-count? uint32 | | +--ro sticky-mac-count? uint32 | | +--ro total-mac-in-use? uint32 | +--ro mac-address-list* [mac-address] | +--ro mac-address yang:phys-address | +--ro type? enumeration | +--ro interface? string | +--ro state? enumeration +--ro multicast +--ro count? uint32 +--ro mac-vlan* [vlan-id] +--ro vlan-id vlan-id +--ro static-mac-count? uint32 +--ro mac-address-list* [mac-address] +--ro mac-address yang:phys-address +--ro state
| | +--ro destination-start-port? uint32 | | +--ro destination-end-port? uint32 | | +--ro destination-bits* tcp-bits | | +--ro next-hop-status? enumeration | | +--ro next-hop-interface? dell:interface-name | | +--ro arp-status? enumeration | +--ro applied-interface | +--ro interfaces* dell:interface-name +--ro cam +--ro pbr +--ro unit [unit-num port-set-num] | +--ro unit-num dell:stack-unit | +--ro port-set-num enumeration | +--ro rule-entry [cam-index] | | +--ro cam-index uint32 | | +--ro port? uint32 | |
+--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro session-type? destination? direction? mode? remote-vlan? rspan-session-type? source-ip? destination-ip? enumeration dell:interface-name enumeration enumeration dell:vlan-id-num enumeration dell:ipv4-no-prefix dell:ipv4-no-prefix Access-List The following definition describes how to retrieve all the Access-Lists (MAC and Layer 3): Module: STATIC ACCESS-LIST URI: /api/operational/dell/stats/access-list Methods Supported: GET Static Access-List Model +--
+--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro +--ro dest-ip-filter? dest-ip-address? destination-mask? dst-operator? dstport? dstportrange? ack? fin? psh? rst? syn? urg? count-type? egress-count-value? ingress-count-value? log? monitor? order? dscp? ecn? fragments? acl-incoming-address-filter-types inet:ipv4-address inet:ipv4-address ip-acl-operators uint32 layer4-port-range boolean boolean boolean boolean boolean boolean acl-rule-c
| +--ro vendor-id? string | +--ro date-code? string | +--ro country-code? string | +--ro piece-part-id? string | +--ro ppid-revision? string | +--ro service-tag? string | +--ro express-service-code? string | +--ro auto-reboot? boolean | +--ro burned-in-mac? yang:phys-address | +--ro no-of-macs? uint32 +--ro power-supplies* [index] | +--ro index uint32 | +--ro unit-id? uint32 | +--ro bay-id? uint32 | +--ro bay-status? string | +--ro ps-type? string | +--ro fan-status? string | +--ro fan-speed? uint32 +--ro f
| +--ro index uint32 | +--ro alarm-description? string | +--ro duration? yang:timestamp +--ro alarm-thresholds [unit-number] +--ro unit-number uint32 +--ro minor? uint32 +--ro minor-off? uint32 +--ro major? uint32 +--ro major-off? uint32 +--ro shutdown? uint32 System Inventory The following definition displays the Inventory details: Module: STATS URI: /api/operational/dell/stats/inventory Methods Supported: GET System Inventory Model +--ro inventory +--ro system-type? string +--ro system-mode? string
System Version Model +--ro version-info +--ro os-ver? string +--ro sw-ver? string +--ro build-time? string +--ro build-path? string +--ro up-time? string +--ro image-name? string +--ro chassis-type? string +--ro processor-type? string +--ro flash-info? string +--ro card-info [index] | +--ro index uint32 | +--ro card-info-detail? string +--ro card-if-info [index] +--ro index uint32 +--ro card-if-info-detail? string VLAN The following definition is for displaying VLAN operations: Module: STATS URI: /api/o
Operational Data for IPv6 This section describes the method of fetching the IPv6 operational data. Interface Use the following definition to get the statistics of IPv6 Interface operational data.
+--ro nd-router-advertisement-live-for? uint32 +--ro nd-router-advertised-hop-limit? uint32 +--ro ipv6-hop-limitfor-orig-pkts? uint32 +--ro flowlabel-zero +--ro label_value? boolean +--ro mld-host +--ro elapsed-time? dell:hour-minute-second +--ro valid-mld-pkts-received? yang:counter32 +--ro valid-mld-pkts-sent? yang:counter32 +--ro reports-received? yang:counter32 +--ro reports-sent? yang:counter32 +--ro leaves-sent? yang:counter32 +--ro mldv2-queries-received? yang:counter32 | +--ro mldv1-queries-received
| +--ro default-route? boolean +--ro summary +--ro connected-active? +--ro connected-inactive? +--ro static-active? +--ro static-inactive? +--ro route-size-active? +--ro route-size-inactive? +--ro total-active-routes? +--ro total-inactive-routes? uint32 uint32 uint32 uint32 uint32 uint32 uint32 uint32 Prefix-list Use the following definition to get the IPv6 Prefix– list data: Module: PREFIX-LIST URI: /api/operational/dell/stats/ipv6/prefix-list Methods Supported: GET Prefix-List Model for IPv6 +--ro
Route Model for IPv6 +--ro route +--ro gateway-of-last-resort? string +--ro route-entry* [destination] | +--ro destination dell:ipv6-address-with-prefix | +--ro gateway? dell:ipv6-address-with-prefix | +--ro route-type? enumeration | +--ro route-owner? string | +--ro metric? string | +--ro intf-type? string | +--ro last-change? yang:timestamp | +--ro state? enumeration | +--ro default-route? boolean | +--ro summary? boolean +--ro summary +--ro connected-active? uint32 +--ro connected-inactive? uint32 +--ro
| +--ro dellNetBgpM2LocalIdentifier? inet:ip-address | +--ro dellNetBgpM2RouteReflector? snmpv2-tc:TruthValue | +--ro dellNetBgpM2ClusterId? mib:dellNetBgpM2Identifier | +--ro dellNetBgpM2ConfederationRouter? snmpv2-tc:TruthValue | +--ro dellNetBgpM2ConfederationId? inetaddress:InetAutonomousSystemNumber | +--ro dellNetBgpM2CfgBaseScalarStorageType? snmpv2-tc:StorageType | +--ro dellNetBgpM2CfgLocalAs? inetaddress:InetAutonomousSystemNumber | +--ro dellNetBgpM2CfgLocalIdentifier? inet:ip-address | +--ro del
| +--ro dellNetBgpM2PeerInUpdates? yang:counter32 | +--ro dellNetBgpM2PeerOutUpdates? yang:counter32 | +--ro dellNetBgpM2PeerInTotalMessages? yang:counter32 | +--ro dellNetBgpM2PeerOutTotalMessages? yang:counter32 | +--ro dellNetBgpM2PeerFsmEstablishedTrans? yang:counter32 | +--ro dellNetBgpM2PeerInKeepalives? yang:counter32 | +--ro dellNetBgpM2PeerOutKeepalives? yang:counter32 | +--ro dellNetBgpM2PeerInOpen? yang:counter32 | +--ro dellNetBgpM2PeerOutOpen? yang:counter32 | +--ro dellNetBgpM2PeerInRteRefresh
dellNetBgpM2NlriIndex] | +--ro dellNetBgpM2PeerIndex uint32 | +--ro dellNetBgpM2NlriIndex uint32 | +--ro dellNetBgpM2NlriAfi mib:dellNetBgpM2Afi | +--ro dellNetBgpM2NlriSafi mib:dellNetBgpM2Safi | +--ro dellNetBgpM2NlriPrefix inet:ip-address | +--ro dellNetBgpM2NlriPrefixLen inetaddress:InetAddressPrefixLength | +--ro dellNetBgpM2NlriBest? snmpv2-tc:TruthValue | +--ro dellNetBgpM2NlriCalcLocalPref? uint32 | +--ro dellNetBgpM2PathAttrIndex? uint32 | +--ro dellNetBgpM2NlriOpaqueType? enumeration | +--ro dellN
| +--ro dellNetBgpM2PathAttrIndex uint32 | +--ro dellNetBgpM2PathAttrCommIndex uint32 | +--ro dellNetBgpM2PathAttrCommValue? mib:dellNetBgpM2Community +--ro dellNetBgpM2LinkLocalNextHopTable* [dellNetBgpM2PathAttrIndex] | +--ro dellNetBgpM2PathAttrIndex uint32 | +--ro dellNetBgpM2LinkLocalNextHopPresent? snmpv2-tc:TruthValue | +--ro dellNetBgpM2LinkLocalNextHop? inet-address:InetAddress +--ro dellNetBgpM2PathAttrOriginatorIdTable* [dellNetBgpM2PathAttrIndex] | +--ro dellNetBgpM2PathAttrIndex uint32 | +--ro
dellNetInetCidrRouteDest dellNetInetCidrRouteNextHop dellNetInetCidrRouteFirstHop] +--ro chSysCardNumber uint32 +--ro dellNetInetCidrRouteDest string +--ro dellNetInetCidrRouteNextHop string +--ro dellNetInetCidrRouteFirstHop string +--ro dellNetInetCidrRouteIfIndex? uint32 +--ro dellNetInetCidrRouteMacAddress? string +--ro dellNetInetCidrRouteEgressPort? string +--ro dellNetInetCidrRouteCamIndex? uint32 Forwarding Plane Statistics The following definition displays the Forwarding Plane statistics: Module:
| +--ro txPktCOS4? int32 | +--ro txPktCOS5? int32 | +--ro txPktCOS6? int32 | +--ro txPktCOS7? int32 | +--ro txPktUnit0? int32 | +--ro txPktUnit1? int32 | +--ro txPktUnit2? int32 | +--ro txPktUnit3? int32 +--ro fp-cpu-party-bus-stats-table* [stackUnitId] | +--ro stackUnitId int32 | +--ro inputPackets? int32 | +--ro inputBytes? int32 | +--ro inputDropped? int32 | +--ro inputError? int32 | +--ro outputPackets? int32 | +--ro outputBytes? int32 | +--ro outputError? int32 +--ro fp-drops-table* [stackUnitId stackP
IF MIB Operations The following definition displays the properties of Interfaces using the IF-MIB: Module: IF-MIB URI: /api/operational/mib/if-mib Methods Supported: GET IF MIB Model +--ro mib +--ro if-mib +--ro ifNumber? int32 +--ro ifTable* [ifIndex] +--ro ifIndex +--ro ifDescr? +--ro ifType? +--ro ifMtu? +--ro ifSpeed? +--ro ifPhysAddress? +--ro ifAdminStatus? +--ro ifOperStatus? +--ro ifLastChange? +--ro ifInOctets? +--ro ifInUcastPkts? x--ro ifInNUcastPkts? +--ro ifInDiscards? +--ro ifInErrors? +
x--ro ifTestId? smiv2:TestAndIncr x--ro ifTestStatus? enumeration x--ro ifTestType? smiv2:AutonomousType x--ro ifTestResult? enumeration x--ro ifTestCode? yang:object-identifier x--ro ifTestOwner? mib:OwnerString +--ro ifStackTable* [ifStackHigherLayer ifStackLowerLayer] | +--ro ifStackHigherLayer mib:InterfaceIndexOrZero | +--ro ifStackLowerLayer mib:InterfaceIndexOrZero | +--ro ifStackStatus? smiv2:RowStatus +--ro ifRcvAddressTable* [ifIndex ifRcvAddressAddress] | +--ro ifIndex leafref | +--ro ifRcvAddres
REST API Framework to Execute the CLIs REST CLI is an alternative approach for Telnet and SSH to send the Dell Networking OS commands to the system. The command is sent as an XML payload and the corresponding command output or error message returns in an unstructured format in the XML response. There are three sets of XML commands: • • • config-commands — to send the configuration commands to the system. Commands with submodes are allowed within a single XML tag by using the separator \r\n.