-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
eBPF library support for SONiC applications #6131
base: master
Are you sure you want to change the base?
Conversation
61ec544
to
506ca16
Compare
@@ -0,0 +1,64 @@ | |||
export KVERSION ?= 4.9.0-11-2-amd64 |
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.
seems 4.9 kernel?
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.
FIxed
src/libebpf/src/Makefile.am
Outdated
@@ -0,0 +1,4 @@ | |||
ACLOCAL_AMFLAGS = -I m4 | |||
export KVERSION ?= 4.9.0-11-2-amd64 |
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.
4.19
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.
FIxed
src/libebpf/Makefile
Outdated
export EBPF_VERSION ?= 1.0.0 | ||
DEST ?= /sonic/target/debs/stretch/ | ||
|
||
MAIN_TARGET := libebpf_$(EBPF_VERSION)_amd64.deb |
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.
not amd64, use CONFIGURED_ARCH
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.
FIxed
It provides a generic library support for filtering the netlink message using eBPF based packet filtering. Linux netlink messaging system is a broadcast domain, every netlink message is broadcasted to all the subscribed appplications regardless whether the application is interested in it or not. In a scaled scenario, more than 1 million message is being broadcasted across applications. This framework helps to filter the unwanted netlink message at the kernel space itself and eliminates the unnecessary passing of message to the user space application and then it get dropped. This improves the system performance and scale the system to higher level.
506ca16
to
4554211
Compare
Fixed the review comments |
retest this please |
It provides generic library support for filtering the netlink message using eBPF based packet filtering.
Linux netlink messaging system is a broadcast domain, every netlink message is broadcasted to all the subscribed applications regardless of whether the application is interested in it or not.
In a scaled scenario, more than 1 million messages is being broadcasted across applications.
This framework helps to filter the unwanted netlink message at the kernel space itself and eliminates the unnecessary passing of message to the user space application and then it gets dropped. This improves the system
performance and scales the system to a higher level.
It has dependent PR:
sonic-net/sonic-linux-kernel#178
- Why I did it
- How I did it
- How to verify it
- Which release branch to backport (provide reason below if selected)
- Description for the changelog
- A picture of a cute animal (not mandatory but encouraged)