Enable BPF_JIT, SCHEDSTATS, CRYPTO_USER_API_HASH and NETKIT in the kernel configs - #914
Open
saiyam1814 wants to merge 1 commit into
Open
Enable BPF_JIT, SCHEDSTATS, CRYPTO_USER_API_HASH and NETKIT in the kernel configs#914saiyam1814 wants to merge 1 commit into
saiyam1814 wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Fixes #912.
Cilium's base requirements need three options the kernel configs do not enable:
CONFIG_BPF_JIT(the agent will not start without a JIT),CONFIG_SCHEDSTATSandCONFIG_CRYPTO_USER_API_HASH;CONFIG_NETKITcovers its netkit device mode. Everything else on Cilium's list is already=y. Hand-edited in place like #681 and #797, in bothconfig-arm64andconfig-x86_64(the gaps are identical);make olddefconfigadds onlyBPF_JIT_DEFAULT_ON=yandEXECMEM=yand surfaces# CONFIG_BPF_JIT_ALWAYS_ON is not set.Cost: arm64
Image29,354,496 -> 29,424,128 bytes (+0.24%) on linux-6.18.5, same toolchain for both builds.Tested (arm64 only): booted with
container run --kernelon container CLI 1.0.0,bpf_jit_enable=1,/proc/schedstatpresent,AF_ALGhash socket binds,ip link add ... type netkitworks; then a two-node kubeadm 1.37 cluster on kindest/node with Cilium 1.19.4 (cilium install --wait):cilium statusOK with 2/2 agents, nodes Ready, ClusterIP, pod IP, DNS and cross-node pod traffic answer.config-x86_64carries the same four-line change but was not built here.Left for the linked issue:
CONFIG_BPF_EVENTS(+4.4 MB with tracing dependencies) andCONFIG_DEBUG_INFO_BTF(needs pahole inkernel/image); Cilium 1.19.4 did not need either.