mirror of
				https://github.com/Telecominfraproject/wlan-lanforge-scripts.git
				synced 2025-10-30 18:27:53 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			253 lines
		
	
	
		
			9.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			253 lines
		
	
	
		
			9.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash
 | |
| set -e
 | |
| unset proxy
 | |
| unset http_proxy
 | |
| Q='"'
 | |
| q="'"
 | |
| S='*'
 | |
| application_json="application/json"
 | |
| accept_json="Accept: $application_json"
 | |
| accept_html='Accept: text/html'
 | |
| accept_text='Accept: text/plain'
 | |
| #accept_any="'Accept: */*'" # just dont use
 | |
| content_plain='Content-Type: text/plain'
 | |
| content_json="Content-Type: $application_json"
 | |
| switches='-sqv'
 | |
| function Kurl() {
 | |
|    echo =======================================================================================
 | |
|    echo curl $switches $@
 | |
|    echo =======================================================================================
 | |
|    #set -x
 | |
|    curl $switches "$@"
 | |
|    #set +x
 | |
|    echo ""
 | |
|    echo =======================================================================================
 | |
| }
 | |
| function Jurl() {
 | |
|    echo =J=====================================================================================
 | |
|    echo curl $switches -H "$accept_json" -H "$content_json" "$@"
 | |
|    echo =J=====================================================================================
 | |
|    set -x
 | |
|    curl $switches -H "$accept_json" -H "$content_json" "$@"
 | |
|    set +x
 | |
|    echo ""
 | |
|    echo =J=====================================================================================
 | |
| }
 | |
| 
 | |
| url="http://localhost:8080"
 | |
| 
 | |
| if true; then
 | |
|    #echo 'shelf=1&resource=3&port=sta3000&mac=xx:xx:xx:xx:xx:*' > /tmp/curl_data
 | |
|    echo '{"shelf":1,"resource":1,"port":"eth3","current_flags":1, "interest":2}' > /tmp/curl_data
 | |
|    Jurl -X POST -d '@/tmp/curl_data' "http://localhost:8080/cli-json/set_port"
 | |
| fi
 | |
| 
 | |
| 
 | |
| 
 | |
| exit
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| if false; then
 | |
|    Kurl $acept_json $url/resource/1/list
 | |
|    echo 'shelf=1&resource=3&port=sta3000&mac=xx:xx:xx:xx:xx:*' > /tmp/curl_data
 | |
|    curl -sqv -H 'Accept: application/json' -X POST -d '@/tmp/curl_data' http://localhost:8080/cli-form/set_port
 | |
| 
 | |
|    url="http://localhost:8080/cli"
 | |
|    echo 'cmd=scan_wifi+1+3+sta30000' > /tmp/curl_data
 | |
|    Kurl  -X POST -d '@/tmp/curl_data' -H "$accept_json"  "$url"
 | |
| 
 | |
| # this is not supported
 | |
| #   url="http://localhost:8080/cli/scan_wifi"
 | |
| #   echo '1+3+sta30000' > /tmp/curl_data
 | |
| #   Kurl  -X POST -d '@/tmp/curl_data' -H "$accept_json"  "$url"
 | |
| 
 | |
| 
 | |
|    #Kurl -X GET "$url/help/set_wifi_radio?cli=1%203%20wiphy1%20NA%20-1%20NA%20NA%20NA%20NA%20NA%20NA%20NA%20NA%200x1%20NA"
 | |
|    #CMD: set_wifi_radio 1 3 wiphy1 NA -1 NA NA NA NA NA NA NA NA 0x1 NA
 | |
|    echo "shelf=1&resource=3&radio=wiphy1&channel=-1&antenna=3x3&flags=0x10" > /tmp/curl_data
 | |
|    Kurl -H "$accept_json" -X POST -d "@/tmp/curl_data" "$url/cli-form/set_wifi_radio"
 | |
| 
 | |
|    #CMD: add_sta 1 3 wiphy1 sta3000 0 idtest-1000-open NA [BLANK] AUTO NA 00:0e:8e:98:64:45 8 NA NA NA NA NA 0
 | |
