| # 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. | |
| if HSR | |
| config PRP_DUP_DISCARD_KUNIT_TEST | |
| tristate "PRP duplicate discard KUnit tests" if !KUNIT_ALL_TESTS | |
| depends on KUNIT | |
| default KUNIT_ALL_TESTS | |
| help | |
| Covers the PRP duplicate discard algorithm. | |
| Only useful for kernel devs running KUnit test harness and are not | |
| for inclusion into a production build. | |
| For more information on KUnit and unit tests in general please refer | |
| to the KUnit documentation in Documentation/dev-tools/kunit/. | |
| If unsure, say N. | |
| endif |