summaryrefslogtreecommitdiff
path: root/meta-google/recipes-google/nftables/files/nft-configure.sh
diff options
context:
space:
mode:
Diffstat (limited to 'meta-google/recipes-google/nftables/files/nft-configure.sh')
-rw-r--r--meta-google/recipes-google/nftables/files/nft-configure.sh16
1 files changed, 16 insertions, 0 deletions
diff --git a/meta-google/recipes-google/nftables/files/nft-configure.sh b/meta-google/recipes-google/nftables/files/nft-configure.sh
new file mode 100644
index 000000000..a82c2826f
--- /dev/null
+++ b/meta-google/recipes-google/nftables/files/nft-configure.sh
@@ -0,0 +1,16 @@
+#!/bin/bash
+shopt -s nullglob
+declare -A basemap=()
+i=0
+for dir in /run/nftables /etc/nftables /usr/share/nftables; do
+ for file in "$dir"/*.rules; do
+ basemap["${file##*/}$i"]="$file"
+ done
+ let i+=1
+done
+rc=0
+for key in $(printf "%s\n" "${!basemap[@]}" | sort -r); do
+ echo "Executing ${basemap[$key]}" >&2
+ nft -f "${basemap[$key]}" || rc=$?
+done
+exit $rc