|    echo "shelf=1&resource=3&radio=wiphy1&sta_name=sta3000&flags=0&ssid=idtest-1000-open&key=[BLANK]&ap=AUTO&mac=00:0e:8e:98:64:45&mode=8&flags_mask=0" > /tmp/curl_data
 | |
|    Kurl -H "$accept_json" -X POST -d "@/tmp/curl_data" "$url/cli-form/add_sta"
 | |
| 
 | |
|    #CMD: set_port 1 3 sta3000 0.0.0.0 255.255.0.0 0.0.0.0 NA 2147483648 00:0e:8e:98:64:45 NA NA NA 8405038 1000 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NONE
 | |
|    echo 'shelf=&resource=1&port=3&ip_addr=sta3000&netmask=0.0.0.0&gateway=255.255.0.0&cmd_flags=0.0.0.0&mac=2147483648&mtu=00:0e:8e:98:64:45&report_timer=8405038&flags2=1000&ipv6_dflt_gw=N&bypass_wdt=A' > /tmp/curl_data
 | |
|    Kurl -H "$accept_json" -X POST -d "@/tmp/curl_data" "$url/cli-form/set_port"
 | |
|    echo -n "shelf=1&resource=3&radio=wiphy1&mode=NA&channel=-1&country=NA&frequency=NA&frag_thresh=NA" > /tmp/curl_data
 | |
|    echo -n "&rate=NA&rts=NA&txpower=NA&mac=NA&antenna=NA&flags=1&flags_mask=1&const_tx=NA" >> /tmp/curl_data
 | |
|    echo -n "&pulse_width=NA&pulse_interval=NA&vdev_count=NA&peer_count=NA&stations_count=NA" >> /tmp/curl_data
 | |
|    echo -n "&rate_ctrl_count=NA&fwname=NA&fwver=NA&txdesc_count=NA&tids_count=NA&skid_limit=NA" >> /tmp/curl_data
 | |
|    echo -n "&active_peer_count=NA&tx_pulses=NA&pulse2_interval_us=NA&max_amsdu=NA&pref_ap=NA" >> /tmp/curl_data
 | |
|    Kurl -X GET -d "@/tmp/curl_data"  $url/help/set_wifi_radio
 | |
| 
 | |
|    echo -n "http://cholla:8080/help/set_wifi_radio?"
 | |
|    echo -n "shelf=1&resource=3&radio=wiphy1&mac=02:04:05:06:07:11&flags=1&flags_mask=1"
 | |
| 
 | |
| # -1=auto or -1=ANY
 | |
| #CMD: set_wifi_radio 1 3 wiphy1 NA -1 NA NA NA NA NA NA NA NA 0x1 NA
 | |
|    echo -n "shelf=1&resource=3&radio=NA&mode=NA&channel=NA&country=NA&frequency=NA&frag_thresh=NA" > /tmp/curl_data
 | |
|    echo -n "&rate=NA&rts=NA&txpower=NA&mac=NA&antenna=NA&flags=NA&flags_mask=NA&const_tx=NA" >> /tmp/curl_data
 | |
|    echo -n "&pulse_width=NA&pulse_interval=NA&vdev_count=NA&peer_count=NA&stations_count=NA" >> /tmp/curl_data
 | |
|    echo -n "&rate_ctrl_count=NA&fwname=NA&fwver=NA&txdesc_count=NA&tids_count=NA&skid_limit=NA" >> /tmp/curl_data
 | |
|    echo -n "&active_peer_count=NA&tx_pulses=NA&pulse2_interval_us=NA&max_amsdu=NA&pref_ap=NA" >> /tmp/curl_data
 | |
|    url="http://localhost:8080/cli-form/set_wifi_radio"
 | |
|    Kurl -X POST -d "@/tmp/curl_data" $url
 | |
| #CMD: add_sta 1 3 wiphy1 sta3000 0 idtest-1000-open NA [BLANK] AUTO NA 00:0e:8e:98:64:45 8 NA NA NA NA NA 0 
 | |
