#!/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