| # 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 |