netperf: add wifi test

Enables testing of the wifi_drv with netperf.

Fixes #1415.
This commit is contained in:
Josef Söntgen 2015-02-20 13:39:10 +01:00 committed by Christian Helmuth
parent 894974f73b
commit 8d9561595c
10 changed files with 154 additions and 4 deletions

View File

@ -10,12 +10,19 @@ if {[have_include "power_on/qemu"]} {
}
set use_usb_driver [expr [have_spec omap4] || [have_spec exynos5] || [have_spec platform_rpi]]
set use_nic_driver [expr !$use_usb_driver && ![have_spec platform_imx53]]
set use_nic_driver [expr !$use_usb_driver && ![have_spec platform_imx53] && !$use_wifi_driver]
set use_platform_driver [expr [have_spec platform_arndale] || [have_spec platform_imx53] || [have_spec platform_rpi]]
if {[expr !$use_usb_driver && !$use_nic_driver]} {
if {[expr !$use_usb_driver && !$use_nic_driver && !$use_wifi_driver]} {
puts "\n Run script is not supported on this platform. \n"; exit 0 }
# provide wifi related variables in case we do not use the wifi driver
if {!$use_wifi_driver} {
set wifi_ssid ""
set wifi_bssid ""
set wifi_psk ""
}
#
# Build
#
@ -48,13 +55,15 @@ set netperf_tests "TCP_STREAM TCP_MAERTS"
if {$use_usb_driver} { set network_driver "usb_drv" }
if {$use_nic_driver} { set network_driver "nic_drv" }
if {$use_wifi_driver} { set network_driver "wifi_drv" }
set build_components {
core init
drivers/pci drivers/timer drivers/nic
drivers/pci drivers/timer
}
append build_components " $netperf_target "
lappend_if $use_nic_driver build_components drivers/nic
lappend_if $use_usb_driver build_components drivers/usb
lappend_if $use_platform_driver build_components drivers/platform
lappend_if $use_nic_bridge build_components server/nic_bridge
@ -62,6 +71,13 @@ lappend_if [have_spec acpi] build_components drivers/acpi
lappend_if [have_spec pci] build_components drivers/pci/device_pd
lappend_if [have_spec gpio] build_components drivers/gpio
append_if $use_wifi_driver build_components {
drivers/wifi
server/fs_rom
server/ram_fs
server/report_rom
}
build $build_components
create_boot_directory
@ -148,9 +164,64 @@ append_if $use_nic_driver config {
<provides><service name="Nic"/></provides>
</start>}
append_if $use_wifi_driver config {
<start name="report_rom">
<resource name="RAM" quantum="2M"/>
<provides> <service name="Report" /> <service name="ROM" /> </provides>
<config> <rom/> </config>
</start>
<start name="config_fs">
<binary name="ram_fs"/>
<resource name="RAM" quantum="4M"/>
<provides> <service name="File_system"/> </provides>
<config>
<policy label="config_rom" root="/"/>
<policy label="wifi_drv -> config" root="/" writeable="yes"/>
<content>
<inline name="wlan_configuration">}
append_if $use_wifi_driver config "
<selected_network ssid=\"$wifi_ssid\" bssid=\"$wifi_bssid\" protection=\"WPA-PSK\" psk=\"$wifi_psk\"/>"
append_if $use_wifi_driver config {
</inline>
<inline name="wpa_supplicant.conf"></inline>
</content>
</config>
</start>
<start name="config_rom">
<binary name="fs_rom"/>
<resource name="RAM" quantum="4M"/>
<provides><service name="ROM"/></provides>
<route>
<service name="File_system"> <child name="config_fs" /> </service>
<any-service> <parent/> <any-child/> </any-service>
</route>
</start>
<start name="wifi_drv">
<resource name="RAM" quantum="32M"/>
<provides> <service name="Nic"/> </provides>
<config>
<libc stdout="/dev/log" stderr="/dev/log" rtc="/dev/rtc">
<vfs>
<dir name="dev">
<log/>
<jitterentropy name="random"/>
<jitterentropy name="urandom"/>
</dir>
<dir name="config"> <fs label="config"/> </dir>
</vfs>
</libc>
</config>
<route>
<service name="Rtc"> <any-child/> </service>
<service name="File_system"> <child name="config_fs"/> </service>
<service name="ROM"> <if-arg key="label" value="wlan_configuration" /> <child name="config_rom" /> </service>
<any-service> <parent/> <any-child /> </any-service>
</route>
</start>}
append_if [have_spec acpi] config {
<start name="acpi">
<resource name="RAM" quantum="6M" constrain_phys="yes"/>
<resource name="RAM" quantum="16M" constrain_phys="yes"/>
<binary name="acpi_drv"/>
<provides>
<service name="PCI"/>
@ -221,6 +292,19 @@ lappend_if $use_usb_driver boot_modules usb_drv
lappend_if $use_nic_driver boot_modules nic_drv
lappend_if [have_spec nova] boot_modules pci_device_pd
append_if $use_wifi_driver boot_modules {
ram_fs fs_rom report_rom
libcrypto.lib.so libssl.lib.so
wpa_driver_nl80211.lib.so wpa_supplicant.lib.so
vfs_jitterentropy.lib.so
wifi.lib.so wifi_drv
iwlwifi-6000-6.ucode
iwlwifi-6000g2a-6.ucode
iwlwifi-6000g2b-6.ucode
iwlwifi-7260-8.ucode
}
build_boot_image $boot_modules
#

View File

@ -7,6 +7,7 @@
# network configuration
set use_nic_bridge 0
set use_wifi_driver 0
set use_usb_11 "no"
set use_usb_20 "yes"
set use_usb_30 "no"

View File

@ -17,6 +17,7 @@ if {[have_spec omap4]} {
# network configuration
set use_nic_bridge 1
set use_wifi_driver 0
set use_usb_11 "no"
set use_usb_20 "no"
set use_usb_30 "yes"

View File

@ -12,6 +12,7 @@ if {[have_spec omap4]} {
# network configuration
set use_nic_bridge 0
set use_wifi_driver 0
set use_usb_11 "no"
set use_usb_20 "no"
set use_usb_30 "yes"

View File

@ -0,0 +1,29 @@
#
# \brief Test using netperf with the wifi_drv
# \author Alexander Boettcher
# \date 2013-07-08
#
assert_spec x86
if {[have_include "power_on/qemu"] || [have_include "power_on/linux"]} {
puts stderr "\nNetperf WIFI running on Qemu/Linux is not supported.\n"
exit 0
}
# network configuration
set use_nic_bridge 0
set use_wifi_driver 1
set use_usb_11 "no"
set use_usb_20 "no"
set use_usb_30 "no"
set wifi_ssid $::env(GENODE_WIFI_SSID)
set wifi_bssid $::env(GENODE_WIFI_BSSID)
set wifi_psk $::env(GENODE_WIFI_PSK)
source ${genode_dir}/repos/ports/run/netperf_lwip.inc
source ${genode_dir}/repos/ports/run/netperf.inc
# remove firmware images
exec sh -c "rm bin/*.ucode"

View File

@ -7,6 +7,7 @@
# network configuration
set use_nic_bridge 0
set use_wifi_driver 0
set use_usb_11 "no"
set use_usb_20 "yes"
set use_usb_30 "no"

View File

@ -17,6 +17,7 @@ if {[have_spec omap4]} {
# network configuration
set use_nic_bridge 1
set use_wifi_driver 0
set use_usb_11 "no"
set use_usb_20 "no"
set use_usb_30 "yes"

View File

@ -12,6 +12,7 @@ if {[have_spec omap4]} {
# network configuration
set use_nic_bridge 0
set use_wifi_driver 0
set use_usb_11 "no"
set use_usb_20 "no"
set use_usb_30 "yes"

View File

@ -0,0 +1,29 @@
#
# \brief Test using netperf with the wifi_drv
# \author Alexander Boettcher
# \date 2013-07-08
#
assert_spec x86
if {[have_include "power_on/qemu"] || [have_include "power_on/linux"]} {
puts stderr "\nNetperf WIFI running on Qemu/Linux is not supported.\n"
exit 0
}
# network configuration
set use_nic_bridge 0
set use_wifi_driver 1
set use_usb_11 "no"
set use_usb_20 "no"
set use_usb_30 "no"
set wifi_ssid $::env(GENODE_WIFI_SSID)
set wifi_bssid $::env(GENODE_WIFI_BSSID)
set wifi_psk $::env(GENODE_WIFI_PSK)
source ${genode_dir}/repos/ports/run/netperf_lxip.inc
source ${genode_dir}/repos/ports/run/netperf.inc
# remove firmware images
exec sh -c "rm bin/*.ucode"

View File

@ -23,9 +23,11 @@ failsafe
netperf_lwip
netperf_lwip_usb30
netperf_lwip_bridge
netperf_lwip_wifi
netperf_lxip
netperf_lxip_usb30
netperf_lxip_bridge
netperf_lxip_wifi
l4linux_netperf
l4linux_netperf_usb30
l4linux_netperf_bridge