Update sonic-ext plugin to support portchannel punt - #257
Conversation
Signed-off-by: Yue Gao <yuega2@cisco.com>
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
AkeelAli
left a comment
There was a problem hiding this comment.
The FEATURE.yaml file for the plugin can be updated to reflect the new support.
|
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>
|
/azp run |
|
Azure Pipelines: Successfully started running 1 pipeline(s). |
good point. Updated the yaml file |
|
/azp run |
|
Azure Pipelines: Successfully started running 1 pipeline(s). |
I am going to merge it and you can rebase and add anything that is needed. |
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>
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 theuplink 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.