Skip to content

Enable BPF_JIT, SCHEDSTATS, CRYPTO_USER_API_HASH and NETKIT in the kernel configs - #914

Open
saiyam1814 wants to merge 1 commit into
apple:mainfrom
saiyam1814:kernel-cilium-base-requirements
Open

Enable BPF_JIT, SCHEDSTATS, CRYPTO_USER_API_HASH and NETKIT in the kernel configs#914
saiyam1814 wants to merge 1 commit into
apple:mainfrom
saiyam1814:kernel-cilium-base-requirements

Conversation

@saiyam1814

Copy link
Copy Markdown

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_SCHEDSTATS and CONFIG_CRYPTO_USER_API_HASH; CONFIG_NETKIT covers its netkit device mode. Everything else on Cilium's list is already =y. Hand-edited in place like #681 and #797, in both config-arm64 and config-x86_64 (the gaps are identical); make olddefconfig adds only BPF_JIT_DEFAULT_ON=y and EXECMEM=y and surfaces # CONFIG_BPF_JIT_ALWAYS_ON is not set.

Cost: arm64 Image 29,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 --kernel on container CLI 1.0.0, bpf_jit_enable=1, /proc/schedstat present, AF_ALG hash socket binds, ip link add ... type netkit works; then a two-node kubeadm 1.37 cluster on kindest/node with Cilium 1.19.4 (cilium install --wait): cilium status OK with 2/2 agents, nodes Ready, ClusterIP, pod IP, DNS and cross-node pod traffic answer. config-x86_64 carries the same four-line change but was not built here.

Left for the linked issue: CONFIG_BPF_EVENTS (+4.4 MB with tracing dependencies) and CONFIG_DEBUG_INFO_BTF (needs pahole in kernel/image); Cilium 1.19.4 did not need either.

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.

[Request]: Enable Cilium's base kernel requirements in the kernel configs

1 participant