-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
base: master
Are you sure you want to change the base?
Conversation
Initial version, a proposal for BFD hardware offload for BGP sessions
@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 | |
There was a problem hiding this comment.
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 | ||
``` |
There was a problem hiding this comment.
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. */ |
There was a problem hiding this comment.
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). */ |
There was a problem hiding this comment.
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?
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.