HSR/PRP RedBox

1. Introduction

The High-availability Redundancy Protocol (HSR) and the Parallel Redundancy Protocol (PRP) can be used to provide redundancy in the network. The switch supports a number of Redundancy Box (RedBox) instances for this purpose.

HSR and PRP are described in the IEC-62439-3 standard. The following terminology is used:

  • SAN: Singly Attached Node.

  • DAN: Doubly Attached Node.

  • DANH: DAN with HSR.

  • DANP: DAN with PRP.

  • VDANH: Virtual DANH (HSR node via RedBox).

  • VDANP: Virtual DANP (PRP node via RedBox).

  • HSR-SAN: RedBox mode used for connecting SANs to HSR network.

  • PRP-SAN: RedBox mode used for connecting SANs to PRP network.

  • HSR-PRP: RedBox mode used for connecting HSR and PRP networks.

  • HSR-HSR: RedBox mode used for connecting HSR networks.

The diagram below shows PRP and HSR networks connected using RedBoxes. The network has the following parts seen from left to right:

  • SANs (left)

    • SANs connected to PRP-SAN RedBox become virtual PRP nodes.

  • PRP Network

    • Network A and B are independent switched networks.

    • RedBox in PRP-SAN mode provides redundancy through network A and B.

    • DANP uses network A and B directly for redundancy.

  • HSR Network

    • RedBoxes in HSR-PRP mode are connected to network A/B and HSR ring.

    • RedBox in HSR-SAN mode provides redundancy though HSR ring.

    • DANH uses HSR ring for redundancy.

  • SANs (right)

    • SANs connected to HSR-SAN RedBox become virtual HSR nodes.

            |                                  |                                |
            |                                  |                                |
    SANs    |               PRP Network        |            HSR Network         |     SANs
            |                                  |                                |
            |                                  |                                |
+---------+ |   +---------+       +---------+  |  +---------+     +---------+   | +---------+
|   SAN   +-----+ PRP-SAN +-------+         |  |  | HSR-PRP |     | HSR-SAN +-----+   SAN   |
|  VDANP  | |   | RedBox  |       |  Net A  +-----+ RedBox  |<--->| RedBox  |   | |  VDANH  |
|         | |+--+         +---+ +-+         |  |  |    A    |     |         +--+| |         |
+---------+ ||  +---------+   | | +---------+  |  +---------+     +---------+  || +---------+
            ||                | |              |       ^               ^       ||
            ||              +-|-+              |       |               |       ||
            ||              | |                |       v               v       ||
+---------+ ||  +---------+ | |   +---------+  |  +---------+     +---------+  || +---------+
|   SAN   | ||  |         +-+ +---+         |  |  | HSR-PRP |     |         |  || |   SAN   |
|  VDANP  +--+  |  DANP   |       |  Net B  +-----+ RedBox  |<--->|  DANH   |  +--+  VDANH  |
|         | |   |         +-------+         |  |  |    B    |     |         |   | |         |
+---------+ |   +---------+       +---------+  |  +---------+     +---------+   | +---------+
            |                                  |                                |
            |                                  |                                |

2. RedBox Configuration

When a RedBox is configured, these mandatory parameters must be set:

  • RedBox mode:

    • PRP-SAN: RedBox connects PRP network to SANs.

    • HSR-SAN: RedBox connects HSR network to SANs.

    • HSR-PRP: RedBox connects HSR and PRP networks.

    • HSR-HSR: RedBox connects two HSR networks.

  • Port A:

    • The bridge port is associated with RedBox port A.

    • The bridge port is active via RedBox port C (aka. interlink).

  • Port B:

    • The bridge port is associated with RedBox port B.

    • The bridge port is unused (not forwarding).

The diagram below shows a configuration example.

  • RedBox 0:

    • Port 1-8 are capable as RedBox ports.

    • Port 1 has been selected as RedBox port A.

    • Port 2 has been selected as RedBox port B.

  • RedBox 1:

    • Port 9-16 are capable as RedBox ports.

    • RedBox is disabled.

+------------------------------------------------------------------+
|+----------------------------------------------------------------+|
||                             Bridge                             ||
|+--------+--+--+--+--+--+--+--+----+--+--+--+--+--+--+--+--------+|
|         |  |  |  |  |  |  |  |    |  |  |  |  |  |  |  |         |
|         1  2  3  4  5  6  7  8    9 10 11 12 13 14 15 16         |
|   +-----+  |  |  |  |  |  |  |    |  |  |  |  |  |  |  |         |
|   C           |  |  |  |  |  |    |  |  |  |  |  |  |  |    C    |
|+--+---+       |  |  |  |  |  |    |  |  |  |  |  |  |  | +--+---+|
||RedBox|       |  |  |  |  |  |    |  |  |  |  |  |  |  | |RedBox||
||  #0  |       |  |  |  |  |  |    |  |  |  |  |  |  |  | |  #1  ||
|+-+--+-+       |  |  |  |  |  |    |  |  |  |  |  |  |  | +-+--+-+|
|  A  B         |  |  |  |  |  |    |  |  |  |  |  |  |  |   A  B  |
|  |  +------+  |  |  |  |  |  |    |  |  |  |  |  |  |  |         |
|  +------+  |  |  |  |  |  |  |    |  |  |  |  |  |  |  |         |
|         |  |  |  |  |  |  |  |    |  |  |  |  |  |  |  |         |
+---------+--+--+--+--+--+--+--+----+--+--+--+--+--+--+--+---------+
          |  |  |  |  |  |  |  |    |  |  |  |  |  |  |  |
          1  2  3  4  5  6  7  8    9 10 11 12 13 14 15 16
          |  |  |  |  |  |  |  |    |  |  |  |  |  |  |  |

