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

Enable IPFIX export #64

Merged
merged 9 commits into from
Dec 13, 2022
Merged

Enable IPFIX export #64

merged 9 commits into from
Dec 13, 2022

Conversation

praveingk
Copy link
Collaborator

This PR address the below issue https://github.com/netobserv/netobserv-ebpf-agent/issues/26 to provide IPFIX export of flow records, which can be consumed directly by any platform.

@mariomac
Copy link

Doing an initial view, it looks good! I'll do later a more detailed review.

In the meantime, I think we should add e2e tests. For example, you can just copy the kafka folder into e.g. ipfix and add some modifications:

1- in the manifests/ subfolders, remove the kafka manifests, then configure the flp-transformer and agent manifests to export/accept IPFIX data (FLP already accepts IPFIX)

2- rename the kafka_test.go to ipfix_test.go, remove this lines and this lines.

@praveingk
Copy link
Collaborator Author

Doing an initial view, it looks good! I'll do later a more detailed review.

In the meantime, I think we should add e2e tests. For example, you can just copy the kafka folder into e.g. ipfix and add some modifications:

1- in the manifests/ subfolders, remove the kafka manifests, then configure the flp-transformer and agent manifests to export/accept IPFIX data (FLP already accepts IPFIX)

2- rename the kafka_test.go to ipfix_test.go, remove this lines and this lines.

Thanks Mario, I will add the e2e tests.

@mariomac
Copy link

Adding hold labels for the feature freeze.

@praveingk
Copy link
Collaborator Author

@mariomac
I have added e2e tests. Do note that in FLP config, I had to fix "Interface" to a non-zero field, since flp's ipfix input from goflow does not return interface name which was exported by ebpf agent.

Copy link

@mariomac mariomac left a comment

Choose a reason for hiding this comment

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

Mostly looks good. I have a suggestion about renaming a struct and a file, and a concern about the performance.

pkg/exporter/ipfix_proto.go Outdated Show resolved Hide resolved
pkg/exporter/ipfix_proto.go Outdated Show resolved Hide resolved
pkg/exporter/ipfix_proto.go Outdated Show resolved Hide resolved
pkg/exporter/ipfix_proto.go Outdated Show resolved Hide resolved
pkg/exporter/ipfix_proto.go Outdated Show resolved Hide resolved
@mariomac mariomac merged commit 5302974 into main Dec 13, 2022
@mariomac mariomac deleted the ipfix branch December 13, 2022 14:51
shach33 pushed a commit to shach33/netobserv-ebpf-agent that referenced this pull request Jan 10, 2023
* IPFIX exporter and collector with tcp/udp

* Enable ipfix export at the agent using config

* Add vmware go-ipfix modules

* Add the vendor directories

* Add e2e tests for IPFIX

* Caching of ie values for performance

* Fix inconsistent vendor after merge

* Fix lint error
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.

2 participants