diff options
Diffstat (limited to '')
-rwxr-xr-x | bin/ikeif | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/bin/ikeif b/bin/ikeif new file mode 100755 index 0000000..853c659 --- /dev/null +++ b/bin/ikeif @@ -0,0 +1,17 @@ +#!/usr/bin/sudo /bin/sh + +for x in 1 3; do + if ! ip link show dummy$x >/dev/null 2>&1; then + ip link add dummy$x type dummy && ip link set dummy$x up + fi + SUBNET=$(sudo ikectl show sa | grep -Poh "10.0.$x.\d+/32" | sort -u | sed -e 's@/32@/24@g') + CURR=$(ip addr show dev dummy$x label dummy$x:ikeif | grep -Po 'inet \K[\d./]+') + if test "x${SUBNET}" != "x${CURR}"; then + ip addr add ${SUBNET} label dummy$x:ikeif dev dummy$x + if test "x${CURR}" != "x"; then + ip addr del "${CURR}" dev dummy$x + fi + fi +done + +#vim: set ft=sh: |