aboutsummaryrefslogtreecommitdiff
path: root/misc/openwrt/root/bin/setup-routing.sh
diff options
context:
space:
mode:
Diffstat (limited to 'misc/openwrt/root/bin/setup-routing.sh')
-rw-r--r--misc/openwrt/root/bin/setup-routing.sh53
1 files changed, 53 insertions, 0 deletions
diff --git a/misc/openwrt/root/bin/setup-routing.sh b/misc/openwrt/root/bin/setup-routing.sh
new file mode 100644
index 0000000..b384541
--- /dev/null
+++ b/misc/openwrt/root/bin/setup-routing.sh
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+list_ipset() {
+ skip=1
+ while read -r line; do
+ if [ "$line" = "Members:" ]; then skip=0; continue; fi;
+ [ "$skip" = "1" ] && continue
+ echo "$line"
+ done
+}
+
+case "$1" in
+ dhcp-leases)
+ cat /tmp/dhcp.leases
+ ;;
+
+ ipset-add)
+ addr="$3"
+ addr="${addr/_/\/}"
+ ipset add "$2" "$addr"
+ ;;
+
+ ipset-del)
+ addr="$3"
+ addr="${addr/_/\/}"s
+ ipset del "$2" "$addr"
+ ;;
+
+# ipset_list)
+# ipset list "$2" | list_ipset
+# ;;
+
+ ipset-list-all)
+ shift
+ while [ -n "$1" ]; do
+ echo ">$1"
+ skip=1
+ ipset list "$1" | list_ipset
+ shift
+ done
+ ;;
+
+# rule-show)
+# ;;
+#
+# route-show)
+# ;;
+
+ *)
+ 2>&1 echo "error: invalid command"
+ exit 1
+ ;;
+esac \ No newline at end of file