diff --git a/lf_wifi_fire.bash b/lf_wifi_fire.bash index 3e5b40ae..9d5a6a76 100755 --- a/lf_wifi_fire.bash +++ b/lf_wifi_fire.bash @@ -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