#!/bin/bash open_nodes=( ) block_nodes=( ) # inverse neighbor list for specific node for i in $ALLNODES; do found=0 for j in ${neighbors[$nodename]}; do if [[ $i == $j ]]; then # echo "i: $i --- j: $j" found=1 break fi done if [[ $found -eq 0 ]]; then block_nodes+=("$i") else open_nodes+=("$i") fi done # block nodes from inverse list for i in "${block_nodes[@]}"; do if [[ "$phy_number" -eq 0 ]]; then echo "Blocking ${phy0MAC[$i]}" iw dev ${DEVNAME} station set ${phy0MAC[$i]} plink_action block fi if [[ "$phy_number" -eq 1 ]]; then echo "Blocking ${phy1MAC[$i]}" iw dev ${DEVNAME} station set ${phy1MAC[$i]} plink_action block fi done # open nodes from neighbor list for i in "${open_nodes[@]}"; do if [[ "$phy_number" -eq 0 ]]; then echo "Opening ${phy0MAC[$i]}" iw dev ${DEVNAME} station set ${phy0MAC[$i]} plink_action open fi if [[ "$phy_number" -eq 1 ]]; then echo "Opening ${phy1MAC[$i]}" iw dev ${DEVNAME} station set ${phy1MAC[$i]} plink_action open fi done