xref: /kernel/linux/linux-5.10/net/hsr/Kconfig (revision 8c2ecf20)
18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_ci#
38c2ecf20Sopenharmony_ci# IEC 62439-3 High-availability Seamless Redundancy
48c2ecf20Sopenharmony_ci#
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_ciconfig HSR
78c2ecf20Sopenharmony_ci	tristate "High-availability Seamless Redundancy (HSR & PRP)"
88c2ecf20Sopenharmony_ci	help
98c2ecf20Sopenharmony_ci	  This enables IEC 62439 defined High-availability Seamless
108c2ecf20Sopenharmony_ci	  Redundancy (HSR) and Parallel Redundancy Protocol (PRP).
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ci	  If you say Y here, then your Linux box will be able to act as a
138c2ecf20Sopenharmony_ci	  DANH ("Doubly attached node implementing HSR") or DANP ("Doubly
148c2ecf20Sopenharmony_ci	  attached node implementing PRP"). For this to work, your Linux box
158c2ecf20Sopenharmony_ci	  needs (at least) two physical Ethernet interfaces.
168c2ecf20Sopenharmony_ci
178c2ecf20Sopenharmony_ci	  For DANH, it must be connected as a node in a ring network together
188c2ecf20Sopenharmony_ci	  with other HSR capable nodes. All Ethernet frames sent over the HSR
198c2ecf20Sopenharmony_ci	  device will be sent in both directions on the ring (over both slave
208c2ecf20Sopenharmony_ci	  ports), giving a redundant, instant fail-over network. Each HSR node
218c2ecf20Sopenharmony_ci	  in the ring acts like a bridge for HSR frames, but filters frames
228c2ecf20Sopenharmony_ci	  that have been forwarded earlier.
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_ci	  For DANP, it must be connected as a node connecting to two
258c2ecf20Sopenharmony_ci	  separate networks over the two slave interfaces. Like HSR, Ethernet
268c2ecf20Sopenharmony_ci	  frames sent over the PRP device will be sent to both networks giving
278c2ecf20Sopenharmony_ci	  a redundant, instant fail-over network. Unlike HSR, PRP networks
288c2ecf20Sopenharmony_ci	  can have Singly Attached Nodes (SAN) such as PC, printer, bridges
298c2ecf20Sopenharmony_ci	  etc and will be able to communicate with DANP nodes.
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ci	  This code is a "best effort" to comply with the HSR standard as
328c2ecf20Sopenharmony_ci	  described in IEC 62439-3:2010 (HSRv0) and IEC 62439-3:2012 (HSRv1),
338c2ecf20Sopenharmony_ci	  and PRP standard described in IEC 62439-4:2012 (PRP), but no
348c2ecf20Sopenharmony_ci	  compliancy tests have been made. Use iproute2 to select the protocol
358c2ecf20Sopenharmony_ci	  you would like to use.
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_ci	  You need to perform any and all necessary tests yourself before
388c2ecf20Sopenharmony_ci	  relying on this code in a safety critical system!
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ci	  If unsure, say N.
41