Re: [PATCH] net: hsr : Provide fix for HSRv1 supervisor frames decoding

From: Sebastian Andrzej Siewior
Date: Tue Sep 05 2023 - 13:10:09 EST


On 2023-08-25 17:31:11 [+0200], Lukasz Majewski wrote:
> Provide fix to decode correctly supervisory frames when HSRv1 version of
> the HSR protocol is used.
>
> Without this patch console is polluted with:
> ksz-switch spi1.0 lan1: hsr_addr_subst_dest: Unknown node
>
> as a result of destination node's A MAC address equals to:
> 00:00:00:00:00:00.
>
> cat /sys/kernel/debug/hsr/hsr0/node_table
> Node Table entries for (HSR) device
> MAC-Address-A, MAC-Address-B, time_in[A], time_in[B], Address-B
> 00:00:00:00:00:00 00:10:a1:94:77:30 400bf, 399c, 0
>
> It was caused by wrong frames decoding in the hsr_handle_sup_frame().
>
> As the supervisor frame is encapsulated in HSRv1 frame:
>
> SKB_I100000000: 01 15 4e 00 01 2d 00 10 a1 94 77 30 89 2f 00 34
> SKB_I100000010: 02 59 88 fb 00 01 84 15 17 06 00 10 a1 94 77 30
> SKB_I100000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> SKB_I100000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> SKB_I100000040: 00 00
>
> The code had to be adjusted accordingly and the MAC-Address-A now
> has the proper address (the MAC-Address-B now has all 0's).

Was this broken by commit
eafaa88b3eb7f ("net: hsr: Add support for redbox supervision frames")

? Is this frame somehow special? I don't remember this…

> Signed-off-by: Lukasz Majewski <lukma@xxxxxxx>

Sebastian