| #CMD: set_port 1 3 sta3000 0.0.0.0 255.255.0.0 0.0.0.0 NA 2147483648 00:0e:8e:98:64:45 NA NA NA 8405038 1000 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NONE 
 | |
| 
 | |
|    # help demo
 | |
|    url="http://localhost:8080/cli-form/add_vsta"
 | |
|    Kurl  -X POST -d 'help=1' -H "$accept_json"  "$url"
 | |
|    Kurl  -X POST -d 'help=?' -H "$accept_json"  "$url"
 | |
|    Kurl  -X POST -d 'help=%63' -H "$accept_json"  "$url"
 | |
|    #$::resource, $::sta_wiphy, $sta_name, "$flags", "$::ssid", "$::passphrase", $mac_addr, "$flagsmask", $wifi_m, $::bssid);
 | |
|    url="http://localhost:8080/cli-form/add_vsta"
 | |
|    echo 'shelf=1&resource=3&sta_wiphy=&sta_name=&flags=&ssid=&passphrase=&flagsmask=&wifi_m=&bssid=' > /tmp/curl_data
 | |
|    Kurl  -X POST -d '@/tmp/curl_data' -H "$accept_json"  "$url"
 | |
| 
 | |
|    url="http://localhost:8080/cli-form/add_sta"
 | |
|    echo 'shelf=1&resource=3&sta_wiphy=&sta_name=&flags=&ssid=&passphrase=&flagsmask=&wifi_m=&bssid=' > /tmp/curl_data
 | |
|    Kurl  -X POST -d '@/tmp/curl_data' -H "$accept_json"  "$url"
 | |
| 
 | |
|    #fmt_port_cmd($resource, $sta_name, $ip_addr, $mac_addr);
 | |
|    url="http://localhost:8080/cli-form/set_port"
 | |
|    echo 'shelf=1&resource=3&port=&ip_addr=&mac=' > /tmp/curl_data
 | |
|    Kurl  -X POST -d '@/tmp/curl_data' -H "$accept_json"  "$url"
 | |
| 
 | |
|    #if ($::admin_down_on_add) {
 | |
|    #  my $cur_flags = 0x1; # port down
 | |
|    #  my $ist_flags = 0x800000; # port down
 | |
|    #  $sta1_cmd = fmt_cmd("set_port", 1, $resource, $sta_name, "NA",
 | |
|    #                      "NA", "NA", "NA", "$cur_flags",
 | |
|    #                      "NA", "NA", "NA", "NA", "$ist_flags");
 | |
|    #  3doCmd($sta1_cmd);
 | |
|    #}
 | |
| 
 | |
|    echo 'cmd=set_port_alias&shelf=1&resource=2&port=sta333&vport=NA&alias=bob33' > /tmp/curl_data
 | |
|    Kurl -X POST --data "@/tmp/curl_data" -H "$accept_json"  -H "$content_plain" "$url"
 | |
|    sleep 5
 | |
|    echo 'cmd=set_port_alias&shelf=1&resource=2&port=sta333&vport=NA&alias=bob33' > /tmp/curl_data
 | |
|    Kurl  -X POST --data "@/tmp/curl_data" -H "$accept_json"  -H "$content_json" "$url"
 | |
| 
 | |
|    echo 'shelf=1&resource=3&port=12&vport=NA&alias-64=Ym9iMzMK' > /tmp/curl_data
 | |
|    Kurl  -X POST --data "@/tmp/curl_data" -H "$accept_json"  "$url"
 | |
| 
 | |
|    echo 'shelf=1&resource=3&port=12&vport=NA&alias=bob+33' > /tmp/curl_data
 | |
|    Kurl  -X POST --data "@/tmp/curl_data" -H "$accept_json"  "$url"
 | |
| 
 | |
|    url="http://localhost:8080/cli-form/"
 | |
|    Kurl  -X POST -d 'cmd=gossip&message=hi+there' -H "$accept_json"  "$url"
 | |
| 
 | |
|    url="http://localhost:8080/cli-form/scan_wifi"
 | |
|    echo 'shelf=1&resource=3&port=sta30000' > /tmp/curl_data
 | |