The capable ports of RedBox 0 are retrieved as shown below.

FETCH request message:

- "/mchp-velocitysp-redbox:redbox/redbox-capable-list[id='0']"

FETCH response message:

- ? "/mchp-velocitysp-redbox:redbox/redbox-capable-list"
  : id: 0
    capable-port-list:
    - '1'
    - '2'
    - '3'
    - '4'
    - '5'
    - '6'
    - '7'
    - '8'
    - '29'

The RedBox mandatory parameters are setup as shown below.

IPATCH request message:

- ? "/mchp-velocitysp-redbox:redbox/redbox-list"
  : id: 0
    config:
      mode: hsr-san
      port-a: 1
      port-b: 2

The RedBox configuration is retrieved as shown below.

FETCH request message:

- "/mchp-velocitysp-redbox:redbox/redbox-list[id='0']/config"

FETCH response message:

- ? "/mchp-velocitysp-redbox:redbox/redbox-list/config"
  : mode: hsr-san
    port-a: 1
    port-b: 2
    net-id: 0
    lan-id: lan-a
    nt-age-time: 60
    pnt-age-time: 60
    dd-age-time: 40
    sv-forward-rx-port-c: false
    sv-forward-tx-port-c: false

3. RedBox Counters

The RedBox counters are retrieved as shown below after sending these frames to the system:

  • One HSR-tagged frame with SMAC 00-00-00-00-00-0A to port A (from DANH).

  • One HSR-tagged frame with SMAC 00-00-00-00-00-0B to port B (from DANH).

  • One untagged frame with SMAC 00-00-00-00-00-0C to port C (from SAN).

FETCH request message:

- "/mchp-velocitysp-redbox:redbox/redbox-list[id='0']/\
   port-counters[port='port-a']"

- "/mchp-velocitysp-redbox:redbox/redbox-list[id='0']/\
   port-counters[port='port-b']"

- "/mchp-velocitysp-redbox:redbox/redbox-list[id='0']/\
   port-counters[port='port-c']"

FETCH response message:

- ? "/mchp-velocitysp-redbox:redbox/redbox-list/port-counters"
  : port: port-a
    rx-local: '0'
    rx-untagged: '0'
    rx-tagged: '1'
    rx-wrong-lan: '0'
    rx-own: '0'
    tx-local: '0'
    tx-untagged: '0'
    tx-tagged: '2'
    tx-dupl-zero: '1'
    tx-dupl-one: '0'
    tx-dupl-multi: '0'


- ? "/mchp-velocitysp-redbox:redbox/redbox-list/port-counters"
  : port: port-b
    rx-local: '0'
    rx-untagged: '0'
    rx-tagged: '1'
    rx-wrong-lan: '0'
    rx-own: '0'
    tx-local: '0'
    tx-untagged: '0'
    tx-tagged: '2'
    tx-dupl-zero: '2'
    tx-dupl-one: '0'
    tx-dupl-multi: '0'


- ? "/mchp-velocitysp-redbox:redbox/redbox-list/port-counters"
  : port: port-c
    rx-local: '0'
    rx-untagged: '1'
    rx-tagged: '0'
    rx-wrong-lan: '0'
    rx-own: '0'
    tx-local: '0'
    tx-untagged: '2'
    tx-tagged: '0'
    tx-dupl-zero: '2'
    tx-dupl-one: '0'
    tx-dupl-multi: '0'

The RedBox counters are cleared as shown.

IPATCH request message:

- ? "/mchp-velocitysp-redbox:redbox/redbox-list[id='0']/control/clear-counters"
  :

4. RedBox Node Table

The RedBox maintains a node table with source MAC addresses seen on port A/B. The node table is retrieved as shown below.

FETCH request message:

- "/mchp-velocitysp-redbox:redbox/redbox-list[id='0']/node-table"

FETCH response message:

- ? "/mchp-velocitysp-redbox:redbox/redbox-list/node-table"
  : - addr: 00-00-00-00-00-0A
      type: dan
      rx-a: 1
      rx-wrong-lan-a: 0
      rx-b: 0
      rx-wrong-lan-b: 0
    - addr: 00-00-00-00-00-0B
      type: dan
      rx-a: 0
      rx-wrong-lan-a: 0
      rx-b: 1
      rx-wrong-lan-b: 0

5. RedBox Proxy Node Table

The RedBox maintains a proxy node table with source MAC addresses seen on port C. The proxy node table is retrieved as shown below.

FETCH request message:

- "/mchp-velocitysp-redbox:redbox/redbox-list[id='0']/proxy-node-table"

FETCH response message:

- ? "/mchp-velocitysp-redbox:redbox/redbox-list/proxy-node-table"
  : - addr: 00-00-00-00-00-0C
      type: san
      rx-c: 1
      rx-wrong-lan-c: 0