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

[R&D] Packet: AF_XDP support #338

Open
glazychev-art opened this issue May 12, 2023 · 4 comments
Open

[R&D] Packet: AF_XDP support #338

glazychev-art opened this issue May 12, 2023 · 4 comments
Assignees
Labels

Comments

@glazychev-art
Copy link
Collaborator

glazychev-art commented May 12, 2023

Description

Root issue: networkservicemesh/cmd-forwarder-vpp#859

We recently added AF_XDP support to the forwarder-vpp. But it doesn't work on the Packet cluster.
This is most likely due to the fact that af_xdp vpp plugin doesn't process bonded interfaces (they are used by Packet servers).

@glazychev-art
Copy link
Collaborator Author

glazychev-art commented May 16, 2023

Steps to solve the problem:
1. Ask vpp community - https://lists.fd.io/g/vpp-dev/topic/does_af_xdp_plugin_support/98902915
2. Check different settings for bond (see ip link help bond) - 3h
3. Collection and analysis interface statistics (on the kernel and vpp side) - 7h
4. Check vpp af_xdp plugin implementation - 14h
5. Explore some xdp examples from the kernel (see: https://elixir.bootlin.com/linux/v5.15.80/source/samples/bpf) - 7h
6. Explore how bond interface works with xdp (see: torvalds/linux@9e2ee5c7e7c3) - 7h
7. Try the linux kernel v6 - 7h

@denis-tingaikin denis-tingaikin moved this from In Progress to Blocked in Release v1.10.0 May 18, 2023
@glazychev-art
Copy link
Collaborator Author

AF_XDP bond interface discussion - xdp-project/xdp-tutorial#362

@glazychev-art
Copy link
Collaborator Author

glazychev-art commented May 23, 2023

We now have 2 options:
Option 1:
Dive into linux kernel and libxdp to find the cause (most likely it is not feasible)
Option 2:
Change server configuration (Equinix Metal server uses bond by default).
We can drop bond in favor of a simple single interface on setup.

@d-uzlov d-uzlov moved this from Blocked to In Progress in Release v1.10.0 Jun 7, 2023
@d-uzlov d-uzlov moved this from In Progress to Blocked in Release v1.10.0 Jun 7, 2023
@denis-tingaikin denis-tingaikin changed the title Packet: AF_XDP support [RND] Packet: AF_XDP support Jun 8, 2023
@denis-tingaikin denis-tingaikin changed the title [RND] Packet: AF_XDP support [R&D] Packet: AF_XDP support Jun 12, 2023
@denis-tingaikin denis-tingaikin moved this from Blocked to Moved to next release in Release v1.10.0 Aug 2, 2023
@NikitaSkrynnik NikitaSkrynnik moved this from Todo to In Progress in Release v1.12.0 Oct 25, 2023
@glazychev-art glazychev-art moved this from In Progress to Todo in Release v1.12.0 Nov 14, 2023
@denis-tingaikin denis-tingaikin moved this from Todo to Moved to next release in Release v1.12.0 Jan 30, 2024
@denis-tingaikin
Copy link
Member

Currently, it's not possible to implement xdp-project/xdp-tutorial#362 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Moved to next release
Status: Moved to next release
Development

No branches or pull requests

2 participants