# SPDX-License-Identifier: GPL-2.0-only
#
# IEC 62439-3 High-availability Seamless Redundancy
#
config HSR
tristate "High-availability Seamless Redundancy (HSR & PRP)"
help
This enables IEC 62439 defined High-availability Seamless
Redundancy (HSR) and Parallel Redundancy Protocol (PRP).
If you say Y here, then your Linux box will be able to act as a
DANH ("Doubly attached node implementing HSR") or DANP ("Doubly
attached node implementing PRP"). For this to work, your Linux box
needs (at least) two physical Ethernet interfaces.
For DANH, it must be connected as a node in a ring network together
with other HSR capable nodes. All Ethernet frames sent over the HSR
device will be sent in both directions on the ring (over both slave
ports), giving a redundant, instant fail-over network. Each HSR node
in the ring acts like a bridge for HSR frames, but filters frames
that have been forwarded earlier.
For DANP, it must be connected as a node connecting to two
separate networks over the two slave interfaces. Like HSR, Ethernet
frames sent over the PRP device will be sent to both networks giving
a redundant, instant fail-over network. Unlike HSR, PRP networks
can have Singly Attached Nodes (SAN) such as PC, printer, bridges
etc and will be able to communicate with DANP nodes.
This code is a "best effort" to comply with the HSR standard as
described in IEC 62439-3:2010 (HSRv0) and IEC 62439-3:2012 (HSRv1),
and PRP standard described in IEC 62439-4:2012 (PRP), but no
compliancy tests have been made. Use iproute2 to select the protocol
you would like to use.
You need to perform any and all necessary tests yourself before
relying on this code in a safety critical system!
If unsure, say N.