Skip to content
This repository has been archived by the owner on Mar 20, 2024. It is now read-only.

bpf-map-pinning: fixes a few issues #86

Merged
merged 1 commit into from
Dec 4, 2023

Conversation

maryamtahhan
Copy link
Contributor

@maryamtahhan maryamtahhan commented Dec 1, 2023

  • Fixup the bpf map manager path for multiple pools (same as the UDS issue)
  • Update the documentation and various specs to reflect configuration changes needed.
  • Update the program to pin the xsk map to just use xdp-loader. The previous c implementation had issues and the version of libxdp in the container images is too old for libxdp pinning support. Reverting to bpf (for pinning support) would break the libxdp based program unloading. and would need to implement another BPF variation...
  • Don't return an error from the bpf clean up function when there's no program on the interface.
  • Cleanup the dirs created for bpf map managers in /var/run/afxdp_dp

Tested in a physical cluster with multiple pools and resource requests with both CNDP map pinning and soon to be map pinning patches submitted patches to DPDK

@maryamtahhan maryamtahhan marked this pull request as ready for review December 1, 2023 21:52
README.md Outdated Show resolved Hide resolved
cmd/deviceplugin/main.go Show resolved Hide resolved
deployments/daemonset.yml Outdated Show resolved Hide resolved
internal/bpf/bpfWrapper.c Show resolved Hide resolved
@maryamtahhan
Copy link
Contributor Author

I could also remove the bpf code from the CNI altogether by leveraging the DPSyncer and doing everything in the DP as part of this PR?

README.md Outdated Show resolved Hide resolved
@@ -144,6 +144,17 @@ func main() {
}
}

if _, err := os.Stat(constants.Bpf.PinMapBaseDir); err == nil {
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Might need to remove this...

* Update the documentation to reflect configuration
changes needed.
* Update the program to pin the xsk map to just use
xdp-loader. The previous c implementation had issues
and the version of libxdp in the container images is
too old for libxdp pinning support. Reverting to bpf
(for pinning support) would break the libxdp based
program unloading.
* Don't return an error from the bpf clean up function
when there's no program on the interface.

Signed-off-by: Maryam Tahhan <mtahhan@redhat.com>
@garyloug garyloug merged commit c979b7b into intel:main Dec 4, 2023
6 checks passed
@maryamtahhan maryamtahhan deleted the hotfix_bpf_map_pinning branch April 9, 2024 09:44
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants