Skip to content

Commit

Permalink
netperf: add wifi test
Browse files Browse the repository at this point in the history
Enables testing of the wifi_drv with netperf.

Fixes #1415.
  • Loading branch information
cnuke authored and chelmuth committed Feb 27, 2015
1 parent 894974f commit 8d95615
Show file tree
Hide file tree
Showing 10 changed files with 154 additions and 4 deletions.
92 changes: 88 additions & 4 deletions repos/ports/run/netperf.inc
Expand Up @@ -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
#
Expand Down Expand Up @@ -48,20 +55,29 @@ 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
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
Expand Down Expand Up @@ -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"/>
Expand Down Expand Up @@ -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

#
Expand Down
1 change: 1 addition & 0 deletions repos/ports/run/netperf_lwip.run
Expand Up @@ -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"
Expand Down
1 change: 1 addition & 0 deletions repos/ports/run/netperf_lwip_bridge.run
Expand Up @@ -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"
Expand Down
1 change: 1 addition & 0 deletions repos/ports/run/netperf_lwip_usb30.run
Expand Up @@ -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"
Expand Down
29 changes: 29 additions & 0 deletions repos/ports/run/netperf_lwip_wifi.run
@@ -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"
1 change: 1 addition & 0 deletions repos/ports/run/netperf_lxip.run
Expand Up @@ -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"
Expand Down
1 change: 1 addition & 0 deletions repos/ports/run/netperf_lxip_bridge.run
Expand Up @@ -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"
Expand Down
1 change: 1 addition & 0 deletions repos/ports/run/netperf_lxip_usb30.run
Expand Up @@ -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"
Expand Down
29 changes: 29 additions & 0 deletions repos/ports/run/netperf_lxip_wifi.run
@@ -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"
2 changes: 2 additions & 0 deletions tool/autopilot.list
Expand Up @@ -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
Expand Down

0 comments on commit 8d95615

Please sign in to comment.