Skip to content

[swss] creating single-hop bfd session using nexthop #3629

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

baorliu
Copy link
Contributor

@baorliu baorliu commented Apr 30, 2025

What I did
Provide a method to create single hop BFD session using nexthop in bfdorch, working together with neighorch.

Why I did it
Single-hop BFD session needs to be associated with an interface. existing bfdorch provides a way to bypass HW lookup by providing mac address and port id. but this approach might not working for some ASICs if the interface is portchannel. SDK/ASIC might construct layer 2 packets and just use one of portchannel member. And this approach requires application provide destination MAC address, but dest mac address may not available when creating BFD session, especially creating BFD session at system boot up time.
This PR provides a method to let application to use nexthop, by specifying interface but don't need to provide destination mac address, the bfdorch and neighorch will update nexthop when the neighbor is resolved. It simplified the application design, and more important, it works for portchannel case in same way as normal interface.

How I verified it
The functionality is verified in hardware testbed using a prototype.

Details if related
Introduced 2 new SAI attribute for this feature:
SAI_BFD_SESSION_ATTR_USE_NEXT_HOP
SAI_BFD_SESSION_ATTR_NEXT_HOP_ID
Here is the detailes:
sonic-net/SONiC#1932

@mssonicbld
Copy link
Collaborator

/azp run

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@mssonicbld
Copy link
Collaborator

/azp run

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@mssonicbld
Copy link
Collaborator

/azp run

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

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.

2 participants