xref: /OK3568_Linux_fs/kernel/net/hsr/Kconfig (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0-only
2*4882a593Smuzhiyun#
3*4882a593Smuzhiyun# IEC 62439-3 High-availability Seamless Redundancy
4*4882a593Smuzhiyun#
5*4882a593Smuzhiyun
6*4882a593Smuzhiyunconfig HSR
7*4882a593Smuzhiyun	tristate "High-availability Seamless Redundancy (HSR & PRP)"
8*4882a593Smuzhiyun	help
9*4882a593Smuzhiyun	  This enables IEC 62439 defined High-availability Seamless
10*4882a593Smuzhiyun	  Redundancy (HSR) and Parallel Redundancy Protocol (PRP).
11*4882a593Smuzhiyun
12*4882a593Smuzhiyun	  If you say Y here, then your Linux box will be able to act as a
13*4882a593Smuzhiyun	  DANH ("Doubly attached node implementing HSR") or DANP ("Doubly
14*4882a593Smuzhiyun	  attached node implementing PRP"). For this to work, your Linux box
15*4882a593Smuzhiyun	  needs (at least) two physical Ethernet interfaces.
16*4882a593Smuzhiyun
17*4882a593Smuzhiyun	  For DANH, it must be connected as a node in a ring network together
18*4882a593Smuzhiyun	  with other HSR capable nodes. All Ethernet frames sent over the HSR
19*4882a593Smuzhiyun	  device will be sent in both directions on the ring (over both slave
20*4882a593Smuzhiyun	  ports), giving a redundant, instant fail-over network. Each HSR node
21*4882a593Smuzhiyun	  in the ring acts like a bridge for HSR frames, but filters frames
22*4882a593Smuzhiyun	  that have been forwarded earlier.
23*4882a593Smuzhiyun
24*4882a593Smuzhiyun	  For DANP, it must be connected as a node connecting to two
25*4882a593Smuzhiyun	  separate networks over the two slave interfaces. Like HSR, Ethernet
26*4882a593Smuzhiyun	  frames sent over the PRP device will be sent to both networks giving
27*4882a593Smuzhiyun	  a redundant, instant fail-over network. Unlike HSR, PRP networks
28*4882a593Smuzhiyun	  can have Singly Attached Nodes (SAN) such as PC, printer, bridges
29*4882a593Smuzhiyun	  etc and will be able to communicate with DANP nodes.
30*4882a593Smuzhiyun
31*4882a593Smuzhiyun	  This code is a "best effort" to comply with the HSR standard as
32*4882a593Smuzhiyun	  described in IEC 62439-3:2010 (HSRv0) and IEC 62439-3:2012 (HSRv1),
33*4882a593Smuzhiyun	  and PRP standard described in IEC 62439-4:2012 (PRP), but no
34*4882a593Smuzhiyun	  compliancy tests have been made. Use iproute2 to select the protocol
35*4882a593Smuzhiyun	  you would like to use.
36*4882a593Smuzhiyun
37*4882a593Smuzhiyun	  You need to perform any and all necessary tests yourself before
38*4882a593Smuzhiyun	  relying on this code in a safety critical system!
39*4882a593Smuzhiyun
40*4882a593Smuzhiyun	  If unsure, say N.
41