DF-0751 / build.sh
#!/bin/sh # DF-0751 build script. # Usage: # ./build.sh โ build the harness (default; unprivileged) # ./build.sh harness โ same # ./build.sh module โ build mpls.ko from /usr/src/sys/netproto/mpls (root) set -e MODE="${1:-harness}" case "$MODE" in harness) echo "[DF-0751] building harness (unprivileged)..." cc -O2 -o mpls_loop_harness mpls_loop_harness.c echo "[DF-0751] built: mpls_loop_harness" ;; module) echo "[DF-0751] building mpls.ko module (requires root + /usr/src)..." # Makefile must be in the source tree; copy it if missing [ -f /usr/src/sys/netproto/mpls/Makefile ] || \ cp Makefile /usr/src/sys/netproto/mpls/Makefile cd /usr/src/sys/netproto/mpls make obj make echo "[DF-0751] built: $(ls -l mpls.ko /usr/obj/usr/src/sys/netproto/mpls/mpls.ko 2>/dev/null)" ;; trigger) echo "[DF-0751] building live trigger (requires root for /dev/bpf at runtime)..." cc -O2 -o mpls_trigger mpls_trigger.c echo "[DF-0751] built: mpls_trigger" ;; *) echo "usage: $0 [harness|module|trigger]" >&2 exit 64 ;; esac |