elf: add Module.RemoveXDPWithFlags method #275
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PR adds a method
Module.RemoveXDPWithFlags
to allow unloading xdp sections loaded withSKB
akaxdpgeneric
flags (mode). CurrentlyAttachXDP
has a "sibling"AttachXDPWithFlags
butRemoveXDP
doesn't. I was playing with modifying https://github.com/sematext/oxdpus and had to resort to vendoring this repository to addRemoveXDPWithFlags
function - only then I was able to unload the xdp program loaded withXDP_FLAGS_SKB_MODE
[1].[1] https://github.com/dmitris/oxdpus/blob/skb-mode-vendor/vendordeps/github.com/iovisor/gobpf/elf/module.go#L543-L550, used in https://github.com/dmitris/oxdpus/blob/skb-mode-vendor/pkg/xdp/hook.go#L80