mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-08-27 06:50:37 +00:00

Add unit tests for the PRP duplicate detection Signed-off-by: Jaakko Karrenpalo <jkarrenpalo@gmail.com> Reviewed-by: Simon Horman <horms@kernel.org> Link: https://patch.msgid.link/20250307161700.1045-2-jkarrenpalo@gmail.com Signed-off-by: Paolo Abeni <pabeni@redhat.com>
59 lines
2.2 KiB
Plaintext
59 lines
2.2 KiB
Plaintext
# 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
|