Enabling and Disabling RSTP on FieldDAQ and CompactDAQ 9185 and 9189 Devices

Aperçu

The Rapid Spanning Tree Protocol (RSTP), also known as 802.1Q, is a protocol that uses bridge protocol data units to detect bridge loops in a network. Because FieldDAQ, cDAQ-9189 and cDAQ-9185 targets have an integrated switch, they may use RSTP to detect redundant connections to a network. Starting with FieldDAQ and cDAQ-9185/9 Firmware version 19.5, RSTP can be disabled on these targets using the utility attached to this document.

Contents

What is RSTP?

The Rapid Spanning Tree Protocol (RSTP) is also known as 802.1Q. It is a protocol that detects bridge loops in a network. It is useful when devices have a redundant connection to the same network, as it allows devices to manage their Ethernet traffic more efficiently. Redundant connections may appear in a ring topology or a star topology.

Packets transmitted by RSTP are known as Bridge Protocol Data Units (BPDU). Some network features, such as BPDU guard, block these packets and sever the network connection to the device that's sending them. If a FieldDAQ or cDAQ 9189/5 device has RSTP enabled and a network does not allow BPDU packets, the device may appear to have no network connectivity despite being plugged in with a known working cable.

 

Software Requirements

  • FieldDAQ, cDAQ-9185, or cDAQ-9189 Firmware version 19.5 or later

 

NI RSTP Configurator

The software attached to this document is a program that allows you to disable or enable RSTP on a FieldDAQ, cDAQ-9185 or cDAQ-9189 device. The cDAQ and FieldDAQ devices implement a minimal NETCONF server for advanced network configuration. The program opens a NETCONF connection to modify the startup datastore on the device to add or remove RSTP capability. This executable is the supported solution for performing this operation, but any NETCONF client or API can alter the setting.

The RSTP Configurator is a command line utility called expio_rstp_config.exe that accepts the following arguments:

  • expio_rstp_config.exe --help
    • Display expio_rstp_config.exe help documentation
  • expio_rstp_config.exe --username=[username] --password=[password] [hostname]
    • This command prints the current startup state of RSTP on the target
    • [hostname] is the hostname or IP address of the device
    • [username] is the username for the device. By default, this value is admin (optional argument)
    • [password] is the password for the device. By default, this value is blank (optional argument)
  • expio_rstp_config.exe --username=[username] --password=[password] [hostname] --rstp enable
    • This command enables RSTP on startup. The device must reboot for this change to take effect
    • [hostname] is the hostname or IP address of the device
    • [username] is the username for the device. By default, this value is admin (optional argument)
    • [password] is the password for the device. By default, this value is blank (optional argument)
  • expio_rstp_config.exe --username=[username] --password=[password] [hostname] --rstp disable
    • This command disables RSTP on startup. The device must reboot for this change to take effect
    • [hostname] is the hostname or IP address of the device
    • [username] is the username for the device. By default, this value is admin (optional argument)
    • [password] is the password for the device. By default, this value is blank (optional argument)

 

NETCONF Configuration from a third party API or client

If using a NETCONF client or API is desired, examples of enabling and disabling via NETCONF edit-config operations are given below:

 

Enable RSTP on startup:

<edit-config xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">

   <target>

       <startup/>

   </target>

   <config xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0">

      <stp xmlns="http://openconfig.net/yang/spanning-tree"

           xmlns:oc-stp-types="http://openconfig.net/yang/spanning-tree/types">

         <global>

             <config>

                 <enabled-protocol nc:operation="merge">oc-stp-types:RSTP</enabled-protocol>

             </config>

         </global>

      </stp>

   </config>

</edit-config>

 

Disable RSTP on startup:

<edit-config xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">

   <target>

       <startup/>

   </target>

   <config xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0">

      <stp xmlns="http://openconfig.net/yang/spanning-tree"

           xmlns:oc-stp-types="http://openconfig.net/yang/spanning-tree/types">

         <global>

             <config>

                 <enabled-protocol nc:operation="merge">oc-stp-types:RSTP</enabled-protocol>

             </config>

         </global>

      </stp>

   </config>

</edit-config>