From 682f42d62dde78731edceaa151975a90618ee7d0a274486f2172f080b73c7d4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=9F=E9=85=8C=20=E9=B5=AC=E5=85=84?= Date: Fri, 1 May 2026 15:38:11 +0800 Subject: [PATCH] ASK preparations --- README.md | 5 ++--- build.env | 7 ++++++- docker/download-packages.Dockerfile | 32 +++++++++++++++++++++++++++++ kernel-extra.config | 2 +- makefile | 12 ++++++++++- 5 files changed, 52 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index b27373b..a451063 100644 --- a/README.md +++ b/README.md @@ -152,13 +152,12 @@ Working today: - initramfs boot flow - Alpine boot - Kubernetes control-plane bootstrap +- Kubernetes worker-node - default bridge CNI -- control-plane OS upgrade path +- Cilium Still in progress: -- Kubernetes worker-node support -- Cilium support - VPP/DPAA networking experiments --- diff --git a/build.env b/build.env index 970850f..debd7e3 100644 --- a/build.env +++ b/build.env @@ -4,14 +4,19 @@ DOCKER_IMAGE_ROOT=monok8s TAG=dev # NXP's Linux Factory -LINUX_FACTORY=6.18.2-1.0.0 +LINUX_FACTORY=6.12.49-2.2.0 NXP_VERSION=lf-$(LINUX_FACTORY) FMLIB_VERSION=lf-$(LINUX_FACTORY) FMC_VERSION=lf-$(LINUX_FACTORY) DPDK_VERSION=lf-$(LINUX_FACTORY) VPP_VERSION=lf-$(LINUX_FACTORY) VPP_UPSTREAM_VERSION=23.10 + +# ASK's deps MONO_ASK_VERSION=mt-$(LINUX_FACTORY) +LIBNFNETLINK_VERSION=1.0.2 +LIBNFCT_VERSION=1.1.0 +LIBCLI_VERSION=1.10.7 CRIO_VERSION=cri-o.arm64.v1.35.2 KUBE_VERSION=v1.35.3 diff --git a/docker/download-packages.Dockerfile b/docker/download-packages.Dockerfile index d423894..a56a2f0 100644 --- a/docker/download-packages.Dockerfile +++ b/docker/download-packages.Dockerfile @@ -70,6 +70,34 @@ WORKDIR /out/nxp/vpp RUN curl -fL --retry 3 -o "${VPP_VERSION}.tar.gz" \ "https://github.com/nxp-qoriq/vpp/archive/refs/tags/${VPP_VERSION}.tar.gz" +# ---- ASK ---- +FROM base AS mono_ask +ARG MONO_ASK_VERSION +WORKDIR /out/ask +RUN curl -fL --retry 3 -o "${MONO_ASK_VERSION}.tar.gz" \ + "https://github.com/we-are-mono/ASK/archive/refs/tags/${MONO_ASK_VERSION}.tar.gz" + +# ---- libhnfnetlink ---- +FROM base AS libhnfnetlink +ARG LIBNFNETLINK_VERSION +WORKDIR /out/ask/libhnfnetlink +RUN curl -fL --retry 3 -o "${LIBNFNETLINK_VERSION}.tar.bz2" \ + "https://www.netfilter.org/projects/libnfnetlink/files/libnfnetlink-${LIBNFNETLINK_VERSION}.tar.bz2" + +# ---- libhnfct ---- +FROM base AS libhnfct +ARG LIBNFCT_VERSION +WORKDIR /out/ask/libhnfct +RUN curl -fL --retry 3 -o "${LIBNFCT_VERSION}.tar.gz" \ + "https://www.netfilter.org/projects/libnetfilter_conntrack/files/libnetfilter_conntrack-${LIBNFCT_VERSION}.tar.xz" + +# ---- libcli ---- +FROM base AS libcli +ARG LIBCLI_VERSION +WORKDIR /out/ask/libcli +RUN curl -fL --retry 3 -o "${LIBCLI_VERSION}.tar.gz" \ + "https://github.com/dparrish/libcli/archive/refs/tags/V${LIBCLI_VERSION}.tar.gz" + # ---- alpine rootfs ---- FROM base AS alpine_rootfs ARG ALPINE_SERIES @@ -103,7 +131,11 @@ COPY --from=e2fsprogs /out/ / COPY --from=dpdk /out/ / COPY --from=fmlib /out/ / COPY --from=fmc /out/ / +COPY --from=mono_ask /out/ / COPY --from=vpp /out/ / +COPY --from=libhnfnetlink /out/ / +COPY --from=libhnfct /out/ / +COPY --from=libcli /out/ / COPY --from=alpine_rootfs /out/ / COPY --from=nxp_linux /out/ / COPY --from=crio /out/ / diff --git a/kernel-extra.config b/kernel-extra.config index d9d7f04..87398b2 100644 --- a/kernel-extra.config +++ b/kernel-extra.config @@ -93,7 +93,7 @@ CONFIG_NETFILTER_XTABLES=y # Linux 6.17+ gates legacy iptables/xtables support behind these options. # Without these, IP_NF_* / IP6_NF_* options may silently fall back to =m # or disappear after olddefconfig. -CONFIG_NETFILTER_XTABLES_LEGACY=y +# CONFIG_NETFILTER_XTABLES_LEGACY=y CONFIG_NF_CONNTRACK=y CONFIG_NF_NAT=y diff --git a/makefile b/makefile index 7c7187e..39fed13 100644 --- a/makefile +++ b/makefile @@ -17,6 +17,12 @@ VPP_TAR := $(PACKAGES_DIR)/nxp/vpp/$(VPP_VERSION).tar.gz DPDK_TAR := $(PACKAGES_DIR)/nxp/dpdk/$(DPDK_VERSION).tar.gz CRIO_TAR := $(PACKAGES_DIR)/$(CRIO_VERSION).tar.gz +# ASK-specific +MONO_ASK_TAR := $(PACKAGES_DIR)/ask/$(MONO_ASK_VERSION).tar.gz +LIBNFNETLINK_TAR := $(PACKAGES_DIR)/ask/libnfnetlink/libnfnetlink-$(LIBNFNETLINK_VERSION).tar.bz2 +LIBNFCT_TAR := $(PACKAGES_DIR)/ask/libnetfilter/libnetfilter_conntrack-$(LIBNFCT_VERSION).tar.xz +LIBCLI_TAR := $(PACKAGES_DIR)/ask/libcli/libcli-$(LIBCLI_VERSION).tar.gz + # Kubernetes components KUBELET_BIN := $(PACKAGES_DIR)/kubernetes/kubelet-$(KUBE_VERSION) KUBEADM_BIN := $(PACKAGES_DIR)/kubernetes/kubeadm-$(KUBE_VERSION) @@ -123,6 +129,10 @@ $(DOWNLOAD_PACKAGES_STAMP): docker/download-packages.Dockerfile build.env makefi --build-arg FMLIB_VERSION=$(FMLIB_VERSION) \ --build-arg FMC_VERSION=$(FMC_VERSION) \ --build-arg VPP_VERSION=$(VPP_VERSION) \ + --build-arg MONO_ASK_VERSION=$(MONO_ASK_VERSION) \ + --build-arg LIBNFNETLINK_VERSION=$(LIBNFNETLINK_VERSION) \ + --build-arg LIBNFCT_VERSION=$(LIBNFCT_VERSION) \ + --build-arg LIBCLI_VERSION=$(LIBCLI_VERSION) \ --build-arg ALPINE_SERIES=$(ALPINE_SERIES) \ --build-arg ALPINE_ARCH=$(ALPINE_ARCH) \ --build-arg ALPINE_VER=$(ALPINE_VER) \ @@ -339,5 +349,5 @@ pkgclean: rm -rf $(PACKAGES_DIR) .PHONY: release kernel initramfs itb build-base clitools clean distclean pkgclean \ - vpp \ + vpp ASK \ cluster-config cluster-defconfig cluster-print