linux-cp: Add support for LACP packets 24/42124/6
authorAkeel Ali <[email protected]>
Thu, 9 Jan 2025 17:01:13 +0000 (12:01 -0500)
committerMatthew Smith <[email protected]>
Wed, 26 Feb 2025 15:39:58 +0000 (15:39 +0000)
commit9543e29708524accce591eab3aa23270ab44ae1a
treef56465c95800058c98b210a5653db23b6c385fae
parent1cdebd8ca18bdf38af95047b1e9daf520e03030c
linux-cp: Add support for LACP packets

This patch adds support to mirror LACP packets between host and phy.
It is needed for the Sonic-VPP project to support LAG and allow Sonic
to run LACP in the control plane.

The change has 3 parts:

(1) Converted lip_punt_node to lip_punt_xc_inline, which now supports
the creation of two distinct nodes: lip_punt_node and lip_punt_xc_node.
lip_punt_node retains its original punt functionality.
lip_punt_xc_node supports both punt and x-connect between host & phy.

(2) Add 2 new API (and corresponding CLI) to the linux-cp plugin:
(A) lcp_ethertype_enable ("lcp ethertype enable <ethertype>")
(B) lcp_ethertype_get ("show lcp ethertype")

(3) Add UT to test the new functionality and API/CLI for LACP and LLDP.

Type: improvement

Change-Id: Iab66e3b29351dcf2c471babd4f1ef4bdd19da46e
Signed-off-by: Akeel Ali <[email protected]>
src/plugins/linux-cp/lcp.api
src/plugins/linux-cp/lcp_api.c
src/plugins/linux-cp/lcp_cli.c
src/plugins/linux-cp/lcp_interface.c
src/plugins/linux-cp/lcp_interface.h
src/plugins/linux-cp/lcp_node.c
test/test_linux_cp.py