Skip to content

Commit 14b2b14

Browse files
lunyue-msCopilot
andcommitted
[linux-cp]: Align lcp-auto-subint state across syncd-vpp and sonic-vpp
Both docker-syncd-vpp and docker-sonic-vpp now disable lcp-auto-subint and carry the same rationale comment, so sairedis is the sole producer of LAG sub-port LCP pairs in either deployment model (multi-container VM image or single-container sonic-vpp image). Also rewrites the existing rationale comment in docker-syncd-vpp to be more accurate: configure_lcp_interface pairs BondEthernet<id>.<vlan> with be<id>.<vlan> (not with PortChannel<id>.<vlan>); the bridge to PortChannel<id>.<vlan> is a separate tc mirred step in the same SAI RIF create. ARP replies do reach the correct LCP host tap; the kernel drops them because the IP lives on a different netdev. Signed-off-by: Lun Yue <17232861+lunyue-ms@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 9eecd78 commit 14b2b14

2 files changed

Lines changed: 13 additions & 7 deletions

File tree

docker-sonic-vpp/conf/startup.conf.tmpl

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -296,6 +296,12 @@ plugins {
296296
297297
# Why not support sub interfaces
298298
linux-cp {
299-
lcp-auto-subint
299+
# lcp-auto-subint disabled: auto-pair "BondEthernet<id>.<vlan>" <-> "be<id>.<vlan>"
300+
# punts ARP to be<id>.<vlan>, but SONiC writes the sub-port IP on
301+
# "PortChannel<id>.<vlan>" (separate teamd vlan netdev), so the kernel drops
302+
# the unsolicited ARP and the VPP neighbor table never gets populated.
303+
# Disabled so sairedis (vpp_create_router_interface, SUB_PORT path) creates the
304+
# LCP pair + tc mirred bridge between be<id>.<vlan> and PortChannel<id>.<vlan>.
305+
# lcp-auto-subint
300306
lcp-sync
301307
}

docker-syncd-vpp/conf/startup.conf.tmpl

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -284,12 +284,12 @@ plugins {
284284
285285
# Why not support sub interfaces
286286
linux-cp {
287-
# lcp-auto-subint disabled: causes Bug 6 (LAG sub-port 0/8 addNeighbor).
288-
# When on, VPP auto-creates host tap "be<id>.<vlan>" for BondEthernet<id>.<vlan>,
289-
# but SONiC IntfMgr writes IP on "PortChannel<id>.<vlan>" (teamd vlan child),
290-
# so ARP replies go to the wrong netdev. Disable so sairedis explicitly pairs
291-
# BondEthernet<id>.<vlan> <-> PortChannel<id>.<vlan> via configure_lcp_interface()
292-
# in SwitchVpp::vpp_create_router_interface for SAI_ROUTER_INTERFACE_TYPE_SUB_PORT.
287+
# lcp-auto-subint disabled: auto-pair "BondEthernet<id>.<vlan>" <-> "be<id>.<vlan>"
288+
# punts ARP to be<id>.<vlan>, but SONiC writes the sub-port IP on
289+
# "PortChannel<id>.<vlan>" (separate teamd vlan netdev), so the kernel drops
290+
# the unsolicited ARP and the VPP neighbor table never gets populated.
291+
# Disabled so sairedis (vpp_create_router_interface, SUB_PORT path) creates the
292+
# LCP pair + tc mirred bridge between be<id>.<vlan> and PortChannel<id>.<vlan>.
293293
# lcp-auto-subint
294294
lcp-sync
295295
}

0 commit comments

Comments
 (0)