• George McCollister's avatar
    net: hsr: add offloading support · dcf0cd1c
    George McCollister authored
    Add support for offloading of HSR/PRP (IEC 62439-3) tag insertion
    tag removal, duplicate generation and forwarding.
    
    For HSR, insertion involves the switch adding a 6 byte HSR header after
    the 14 byte Ethernet header. For PRP it adds a 6 byte trailer.
    
    Tag removal involves automatically stripping the HSR/PRP header/trailer
    in the switch. This is possible when the switch also performs auto
    deduplication using the HSR/PRP header/trailer (making it no longer
    required).
    
    Forwarding involves automatically forwarding between redundant ports in
    an HSR. This is crucial because delay is accumulated as a frame passes
    through each node in the ring.
    
    Duplication involves the switch automatically sending a single frame
    from the CPU port to both redundant ports. This is required because the
    inserted HSR/PRP header/trailer must contain the same sequence number
    on the frames sent out both redundant ports.
    
    Export is_hsr_master so DSA can tell them apart from other devices in
    dsa_slave_changeupper.
    Signed-off-by: default avatarGeorge McCollister <george.mccollister@gmail.com>
    Reviewed-by: default avatarVladimir Oltean <olteanv@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    dcf0cd1c
hsr_forward.c 15.4 KB