• Lukasz Majewski's avatar
    net: hsr: Provide RedBox support (HSR-SAN) · 5055cccf
    Lukasz Majewski authored
    Introduce RedBox support (HSR-SAN to be more precise) for HSR networks.
    Following traffic reduction optimizations have been implemented:
    - Do not send HSR supervisory frames to Port C (interlink)
    - Do not forward to HSR ring frames addressed to Port C
    - Do not forward to Port C frames from HSR ring
    - Do not send duplicate HSR frame to HSR ring when destination is Port C
    
    The corresponding patch to modify iptable2 sources has already been sent:
    https://lore.kernel.org/netdev/20240308145729.490863-1-lukma@denx.de/T/
    
    Testing procedure (veth and netns):
    -----------------------------------
    One shall run:
    linux-vanila/tools/testing/selftests/net/hsr/hsr_redbox.sh
    (Detailed description of the setup one can find in the test
    script file).
    
    Testing procedure (real hardware):
    ----------------------------------
    The EVB-KSZ9477 has been used for testing on net-next branch
    (SHA1: 5fc68320).
    
    Ports 4/5 were used for SW managed HSR (hsr1) as first hsr0 for ports 1/2
    (with HW offloading for ksz9477) was created. Port 3 has been used as
    interlink port (single USB-ETH dongle).
    
    Configuration - RedBox (EVB-KSZ9477):
    if link set lan1 down;ip link set lan2 down
    ip link add name hsr0 type hsr slave1 lan1 slave2 lan2 supervision 45 version 1
    ip link add name hsr1 type hsr slave1 lan4 slave2 lan5 interlink lan3 supervision 45 version 1
    ip link set lan4 up;ip link set lan5 up
    ip link set lan3 up
    ip addr add 192.168.0.11/24 dev hsr1
    ip link set hsr1 up
    
    Configuration - DAN-H (EVB-KSZ9477):
    
    ip link set lan1 down;ip link set lan2 down
    ip link add name hsr0 type hsr slave1 lan1 slave2 lan2 supervision 45 version 1
    ip link add name hsr1 type hsr slave1 lan4 slave2 lan5 supervision 45 version 1
    ip link set lan4 up;ip link set lan5 up
    ip addr add 192.168.0.12/24 dev hsr1
    ip link set hsr1 up
    
    This approach uses only SW based HSR devices (hsr1).
    
    --------------          -----------------       ------------
    DAN-H  Port5 | <------> | Port5         |       |
           Port4 | <------> | Port4   Port3 | <---> | PC
                 |          | (RedBox)      |       | (USB-ETH)
    EVB-KSZ9477  |          | EVB-KSZ9477   |       |
    --------------          -----------------       ------------
    Signed-off-by: default avatarLukasz Majewski <lukma@denx.de>
    Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
    5055cccf
hsr_netlink.c 13.6 KB