Skip to content

Update sonic-ext plugin to support portchannel punt - #257

Merged
yue-fred-gao merged 3 commits into
sonic-net:masterfrom
yue-fred-gao:portchannel_punt
Jul 31, 2026
Merged

Update sonic-ext plugin to support portchannel punt #257
yue-fred-gao merged 3 commits into
sonic-net:masterfrom
yue-fred-gao:portchannel_punt

Conversation

@yue-fred-gao

Copy link
Copy Markdown
Contributor

why

The current port-channel implementation punts control-plane packets directly to the PortChannel<id> (bond) netdev.
This does not conform to the SONiC data-plane model. On real hardware the NPU punts control traffic to the CPU on the physical/member port it was received on.
The most visible symptom is DHCP relay. sonic-dhcp-relay / dhcrelay
(the SONiC relay agent) binds and accepts uplink packets only on port-channel member interfaces. Because today's solution delivers the frame on the PortChannel<id> netdev instead of the member, the relay agent never sees the
uplink packet and DHCP relay over a port-channel uplink is broken.

what this PR does

Update sonic-ext plugin to recognize bond and bond sub interface as aggregate interface to apply punt-via-member behavior.

Signed-off-by: Yue Gao <yuega2@cisco.com>
@mssonicbld

Copy link
Copy Markdown

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@AkeelAli AkeelAli left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The FEATURE.yaml file for the plugin can be updated to reflect the new support.

@lunyue-ms

Copy link
Copy Markdown

Hi @yue-fred-gao , I also modified sonic_ext.c/h in #267. It seems that you have implemented some features in this PR.  Whether you will add more features in this PR or it will be merged soon? I'm thinking that maybe I need to rebase on master after this PR is merged. How do you think? Thanks.

Signed-off-by: Yue Gao <yuega2@cisco.com>
@mssonicbld

Copy link
Copy Markdown

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 1 pipeline(s).

@yue-fred-gao

Copy link
Copy Markdown
Contributor Author

The FEATURE.yaml file for the plugin can be updated to reflect the new support.

good point. Updated the yaml file

@mssonicbld

Copy link
Copy Markdown

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 1 pipeline(s).

@yue-fred-gao

Copy link
Copy Markdown
Contributor Author

Hi @yue-fred-gao , I also modified sonic_ext.c/h in #267. It seems that you have implemented some features in this PR.  Whether you will add more features in this PR or it will be merged soon? I'm thinking that maybe I need to rebase on master after this PR is merged. How do you think? Thanks.

I am going to merge it and you can rebase and add anything that is needed.

@yue-fred-gao
yue-fred-gao merged commit 53a0712 into sonic-net:master Jul 31, 2026
5 checks passed
lunyue-ms added a commit to lunyue-ms/sonic-platform-vpp that referenced this pull request Aug 7, 2026
Add sonic-ext-glean-redirect on the IPv4 and IPv6 drop arcs so unresolved transit nexthops are punted through the ingress LCP host tap. Preserve the ingress interface and VLAN metadata, validate the producing glean/ARP node, and throttle redirects per adjacency.

Avoid toggling device-input features on sub-interfaces because they share their parent device feature configuration. This prevents physical sub-port teardown from stripping host-xc from a later LAG member.

Keep the bond and aggregate support provided by merged PR sonic-net#257 unchanged. Add glean redirect counters and bump the VPP package version for downstream builds.

Validated with sonic-net/sonic-sairedis#1907 on the vms-kvm-vpp-t1-lag testbed.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: ea640ff9-0a8c-4eb3-a41e-b316db32e773

Signed-off-by: Lun Yue <17232861+lunyue-ms@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants