From 80ad74f09b1bc5d30ad9de31c8c613d0ab39cd99 Mon Sep 17 00:00:00 2001 From: root <root@ffs-monitor.ipro.de> Date: Tue, 21 Feb 2017 22:59:40 +0100 Subject: [PATCH] removed mtu glue, added avoidance of duplicate IPv6 Node Address on changing segment. Prepared for additional info in DNS-Response. --- .../files/usr/sbin/ffs-set-segment | 61 ++++++++----------- 1 file changed, 26 insertions(+), 35 deletions(-) diff --git a/ffs-set-segment/files/usr/sbin/ffs-set-segment b/ffs-set-segment/files/usr/sbin/ffs-set-segment index baa3b20..b61aa60 100755 --- a/ffs-set-segment/files/usr/sbin/ffs-set-segment +++ b/ffs-set-segment/files/usr/sbin/ffs-set-segment @@ -1,28 +1,25 @@ #!/bin/sh -if [ $(ps | grep -c "{$(basename $0)}") -gt 4 ]; then - echo started twice - exit 1 +if [ $(ps | grep -c "{$(basename $0)}") -gt 4 ]; then + echo started twice + exit 1 fi - -if [ $(ps | grep -c "fastd") -lt 2 ]; then - echo fastd not running - exit 0 +if [ $(ps | grep -c "fastd") -lt 2 ]; then + echo fastd not running + exit 0 fi - if [ "$(uci get fastd.mesh_vpn_backbone.auto_segment)" = "0" ]; then - echo auto_segment disabled - exit 0 -fi + echo auto_segment disabled + exit 0 +fi -NODEID=`uci get network.bat0.macaddr | sed 's/://g'` -PUBKEY=`/etc/init.d/fastd show_key mesh_vpn | cut -c1-12` -SEGINFO=`nslookup ffs-$NODEID-$PUBKEY.segassign.freifunk-stuttgart.de [::1]:54 | tail -n1` +NODEID=$(uci get network.bat0.macaddr | sed 's/://g') +PUBKEY=$(/etc/init.d/fastd show_key mesh_vpn | cut -c1-12) +SEGINFO=$(nslookup ffs-$NODEID-$PUBKEY.segassign.freifunk-stuttgart.de [::1]:54 | tail -n1) if [ -z "$SEGINFO" ]; then - echo Node not known - exit 1 + echo Node not known + exit 1 fi SEGINFO=${SEGINFO/Address 1: 2001:2:0:711::/} -NEWMTU=$(echo $SEGINFO | cut -d':' -s -f1) SEGMENT=$(echo $SEGINFO | cut -d':' -f2) let PORT=SEGMENT+10040 @@ -30,27 +27,21 @@ SEGNUM=$(printf "%02d" $SEGMENT) CHANGED=0 for i in `seq 1 10`; do - GW=$(printf "gw%02d" $i) - OLDPEER=`uci get fastd.mesh_vpn_backbone_peer_$GW.remote` - NEWPEER="\"${GW}s$SEGNUM.freifunk-stuttgart.de\" port $PORT" + GW=$(printf "gw%02d" $i) + OLDPEER=$(uci get fastd.mesh_vpn_backbone_peer_$GW.remote) + NEWPEER="\"${GW}s$SEGNUM.freifunk-stuttgart.de\" port $PORT" - if [ "$NEWPEER" != "$OLDPEER" ]; then - uci set fastd.mesh_vpn_backbone_peer_$GW.remote="$NEWPEER" - CHANGED=1 - fi + if [ "$NEWPEER" != "$OLDPEER" ]; then + uci set fastd.mesh_vpn_backbone_peer_$GW.remote="$NEWPEER" + CHANGED=1 + fi done -if [ -n "$NEWMTU" ]; then - OLDMTU=`uci get fastd.mesh_vpn.mtu` - if [ "$NEWMTU" != "$OLDMTU" ]; then - uci set fastd.mesh_vpn.mtu="$NEWMTU" - CHANGED=1 - fi -fi - if [ "$CHANGED" = "1" ]; then - /etc/init.d/fastd restart - echo Set Segment: $SEGNUM, MTU: $NEWMTU + /sbin/ifdown client + /etc/init.d/fastd restart + /sbin/ifup client + echo Set Segment: $SEGNUM else - echo No changes + echo No changes fi -- GitLab