diff --git a/ffs-set-segment/files/etc/init.d/ffs-set-segment b/ffs-set-segment/files/etc/init.d/ffs-set-segment index 15dfcf08112d1e83fb388debdfeeed47773a241e..8197714b07e5c83d03b8ed18a7b204a938e35888 100755 --- a/ffs-set-segment/files/etc/init.d/ffs-set-segment +++ b/ffs-set-segment/files/etc/init.d/ffs-set-segment @@ -8,6 +8,7 @@ start () { /etc/init.d/fastd restart fi + rm /tmp/.seg.ffs /etc/init.d/micrond enable /etc/init.d/micrond restart } diff --git a/ffs-set-segment/files/usr/sbin/ffs-set-segment b/ffs-set-segment/files/usr/sbin/ffs-set-segment index 6435ab0a59a8585027d73d14eac13c384c3dc635..00c2988aa9ae8600790386bb6e17360bcf9cef25 100755 --- a/ffs-set-segment/files/usr/sbin/ffs-set-segment +++ b/ffs-set-segment/files/usr/sbin/ffs-set-segment @@ -1,4 +1,6 @@ #!/bin/sh +SEGSET=/tmp/.seg.ffs + ME=$(basename $0) if [ $(ps | grep -c "$ME") -gt 4 ]; then logger -s -t $ME "started twice" @@ -23,12 +25,18 @@ BATSEG=$(batctl gwl | grep '02:00:3' | tail -1 | sed 's/:0/:/g' | cut -d':' -f4) GITSEG=$(nslookup ffs-${NODEID}-${PUBKEY}.segassign.freifunk-stuttgart.de ::1#54 | grep "2001:2:0:711::" | cut -d':' -f7) if [ -z "$GITSEG" ]; then - logger -t $ME "Node not registered" - GITSEG=99 + if [ -f $SEGSET ]; then + GITSEG=$(cat $SEGSET) + logger -t $ME "Node is in Segment: $GITSEG" + else + logger -t $ME "Node not registered" + GITSEG=99 + fi else if [ -n "$BATSEG" ] && [ "$BATSEG" != "$GITSEG" ]; then logger -t $ME "Avoiding Shortcut" GITSEG=99 + rm $SEGSET fi fi @@ -51,6 +59,7 @@ if [ "$CHANGED" = "1" ]; then /sbin/ifdown client /etc/init.d/fastd restart /sbin/ifup client + echo $GITSEG >$SEGSET logger -t $ME "Set Segment: $GITSEG" else logger -t $ME "No changes"