-
Notifications
You must be signed in to change notification settings - Fork 638
make: allow setting the default network locking backend #2583
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
make: allow setting the default network locking backend #2583
Conversation
3b74eb1
to
c359297
Compare
7d5788c
to
b9f4785
Compare
@mihalicyn That adds a compile time option to easily switch between backends. |
@danishprakash this is a PR which should help you building RPMs with a different network locking backend. |
Thanks for this @adrianreber, this is quite helpful. I remember we had this discussion in containers/podman#24799 but if we were to make criu "intelligent" and have it figure out the network locking backend on its own, what issues could we have encountered? |
LGTM. Thanks! |
@mihalicyn any comments from your side? |
As different Linux distributions are switching away from iptables to nftables, this makes it easier to compile CRIU with a different default network locking backend. Instead of changing the source code it is now possible to select the nft backend like this: make NETWORK_LOCK_DEFAULT=NETWORK_LOCK_NFTABLES Signed-off-by: Adrian Reber <[email protected]>
The building section also contains the information how to change the network locking backend without source code changes. Signed-off-by: Adrian Reber <[email protected]>
This uses the same formatting for the make command examples as seen in README.md. Signed-off-by: Adrian Reber <[email protected]>
The tests in others/rpc are running as non-root and fail silently if the nftables network locking backend is used. This switches those tests to skip the network locking. Signed-off-by: Adrian Reber <[email protected]>
If the tests in others/rpc are failing no information about that error can be seen in a CI run. This change displays the log files if the test fails. Signed-off-by: Adrian Reber <[email protected]>
There are a couple of tests that require the iptables binary. Instead of adding a checkskip script, which could also handle this, this change now uses CRIU's feature detection to see if the CRIU feature 'has_ipt_legacy' exists. Signed-off-by: Adrian Reber <[email protected]>
Signed-off-by: Adrian Reber <[email protected]>
aaf4037
to
05aa096
Compare
This adds the possibility to select a network locking backend during build without the need to change the sources.
It also introduces a test run with iptables uninstalled only relying on nftables.