diff options
| author | Aleksandr Nogikh <nogikh@google.com> | 2020-09-24 17:20:32 +0300 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2020-10-01 10:08:58 +0200 |
| commit | c92f1bd150e35b7afe39d846119355bd912590b1 (patch) | |
| tree | 69f121a3e40efa989e98ac4fff4bfde7f392e1a0 /sys/linux | |
| parent | 03d10b2b77cd1d4dde5b0028a6849c9d10427386 (diff) | |
sys/linux/tests: add three new runtests for 802.11
1. A runtest that sets up an access point.
2. A runtest that configures a station.
3. A runtest that configures a mesh device.
Diffstat (limited to 'sys/linux')
| -rw-r--r-- | sys/linux/test/80211_setup_ap | 11 | ||||
| -rw-r--r-- | sys/linux/test/80211_setup_mesh | 17 | ||||
| -rw-r--r-- | sys/linux/test/80211_setup_station | 13 |
3 files changed, 41 insertions, 0 deletions
diff --git a/sys/linux/test/80211_setup_ap b/sys/linux/test/80211_setup_ap new file mode 100644 index 000000000..8e378aa8a --- /dev/null +++ b/sys/linux/test/80211_setup_ap @@ -0,0 +1,11 @@ +r0 = socket$nl_generic(0x10, 0x3, 0x10) +r1 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000200)='nl80211\x00') +ioctl$sock_SIOCGIFINDEX_80211(r0, 0x8933, &(0x7f0000000700)={'wlan0\x00', <r2=>0x0}) + +# set AP mode for wlan0 + +sendmsg$NL80211_CMD_SET_INTERFACE(r0, &(0x7f0000000340)={0x0, 0x0, &(0x7f0000000300)={&(0x7f0000000240)={AUTO, r1, 0x5, 0x0, 0x0, {{AUTO, AUTO, AUTO}, {@val={AUTO, AUTO, r2, nil},@void}}, [@NL80211_ATTR_IFTYPE={AUTO, AUTO, 0x3, nil}]}, AUTO}, AUTO, AUTO, AUTO, 0x0}, 0x0) + +# start AP at wlan0 + +sendmsg$NL80211_CMD_START_AP(r0, &(0x7f0000000340)={0x0, 0x0, &(0x7f0000000300)={&(0x7f0000000240)={AUTO, r1, 0x5, 0x0, 0x0, {{AUTO, AUTO, AUTO}, {@val={AUTO, AUTO, r2, nil},@void}}, [@beacon=[@NL80211_ATTR_BEACON_HEAD={AUTO, AUTO, {@wo_ht={{AUTO, AUTO, AUTO, AUTO, AUTO, 0, 0, 0, 0, AUTO, 0}, {0, AUTO}, @broadcast, @device_a, @from_mac=@device_a, {0,0}}, 0x0, @default, 0xFFFF}, nil}], @chandef_params=[@NL80211_ATTR_WIPHY_FREQ={AUTO,AUTO,@default, nil}], @NL80211_ATTR_BEACON_INTERVAL={AUTO, AUTO, @default, nil},@NL80211_ATTR_DTIM_PERIOD={AUTO, AUTO, 0, nil}, @NL80211_ATTR_SSID={AUTO,AUTO,@default_ap_ssid, nil}, @NL80211_ATTR_AUTH_TYPE={AUTO, AUTO, 0, nil}, @NL80211_ATTR_EXTERNAL_AUTH_SUPPORT={AUTO,AUTO, nil, nil}]}, AUTO}, AUTO, AUTO, AUTO, 0x0}, 0x0) diff --git a/sys/linux/test/80211_setup_mesh b/sys/linux/test/80211_setup_mesh new file mode 100644 index 000000000..ce6c72d86 --- /dev/null +++ b/sys/linux/test/80211_setup_mesh @@ -0,0 +1,17 @@ +r0 = socket$nl_generic(0x10, 0x3, 0x10) +r1 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000200)='nl80211\x00') +ioctl$sock_SIOCGIFINDEX_80211(r0, 0x8933, &(0x7f0000000700)={'wlan0\x00', <r2=>0x0}) + +# set mesh mode for wlan0 + +sendmsg$NL80211_CMD_SET_INTERFACE(r0, &(0x7f0000000340)={0x0, 0x0, &(0x7f0000000300)={&(0x7f0000000240)={AUTO, r1, 0x5, 0x0, 0x0, {{AUTO, AUTO, AUTO}, {@val={AUTO, AUTO, r2, nil}, @void}}, [@NL80211_ATTR_IFTYPE={AUTO, AUTO, 0x7, nil}]}, AUTO}, AUTO, AUTO, AUTO, 0x0}, 0x0) + +# join mesh at wlan0 + +sendmsg$NL80211_CMD_JOIN_MESH(r0, &(0x7f0000000340)={0x0, 0x0, &(0x7f0000000300)={&(0x7f0000000240)={AUTO, r1, 0x5, 0x0, 0x0, {{AUTO, AUTO, AUTO}, {@val={AUTO, AUTO, r2, nil}, @void}}, [@NL80211_ATTR_MESH_ID={AUTO, AUTO, @default, nil}, @chandef_params=[@NL80211_ATTR_WIPHY_FREQ={AUTO, AUTO, @default, nil}]]}, AUTO}, AUTO, AUTO, AUTO, 0x0}, 0x0) + +# Some sample commands + +# get MPP + +sendmsg$NL80211_CMD_GET_MPP(r0, &(0x7f0000000340)={0x0, 0x0, &(0x7f0000000300)={&(0x7f0000000240)={AUTO, r1, 0x5, 0x0, 0x0, {{AUTO, AUTO, AUTO}, {@val={AUTO, AUTO, r2, nil}, @void}}, [@NL80211_ATTR_MAC={AUTO, AUTO, @device_a, nil}]}, AUTO}, AUTO, AUTO, AUTO, 0x0}, 0x0) diff --git a/sys/linux/test/80211_setup_station b/sys/linux/test/80211_setup_station new file mode 100644 index 000000000..19eb83b72 --- /dev/null +++ b/sys/linux/test/80211_setup_station @@ -0,0 +1,13 @@ +# requires: -sandbox=namespace + +r0 = socket$nl_generic(0x10, 0x3, 0x10) +r1 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000200)='nl80211\x00') +ioctl$sock_SIOCGIFINDEX_80211(r0, 0x8933, &(0x7f0000000700)={'wlan1\x00', <r2=>0x0}) + +# set station mode for wlan1 + +sendmsg$NL80211_CMD_SET_INTERFACE(r0, &(0x7f0000000340)={0x0, 0x0, &(0x7f0000000300)={&(0x7f0000000240)={AUTO, r1, 0x5, 0x0, 0x0, {{AUTO, AUTO, AUTO}, {@val={AUTO, AUTO, r2, nil}, @void}}, [@NL80211_ATTR_IFTYPE={AUTO, AUTO, 0x2, nil}]}, AUTO}, AUTO, AUTO, AUTO, 0x0}, 0x0) + +# connect wlan1 + +sendmsg$NL80211_CMD_CONNECT(r0, &(0x7f0000000340)={0x0, 0x0, &(0x7f0000000300)={&(0x7f0000000240)={AUTO, r1, 0x5, 0x0, 0x0, {{AUTO, AUTO, AUTO}, {@val={AUTO, AUTO, r2, nil},@void}}, [@NL80211_ATTR_SSID={AUTO,AUTO,@default_ap_ssid,nil}, @NL80211_ATTR_MAC={AUTO,AUTO,@from_mac=@device_a,nil}, @NL80211_ATTR_AUTH_TYPE={AUTO, AUTO, 0, nil}, @chandef_params=[@NL80211_ATTR_WIPHY_FREQ={AUTO,AUTO,@default,nil}]]}, AUTO}, AUTO, AUTO, AUTO, 0x0}, 0x0)
\ No newline at end of file |
