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

eBPF library support for SONiC applications #6131

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

Conversation

Kalimuthu-Velappan
Copy link
Contributor

@Kalimuthu-Velappan Kalimuthu-Velappan commented Dec 4, 2020

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)

  • 201811
  • 201911
  • 202006

- Description for the changelog

- A picture of a cute animal (not mandatory but encouraged)

@@ -0,0 +1,64 @@
export KVERSION ?= 4.9.0-11-2-amd64
Copy link
Collaborator

Choose a reason for hiding this comment

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

seems 4.9 kernel?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

FIxed

@@ -0,0 +1,4 @@
ACLOCAL_AMFLAGS = -I m4
export KVERSION ?= 4.9.0-11-2-amd64
Copy link
Collaborator

Choose a reason for hiding this comment

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

4.19

Copy link
Contributor Author

Choose a reason for hiding this comment

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

FIxed

export EBPF_VERSION ?= 1.0.0
DEST ?= /sonic/target/debs/stretch/

MAIN_TARGET := libebpf_$(EBPF_VERSION)_amd64.deb
Copy link
Collaborator

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

Copy link
Contributor Author

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.
@Kalimuthu-Velappan
Copy link
Contributor Author

Fixed the review comments

@Kalimuthu-Velappan
Copy link
Contributor Author

retest this please

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
brcm upstream
  
To do
Development

Successfully merging this pull request may close these issues.

None yet

2 participants