Skip to content

Commit cde58f8

Browse files
ci: rebuild test kernel with nftables built-in (#108)
Modern netavark defaults to the nftables firewall driver, but our test kernel had CONFIG_NF_TABLES=m and the rootfs ships no modules, so `nft` calls failed and podman containers couldn't start in the QEMU integration test. Flip NF_TABLES, all NFT_*, NF_FLOW_TABLE*, NF_TABLES_BRIDGE, NF_CONNTRACK_BRIDGE, NF_DUP_NETDEV and TUN to =y, add `make olddefconfig` to prepare_kernel_image.sh so dependency cascades resolve cleanly, and rebuild bzImage against v6.12.86 (the 6.12.18 we were on predates the libbpf const-qualifier fix needed for glibc 2.41+ / GCC 14+ host toolchains).
1 parent 7c2f52f commit cde58f8

3 files changed

Lines changed: 39 additions & 38 deletions

File tree

testdata/bzImage

364 KB
Binary file not shown.

testdata/config

Lines changed: 38 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1387,39 +1387,39 @@ CONFIG_NF_NAT_REDIRECT=y
13871387
CONFIG_NF_NAT_MASQUERADE=y
13881388
CONFIG_NF_NAT_OVS=y
13891389
CONFIG_NETFILTER_SYNPROXY=y
1390-
CONFIG_NF_TABLES=m
1390+
CONFIG_NF_TABLES=y
13911391
CONFIG_NF_TABLES_INET=y
13921392
CONFIG_NF_TABLES_NETDEV=y
1393-
CONFIG_NFT_NUMGEN=m
1394-
CONFIG_NFT_CT=m
1395-
CONFIG_NFT_FLOW_OFFLOAD=m
1393+
CONFIG_NFT_NUMGEN=y
1394+
CONFIG_NFT_CT=y
1395+
CONFIG_NFT_FLOW_OFFLOAD=y
13961396
# CONFIG_NFT_CONNLIMIT is not set
1397-
CONFIG_NFT_LOG=m
1398-
CONFIG_NFT_LIMIT=m
1399-
CONFIG_NFT_MASQ=m
1400-
CONFIG_NFT_REDIR=m
1401-
CONFIG_NFT_NAT=m
1402-
CONFIG_NFT_TUNNEL=m
1397+
CONFIG_NFT_LOG=y
1398+
CONFIG_NFT_LIMIT=y
1399+
CONFIG_NFT_MASQ=y
1400+
CONFIG_NFT_REDIR=y
1401+
CONFIG_NFT_NAT=y
1402+
CONFIG_NFT_TUNNEL=y
14031403
# CONFIG_NFT_QUEUE is not set
1404-
CONFIG_NFT_QUOTA=m
1405-
CONFIG_NFT_REJECT=m
1406-
CONFIG_NFT_REJECT_INET=m
1407-
CONFIG_NFT_COMPAT=m
1408-
CONFIG_NFT_HASH=m
1409-
CONFIG_NFT_FIB=m
1410-
CONFIG_NFT_FIB_INET=m
1411-
CONFIG_NFT_XFRM=m
1412-
CONFIG_NFT_SOCKET=m
1404+
CONFIG_NFT_QUOTA=y
1405+
CONFIG_NFT_REJECT=y
1406+
CONFIG_NFT_REJECT_INET=y
1407+
CONFIG_NFT_COMPAT=y
1408+
CONFIG_NFT_HASH=y
1409+
CONFIG_NFT_FIB=y
1410+
CONFIG_NFT_FIB_INET=y
1411+
CONFIG_NFT_XFRM=y
1412+
CONFIG_NFT_SOCKET=y
14131413
# CONFIG_NFT_OSF is not set
1414-
CONFIG_NFT_TPROXY=m
1414+
CONFIG_NFT_TPROXY=y
14151415
# CONFIG_NFT_SYNPROXY is not set
1416-
CONFIG_NF_DUP_NETDEV=m
1417-
CONFIG_NFT_DUP_NETDEV=m
1418-
CONFIG_NFT_FWD_NETDEV=m
1419-
CONFIG_NFT_FIB_NETDEV=m
1420-
CONFIG_NFT_REJECT_NETDEV=m
1421-
CONFIG_NF_FLOW_TABLE_INET=m
1422-
CONFIG_NF_FLOW_TABLE=m
1416+
CONFIG_NF_DUP_NETDEV=y
1417+
CONFIG_NFT_DUP_NETDEV=y
1418+
CONFIG_NFT_FWD_NETDEV=y
1419+
CONFIG_NFT_FIB_NETDEV=y
1420+
CONFIG_NFT_REJECT_NETDEV=y
1421+
CONFIG_NF_FLOW_TABLE_INET=y
1422+
CONFIG_NF_FLOW_TABLE=y
14231423
CONFIG_NF_FLOW_TABLE_PROCFS=y
14241424
CONFIG_NETFILTER_XTABLES=y
14251425
# CONFIG_NETFILTER_XTABLES_COMPAT is not set
@@ -1588,9 +1588,9 @@ CONFIG_IP_NF_IPTABLES_LEGACY=y
15881588
CONFIG_NF_SOCKET_IPV4=y
15891589
CONFIG_NF_TPROXY_IPV4=y
15901590
CONFIG_NF_TABLES_IPV4=y
1591-
CONFIG_NFT_REJECT_IPV4=m
1592-
CONFIG_NFT_DUP_IPV4=m
1593-
CONFIG_NFT_FIB_IPV4=m
1591+
CONFIG_NFT_REJECT_IPV4=y
1592+
CONFIG_NFT_DUP_IPV4=y
1593+
CONFIG_NFT_FIB_IPV4=y
15941594
CONFIG_NF_TABLES_ARP=y
15951595
CONFIG_NF_DUP_IPV4=y
15961596
CONFIG_NF_LOG_ARP=m
@@ -1617,7 +1617,7 @@ CONFIG_IP_NF_TARGET_TTL=y
16171617
CONFIG_IP_NF_RAW=y
16181618
CONFIG_IP_NF_SECURITY=y
16191619
CONFIG_IP_NF_ARPTABLES=m
1620-
CONFIG_NFT_COMPAT_ARP=m
1620+
CONFIG_NFT_COMPAT_ARP=y
16211621
CONFIG_IP_NF_ARPFILTER=m
16221622
CONFIG_IP_NF_ARP_MANGLE=m
16231623
# end of IP: Netfilter Configuration
@@ -1629,9 +1629,9 @@ CONFIG_IP6_NF_IPTABLES_LEGACY=y
16291629
CONFIG_NF_SOCKET_IPV6=y
16301630
CONFIG_NF_TPROXY_IPV6=y
16311631
CONFIG_NF_TABLES_IPV6=y
1632-
CONFIG_NFT_REJECT_IPV6=m
1633-
CONFIG_NFT_DUP_IPV6=m
1634-
CONFIG_NFT_FIB_IPV6=m
1632+
CONFIG_NFT_REJECT_IPV6=y
1633+
CONFIG_NFT_DUP_IPV6=y
1634+
CONFIG_NFT_FIB_IPV6=y
16351635
CONFIG_NF_DUP_IPV6=y
16361636
CONFIG_NF_REJECT_IPV6=y
16371637
CONFIG_NF_LOG_IPV6=m
@@ -1659,10 +1659,10 @@ CONFIG_IP6_NF_TARGET_NPT=m
16591659
# end of IPv6: Netfilter Configuration
16601660

16611661
CONFIG_NF_DEFRAG_IPV6=y
1662-
CONFIG_NF_TABLES_BRIDGE=m
1662+
CONFIG_NF_TABLES_BRIDGE=y
16631663
# CONFIG_NFT_BRIDGE_META is not set
1664-
CONFIG_NFT_BRIDGE_REJECT=m
1665-
CONFIG_NF_CONNTRACK_BRIDGE=m
1664+
CONFIG_NFT_BRIDGE_REJECT=y
1665+
CONFIG_NF_CONNTRACK_BRIDGE=y
16661666
CONFIG_BRIDGE_NF_EBTABLES_LEGACY=m
16671667
CONFIG_BRIDGE_NF_EBTABLES=m
16681668
CONFIG_BRIDGE_EBT_BROUTE=m
@@ -2566,7 +2566,7 @@ CONFIG_NETCONSOLE=y
25662566
# CONFIG_NETCONSOLE_EXTENDED_LOG is not set
25672567
CONFIG_NETPOLL=y
25682568
CONFIG_NET_POLL_CONTROLLER=y
2569-
CONFIG_TUN=m
2569+
CONFIG_TUN=y
25702570
CONFIG_TAP=m
25712571
# CONFIG_TUN_VNET_CROSS_LE is not set
25722572
CONFIG_VETH=y

testdata/prepare_kernel_image.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ git clone --depth 1 --branch "$kernel_version" git://git.kernel.org/pub/scm/linu
1616
echo "Configuring kernel"
1717
cd kernel_source
1818
cp ../config .config
19+
make olddefconfig
1920

2021
echo "Building kernel"
2122
make -j$(nproc) bzImage

0 commit comments

Comments
 (0)