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

Fix map reuse when reloading TC egress program of XDP cubes #357

Merged
merged 1 commit into from
Dec 13, 2020

Conversation

FedeParola
Copy link
Collaborator

There is a bug when reloading a program in the egress path of a XDP cube: XDP egress is emulated with two programs, a TC one to handle packets coming from the stack and a XDP one to handle packets coming from other XDP cubes. This programs should share the same maps in order to behave as one. There is a bug that causes these maps to differ after a reload. This patch fixes the problem.

When reloading a program the new program needs to reuse the maps of
the old one. In the EGRESS path of XDP cubes moreover the two
programs (TC and XDP) need to share the same maps to beahve as
one. For the TC program stealing the map from the old TC program
didn't work, causing it to use a new map different from the XDP
counterpart. With this fix the TC program directly uses the map of
the XDP counterpart.
@FedeParola FedeParola changed the base branch from release/v0.11.0 to master December 10, 2020 18:00
@FedeParola
Copy link
Collaborator Author

Moved on master to perform tests

@FedeParola FedeParola changed the base branch from master to release/v0.11.0 December 11, 2020 13:29
@frisso
Copy link
Contributor

frisso commented Dec 13, 2020

Nice spot, Federico: thanks!

@frisso frisso merged commit f8b9079 into polycube-network:release/v0.11.0 Dec 13, 2020
@FedeParola FedeParola deleted the reload-fix branch December 28, 2020 14:57
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.

None yet

3 participants