mirror of
https://github.com/Telecominfraproject/wlan-lanforge-scripts.git
synced 2025-10-28 17:32:35 +00:00
68 lines
1.4 KiB
Bash
Executable File
68 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
usage="$0 <manager> <group-name> <endp-name-prefix>"
|
|
if [[ x$1 = x ]]; then
|
|
echo "Please provide lanforge manager hostname or ip"
|
|
echo $usage
|
|
exit 1
|
|
fi
|
|
if [[ x$2 = x ]]; then
|
|
echo "Please provide a group name"
|
|
echo $usage
|
|
exit 1
|
|
fi
|
|
if [[ x$3 = x ]]; then
|
|
echo "Please provide an endpoint name prefix"
|
|
echo $usage
|
|
exit 1
|
|
fi
|
|
|
|
# query for endpoints maching prefix
|
|
if [ -f /tmp/endp.$$ ]; then
|
|
rm -f /tmp/endp.$$
|
|
fi
|
|
|
|
./lf_firemod.pl --mgr $1 --quiet yes --action list_endp > /tmp/endp.$$
|
|
lines=`wc -l < /tmp/endp.$$`
|
|
if [ $lines -lt 1 ]; then
|
|
echo "Unable to see any endpoints"
|
|
exit 1
|
|
fi
|
|
|
|
declare -A names
|
|
while read line; do
|
|
hunks=($line)
|
|
endp="${hunks[1]}"
|
|
endp=${endp/]/}
|
|
endp=${endp/[/}
|
|
if [[ $endp = D_* ]]; then
|
|
continue
|
|
fi
|
|
|
|
# if name lacks a -A/B ending, it is prolly generic and the cx begins with CX_
|
|
if [[ $endp = *-A ]] || [[ $endp = *-B ]]; then
|
|
cxname=${endp%-A}
|
|
cxname=${cxname%-B}
|
|
else
|
|
cxname="CX_${endp}"
|
|
fi
|
|
if [[ $cxname = $3* ]] || [[ $cxname = CX_$3* ]]; then
|
|
names[$cxname]=1
|
|
fi
|
|
done < /tmp/endp.$$
|
|
|
|
if [ ${#names[@]} -lt 1 ]; then
|
|
echo "No connections start with $3"
|
|
exit 1
|
|
fi
|
|
|
|
echo "Creating group $2"
|
|
./lf_firemod.pl --mgr $1 --quiet 1 --cmd "add_group '$2'"
|
|
|
|
|
|
for n in ${!names[@]}; do
|
|
echo "adding connection $n to '$2'"
|
|
./lf_firemod.pl --mgr $1 --quiet 1 --cmd "add_tgcx '$2' '$n'"
|
|
done
|
|
|
|
|