From 18ccfaf4d71ddf462138c51fab25f497db044bf8 Mon Sep 17 00:00:00 2001 From: "M. Mert Yildiran" Date: Tue, 14 Jun 2022 13:16:31 +0300 Subject: [PATCH] Add `BPF_TARGET` environment variable --- Dockerfile | 15 +++++++++------ tap/tlstapper/tls_tapper.go | 2 +- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/Dockerfile b/Dockerfile index 419221ccc..fa6a03849 100644 --- a/Dockerfile +++ b/Dockerfile @@ -44,27 +44,27 @@ RUN ./install-capstone.sh ### Intermediate builder image for x86-64 to x86-64 native builds FROM builder-native-base AS builder-from-amd64-to-amd64 ENV GOARCH=amd64 -ENV BPF_CFLAGS="-O2 -g -D__TARGET_ARCH_x86" +ENV BPF_TARGET=amd64 BPF_CFLAGS="-O2 -g -D__TARGET_ARCH_x86" ### Intermediate builder image for AArch64 to AArch64 native builds FROM builder-native-base AS builder-from-arm64v8-to-arm64v8 ENV GOARCH=arm64 -ENV BPF_CFLAGS="-O2 -g -D__TARGET_ARCH_arm64" +ENV BPF_TARGET=arm64 BPF_CFLAGS="-O2 -g -D__TARGET_ARCH_arm64" ### Builder image for x86-64 to AArch64 cross-compilation FROM up9inc/linux-arm64-musl-go-libpcap-capstone-bpf AS builder-from-amd64-to-arm64v8 ENV CGO_ENABLED=1 GOOS=linux ENV GOARCH=arm64 CGO_CFLAGS="-I/work/libpcap -I/work/capstone/include" -ENV BPF_CFLAGS="-O2 -g -D__TARGET_ARCH_arm64 -I/usr/xcc/aarch64-linux-musl-cross/aarch64-linux-musl/include/" +ENV BPF_TARGET=arm64 BPF_CFLAGS="-O2 -g -D__TARGET_ARCH_arm64 -I/usr/xcc/aarch64-linux-musl-cross/aarch64-linux-musl/include/" ### Builder image for AArch64 to x86-64 cross-compilation FROM up9inc/linux-x86_64-musl-go-libpcap-capstone-bpf AS builder-from-arm64v8-to-amd64 ENV CGO_ENABLED=1 GOOS=linux ENV GOARCH=amd64 CGO_CFLAGS="-I/libpcap -I/capstone/include" -ENV BPF_CFLAGS="-O2 -g -D__TARGET_ARCH_x86 -I/usr/local/musl/x86_64-unknown-linux-musl/include/" +ENV BPF_TARGET=amd64 BPF_CFLAGS="-O2 -g -D__TARGET_ARCH_x86 -I/usr/local/musl/x86_64-unknown-linux-musl/include/" ### Final builder image where the build happens @@ -103,9 +103,12 @@ ARG GIT_BRANCH ARG BUILD_TIMESTAMP ARG VER=0.0 -WORKDIR /app/agent-build +WORKDIR /app/tap/tlstapper -RUN GOARCH=${BUILDARCH} go generate ../tap/tlstapper/tls_tapper.go +RUN rm tlstapper_bpf* +RUN GOARCH=${BUILDARCH} go generate tls_tapper.go + +WORKDIR /app/agent-build RUN go build -ldflags="-extldflags=-static -s -w \ -X 'github.com/up9inc/mizu/agent/pkg/version.GitCommitHash=${COMMIT_HASH}' \ diff --git a/tap/tlstapper/tls_tapper.go b/tap/tlstapper/tls_tapper.go index 8c7b0bc67..70ca21ffa 100644 --- a/tap/tlstapper/tls_tapper.go +++ b/tap/tlstapper/tls_tapper.go @@ -12,7 +12,7 @@ import ( const GLOABL_TAP_PID = 0 -//go:generate go run github.com/cilium/ebpf/cmd/bpf2go@0d0727ef53e2f53b1731c73f4c61e0f58693083a -cflags $BPF_CFLAGS -type tls_chunk tlsTapper bpf/tls_tapper.c +//go:generate go run github.com/cilium/ebpf/cmd/bpf2go@0d0727ef53e2f53b1731c73f4c61e0f58693083a -target $BPF_TARGET -cflags $BPF_CFLAGS -type tls_chunk tlsTapper bpf/tls_tapper.c type TlsTapper struct { bpfObjects tlsTapperObjects