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.
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 attached requires a firmware version of 19.5. It is a command line utility called expio_rstp_config.exe that accepts the following arguments:
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>