]> git.baikalelectronics.ru Git - kernel.git/commit
net: hsr: generate supervision frame without HSR/PRP tag
authorGeorge McCollister <george.mccollister@gmail.com>
Wed, 10 Feb 2021 01:02:10 +0000 (19:02 -0600)
committerDavid S. Miller <davem@davemloft.net>
Thu, 11 Feb 2021 21:24:44 +0000 (13:24 -0800)
commit795f3cb77ba795f906db7f29d6f2fd163e61d1ba
tree968ff404a23219e4345511bcdf2e9c19a9244a11
parent66b197a9741fd928daa144398ff78abc92805d8b
net: hsr: generate supervision frame without HSR/PRP tag

For a switch to offload insertion of HSR/PRP tags, frames must not be
sent to the CPU facing switch port with a tag. Generate supervision frames
(eth type ETH_P_PRP) without HSR v1 (ETH_P_HSR)/PRP tag and rely on
create_tagged_frame which inserts it later. This will allow skipping the
tag insertion for all outgoing frames in the future which is required for
HSR v1/PRP tag insertions to be offloaded.

HSR v0 supervision frames always contain tag information so insertion of
the tag can't be offloaded. IEC 62439-3 Ed.2.0 (HSR v1) specifically
notes that this was changed since v0 to allow offloading.

Signed-off-by: George McCollister <george.mccollister@gmail.com>
Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
Tested-by: Vladimir Oltean <olteanv@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/hsr/hsr_device.c
net/hsr/hsr_forward.c