|    Kurl  -X POST -d '@/tmp/curl_data' -H "$accept_json"  "$url"
 | |
| 
 | |
|    # the protocol command can only send back errors
 | |
|    # udp--2.b2000-03.sta30000
 | |
|    #url="http://localhost:8080/cli-form/getMAC"
 | |
|    #echo 'CX=udp--2.b2000-03.sta30000&AorB=A' > /tmp/curl_data
 | |
|    #Kurl  -X POST --data "@/tmp/curl_data" -H "$accept_json"  "$url"
 | |
| 
 | |
| fi
 | |
| 
 | |
| echo ""
 | |
| echo "END"
 | |
| 
 | |
| exit
 | |
| echo =======================================================================================
 | |
| url="http://localhost:8080/port/1/2/2"
 | |
| 
 | |
| Kurl -X GET $url
 | |
| Kurl -X HEAD $url
 | |
| Kurl -X PUT $url
 | |
| Kurl -X DELETE $url
 | |
| 
 | |
| 
 | |
| 
 | |
| port_fields=(
 | |
|          "Crypt"
 | |
|          "Beacon"
 | |
|          "MAC"
 | |
|          "QLEN"
 | |
|          "Misc"
 | |
|          "Phantom"
 | |
|          "TX Pkts"
 | |
|          "Login-Fail"
 | |
|          "IPv6 Gateway"
 | |
|          "Logout-OK"
 | |
|          "CX Time (us)"
 | |
|          "Connections"
 | |
|          "Mask"
 | |
|          "No CX (us)"
 | |
|          "Channel"
 | |
|          "RX Bytes"
 | |
|          "bps RX"
 | |
|          "TX Errors"
 | |
|          "RX-Rate"
 | |
|          "ANQP Time (us)"
 | |
|          "RX Miss"
 | |
|          "Bytes TX LL"
 | |
|          "SSID"
 | |
|          "TX Fifo"
 | |
|          "DHCP (ms)"
 | |
|          "Retry"
 | |
|          "Port"
 | |
|          "Bytes RX LL"
 | |
|          "RX Errors"
 | |
|          "4Way Time (us)"
 | |
|          "Logout-Fail"
 | |
|          "Pps RX"
 | |
|          "MTU"
 | |
|          "AP"
 | |
|          "RX Length"
 | |
|          "Parent Dev"
 | |
|          "bps RX LL"
 | |
|          "RX Fifo"
 | |
|          "RX Drop"
 | |
|          "Pps TX"
 | |
|          "Noise"
 | |
|          "IP"
 | |
|          "TX Wind"
 | |
|          "RX Frame"
 | |
|          "Key/Phrase"
 | |
|          "Signal"
 | |
|          "SEC"
 | |
|          "IPv6 Address"
 | |
|          "TX Abort"
 | |
|          "Device"
 | |
|          "Gateway IP"
 | |
|          "TX-Rate"
 | |
|          "CX Ago"
 | |
|          "RX Pkts"
 | |
|          "Reset"
 | |
|          "TX Crr"
 | |
|          "RX Over"
 | |
|          "TX Bytes"
 | |
|          "Activity"
 | |
|          "Collisions"
 | |
|          "Alias"
 | |
|          "bps TX"
 | |
|          "bps TX LL"
 | |
|          "Status"
 | |
|          "TX HB"
 | |
|          "Down"
 | |
|          "RX CRC"
 | |
|          "Login-OK"
 | |
|       )
 | |
| for name in "${port_fields[@]}"; do
 | |
|    #echo "field <$name>"
 | |
|    name2="${name// /%20}"
 | |
|    url="http://localhost:8080/port/1/2/2,3,4?fields=$name2,Port"
 | |
|    echo -n "..."
 | |
|    curl -si -H 'Accept: application/json' "$url" > /tmp/response
 | |
|    echo "$url"
 | |
|    grep 'HTTP/1.1' /tmp/response
 | |
|    tail -1 /tmp/response
 | |
|    echo ""
 | |
|    sleep 0.05
 | |
| done
 | 
