Updating lf_wifi_fire.bash. Adds passphrase support for encryption. Fixed issue where previously created connections were not being deleted.

This commit is contained in:
Brent Lovelace
2018-11-30 11:47:50 -08:00
parent 407d5598db
commit 6a0e3215cf

View File

@@ -9,7 +9,8 @@
# -r Resource IP or hostname.
# -n Number of stations to create.
# -p Number of packets to send.
# -e Encryption type.
# -e Encryption type: open|wep|wpa|wpa2.
# -P Passphrase for when AP is encrypted.
# -w Which radio to use i.e wiphy0 wiphy1 etc.
# -s SSID for stations.
# -A Transmit rate for non station side (Endpoint A) of connection.
@@ -17,7 +18,7 @@
# -h Help information.
# Example usage:
# ./examples.bash -m lf0350-1234 -r 1 -n 40 -p 10000 -a eth1 -e open -w wiphy0 -s test-SSID -A 56000 -B 2000000
# ./lf_wifi_fire.bash -m lf0350-1234 -r 1 -w wiphy0 -n 40 -s test-SSID -e wpa2 -P hello123 -a eth1 -A 56000 -B 2000000 -p 10000
# Station will always be endpoint B so only the name for endpoint A port is needed.
@@ -31,11 +32,17 @@ resource=1
num_stas=40
num_packets=Infinite
encryption=open
passphrase=''
rate_A=1000000
rate_B=1000000
#other variables
first_sta=100
flag_radio=false
flag_ssid=false
flag_port=false
show_help="This script is an attempt to simplify the creation of stations and connections for said stations.
One UDP connection will be created for each station.
The number of stations, station SSID, encryption type, number of packets to send, and transmit rates
@@ -45,7 +52,8 @@ Required values are SSID, radio, and endpoint A port.
-r Resource IP or hostname.
-n Number of stations to create.
-p Number of packets to send.
-e Encryption type.
-e Encryption type: open|wep|wpa|wpa2.
-P Passphrase for when AP is encrypted.
-w Which radio to use i.e wiphy0 wiphy1 etc.
-s SSID for stations.
-A Transmit rate for non station side (Endpoint A) of connection.
@@ -53,11 +61,11 @@ Required values are SSID, radio, and endpoint A port.
-h Help information.
Example usage:
./examples.bash -m lf0350-1234 -r 1 -n 40 -p 10000 -a eth1 -e open -w wiphy0 -s test-SSID -A 56000 -B 2000000
./lf_wifi_fire.bash -m lf0350-1234 -r 1 -w wiphy0 -n 40 -s test-SSID -e wpa2 -P hello123 -a eth1 -A 56000 -B 2000000 -p 10000
Station will always be endpoint B so only the name for endpoint A port is needed."
while getopts 'm:r:n:p:a:e:w:s:A:B:h' OPTION; do
while getopts 'm:r:n:p:a:e:P:w:s:A:B:h' OPTION; do
case "$OPTION" in
m)
#manager
@@ -84,6 +92,10 @@ while getopts 'm:r:n:p:a:e:w:s:A:B:h' OPTION; do
#encryption
encryption="$OPTARG"
;;
P)
#encryption passphrase
passphrase="$OPTARG"
;;
w)
#radio
flag_radio=true
@@ -120,8 +132,6 @@ fi
. $HOME/lanforge.profile
first_sta=100
last_sta=$((first_sta + num_stas - 1))
./lf_associate_ap.pl --mgr $mgr --resource $resource --action del_all_phy --port_del $radio
@@ -131,18 +141,10 @@ last_sta=$((first_sta + num_stas - 1))
sleep 2
./lf_associate_ap.pl --mgr $mgr --resource $resource \
--ssid $ssid --security $encryption \
--num_stations $num_stas --first_sta sta100 \
--ssid $ssid --security $encryption --passphrase $passphrase \
--num_stations $num_stas --first_sta "sta$first_sta" \
--first_ip DHCP --radio $radio --action add
function del_cx(){
local cx=$1
./lf_firemod.pl --mgr $mgr --resource $resource --action delete_cx --cx_name $cx
./lf_firemod.pl --mgr $mgr --resource $resource --action delete_endp --endp_name "$cx-A"
./lf_firemod.pl --mgr $mgr --resource $resource --action delete_endp --endp_name "$cx-B"
}
function new_cx(){
local cx=$1
local portA=$2
@@ -165,14 +167,21 @@ function new_cx(){
--cmd "set_endp_details $cx-B NA NA NA $num_packets" &>/dev/null
}
for i in `seq $first_sta $last_sta`; do
del_cx bg$i
done
# Delete all connections and endpoints that have 'bg' in the name
cx_array=( `./lf_firemod.pl --mgr $mgr --resource $resource --action list_cx | awk '/bg/ { print $ 2 }' | sed 's/,$//'` )
for i in "${cx_array[@]}"
do
:
./lf_firemod.pl --mgr $mgr --resource $resource --action delete_cx --cx_name $i
./lf_firemod.pl --mgr $mgr --resource $resource --action delete_endp --endp_name "$i-A"
./lf_firemod.pl --mgr $mgr --resource $resource --action delete_endp --endp_name "$i-B"
done
./lf_firemod.pl --mgr $mgr --resource $resource --quiet yes --action do_cmd --cmd 'nc_show_endpoints all' &>/dev/null
sleep 5
last_sta=$((first_sta + num_stas - 1))
for i in `seq $first_sta $last_sta`; do
new_cx bg$i $port_A sta$i
done