Skip to content
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

[bfd] BFD HW offload for BGP sessions #1599

Open
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

baorliu
Copy link
Contributor

@baorliu baorliu commented Feb 4, 2024

BGP can be configured to use BFD to monitor it's neighbor reachability. when the BFD session becomes DOWN, it indicates that BGP neighbor become not reachable, so BGP can updates the corresponding route quickly based on BFD state, the detection can be much faster than the detection using BGP keep alive approach.
Currently, BGP can use frr/bfdd (a software BFD) to do this.
The proposed design let BGP use hardware offloaded BFD in SONiC, it provide a faster detection, less CPU load, and supports more BGP sessions to use BFD.

Repo PR title State
sonic-swss[master] BFD hardware offload for BGP sessions  GitHub issue/pull request detail

@prsunny
Copy link
Contributor

prsunny commented Sep 13, 2024

@baorliu , please follow the template for the description and list all associated PRs. Will assign the reviewers

|--------------------------|--------------------------------|
| BFD_SESSION_DEFAULT_TX_INTERVAL | 300 millisecond |
| BFD_SESSION_DEFAULT_RX_INTERVAL | 300 millisecond |
| BFD_SESSION_DEFAULT_DETECT_MULTIPLIER | 3 |
Copy link
Contributor

Choose a reason for hiding this comment

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

Can you include BFD CRM to account total/available/used BFD hardware resource?

Here is an example to configure it in config_db:

/etc/sonic/config_db.json
```
Copy link
Contributor

Choose a reason for hiding this comment

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

Can this be enabled through 'config feature state' CLI? If so, could you add yang model changes as well.

* structures lookup.
*/
struct bfddp_session {
/** Important session flags. \see bfddp_session_flag. */
Copy link
Contributor

Choose a reason for hiding this comment

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

Do we need BFD session active/passive mode attributes from FRR for the offload?


/** Interface index (set to `0` when unavailable). */
uint32_t ifindex;
/** Interface name (empty when unavailable). */
Copy link
Contributor

Choose a reason for hiding this comment

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

How about multi-hop BFD attribute?

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.

3 participants