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

bfdd: disable echo socket when not using it #16987

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

rzalamena
Copy link
Member

Fixes #16594.

Lets avoid a performance penalty in forwarding when not using the BFD echo feature. The echo socket uses raw packet capturing along with a BPF filter which causes performance issues.

bfdd/bfd.c Outdated

void bfd_vrf_toggle_echo(struct bfd_vrf_global *bfd_vrf)
{
struct _bfd_session_has_echo has_echo = {};
Copy link
Member

Choose a reason for hiding this comment

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

shouldn't we set the correct vrf in has_echo?

Copy link
Member Author

Choose a reason for hiding this comment

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

Yes, thank you. I missed that bit.

@donaldsharp
Copy link
Member

once ci finishes I'll get this in.

Lets avoid a performance penalty in forwarding when not using the BFD
echo feature. The echo socket uses raw packet capturing along with a BPF
filter which causes performance issues.

Signed-off-by: Rafael Zalamena <[email protected]>
Copy link
Member

@riw777 riw777 left a comment

Choose a reason for hiding this comment

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

looks good ... waiting on ci and the one other comment

@riw777
Copy link
Member

riw777 commented Oct 8, 2024

looks like closing this socket is causing bfdd not to be able to "find itself" ... the test probably needs to be changed (?)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

bfdd: large number of raw sockets for vrfs results in severe degradation of bandwidth for all network traffic
3 participants