Skip to content
Snippets Groups Projects
Commit 80ad74f0 authored by root's avatar root
Browse files

removed mtu glue, added avoidance of duplicate IPv6 Node Address on changing...

removed mtu glue, added avoidance of duplicate IPv6 Node Address on changing segment. Prepared for additional info in DNS-Response.
parent ba16b8bd
No related branches found
No related tags found
No related merge requests found
#!/bin/sh #!/bin/sh
if [ $(ps | grep -c "{$(basename $0)}") -gt 4 ]; then if [ $(ps | grep -c "{$(basename $0)}") -gt 4 ]; then
echo started twice echo started twice
exit 1 exit 1
fi fi
if [ $(ps | grep -c "fastd") -lt 2 ]; then
if [ $(ps | grep -c "fastd") -lt 2 ]; then echo fastd not running
echo fastd not running exit 0
exit 0
fi fi
if [ "$(uci get fastd.mesh_vpn_backbone.auto_segment)" = "0" ]; then if [ "$(uci get fastd.mesh_vpn_backbone.auto_segment)" = "0" ]; then
echo auto_segment disabled echo auto_segment disabled
exit 0 exit 0
fi fi
NODEID=`uci get network.bat0.macaddr | sed 's/://g'` NODEID=$(uci get network.bat0.macaddr | sed 's/://g')
PUBKEY=`/etc/init.d/fastd show_key mesh_vpn | cut -c1-12` 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` SEGINFO=$(nslookup ffs-$NODEID-$PUBKEY.segassign.freifunk-stuttgart.de [::1]:54 | tail -n1)
if [ -z "$SEGINFO" ]; then if [ -z "$SEGINFO" ]; then
echo Node not known echo Node not known
exit 1 exit 1
fi fi
SEGINFO=${SEGINFO/Address 1: 2001:2:0:711::/} SEGINFO=${SEGINFO/Address 1: 2001:2:0:711::/}
NEWMTU=$(echo $SEGINFO | cut -d':' -s -f1)
SEGMENT=$(echo $SEGINFO | cut -d':' -f2) SEGMENT=$(echo $SEGINFO | cut -d':' -f2)
let PORT=SEGMENT+10040 let PORT=SEGMENT+10040
...@@ -30,27 +27,21 @@ SEGNUM=$(printf "%02d" $SEGMENT) ...@@ -30,27 +27,21 @@ SEGNUM=$(printf "%02d" $SEGMENT)
CHANGED=0 CHANGED=0
for i in `seq 1 10`; for i in `seq 1 10`;
do do
GW=$(printf "gw%02d" $i) GW=$(printf "gw%02d" $i)
OLDPEER=`uci get fastd.mesh_vpn_backbone_peer_$GW.remote` OLDPEER=$(uci get fastd.mesh_vpn_backbone_peer_$GW.remote)
NEWPEER="\"${GW}s$SEGNUM.freifunk-stuttgart.de\" port $PORT" NEWPEER="\"${GW}s$SEGNUM.freifunk-stuttgart.de\" port $PORT"
if [ "$NEWPEER" != "$OLDPEER" ]; then if [ "$NEWPEER" != "$OLDPEER" ]; then
uci set fastd.mesh_vpn_backbone_peer_$GW.remote="$NEWPEER" uci set fastd.mesh_vpn_backbone_peer_$GW.remote="$NEWPEER"
CHANGED=1 CHANGED=1
fi fi
done 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 if [ "$CHANGED" = "1" ]; then
/etc/init.d/fastd restart /sbin/ifdown client
echo Set Segment: $SEGNUM, MTU: $NEWMTU /etc/init.d/fastd restart
/sbin/ifup client
echo Set Segment: $SEGNUM
else else
echo No changes echo No changes
fi fi
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment