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

POC - AF_XDP device plugin and CNI - BPFd integration #1

Open
6 of 8 tasks
maryamtahhan opened this issue Jan 23, 2023 · 1 comment
Open
6 of 8 tasks

POC - AF_XDP device plugin and CNI - BPFd integration #1

maryamtahhan opened this issue Jan 23, 2023 · 1 comment
Assignees

Comments

@maryamtahhan
Copy link
Collaborator

maryamtahhan commented Jan 23, 2023

  1. Investigate the possibility of replacing the BPF calls to load/unload BPF programs on/off interfaces in the AF_XDP K8s Plugins with BPFd.
  2. POC + Document the integration.
  • Ramp up on BPFd.
  • Install BPFd in a kind cluster.
  • Wrap up the AF_XDP BPF prog in a container image.
  • Integrate the AF_XDP device plugin with BPFd - In progress
  • Integrate the AF_XDP CNI with BPFd - In progress
  • Allow custom BPF/AF_XDP program installation on the netdev
  • Test the integration.
  • Document the integration.

** Note 1**

Aya doesn't currently support XSK maps:

[2023-08-14T12:42:53Z WARN  aya::bpf] The map xsks_map is of type BPF_MAP_TYPE_XSKMAP which is currently unsupported in Aya, use `allow_unsupported_maps()` to load it anyways
[2023-08-14T12:42:53Z WARN  bpfd::rpc] BPFD load error: BpfLoadError(
        UnsupportedMap,
    )

As such integration work will be completed with an example BPF program that will need to be updated later in time.

** Note 2**

bpfd migrated from bpfd.dev to bpfd.io. This change will need to be added to the AF_XDP device plugin when the next version of bpfd is released.

@maryamtahhan maryamtahhan changed the title AF_XDP device plugin and CNI - BPFd integration POC - AF_XDP device plugin and CNI - BPFd integration Jan 23, 2023
@maryamtahhan maryamtahhan self-assigned this Jan 25, 2023
@maryamtahhan
Copy link
Collaborator Author

After discussion with the bpfd team - the AF_XDP DP will let bpfd do everything from a map management POV for the AF_XDP netdev. So, the AF_XDP DP will need to retrieve the map information and extend the Pod spec with the right volume information. This requires a few small updates to the DP which are currently in progress.

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

No branches or pull requests

1 participant