if {[have_spec foc] || [have_spec odroid_xu] || [have_spec linux] || [have_spec imx7d_sabre] || [have_spec rpi3] || [expr [have_spec imx53] && [have_spec trustzone]]} { puts "Run script is not supported on this platform." exit 0 } set on_hardware [expr ![have_include power_on/qemu]] create_boot_directory import_from_depot [depot_user]/src/[base_src] \ [depot_user]/pkg/[drivers_nic_pkg] \ [depot_user]/src/init \ [depot_user]/src/nic_bridge \ [depot_user]/src/nic_router \ build { app/ping server/nic_dump } proc good_dst_ip { } { if {![have_include power_on/qemu]} { return "10.0.0.2" } else { return "10.0.2.2" } } proc bad_dst_port { } { return "12345" } proc bad_dst_ip { } { return "10.0.1.2" } append config { } append_if $on_hardware config { } append config { } install_config $config build_boot_image { ping nic_dump } proc qemu_nic_model {} { if [have_spec x86] { return e1000 } if [have_spec lan9118] { return lan9118 } if [have_spec zynq] { return cadence_gem } return nic_model_missing } append qemu_args " -nographic " append qemu_args " -netdev user,id=net0 " append qemu_args " -net nic,model=[qemu_nic_model],netdev=net0 " set done_string "" for {set i 0} {$i < 3} {incr i 1} { append done_string ".*child \"ping...\" exited with exit value 0.*\n" } append done_string ".*ping_22\] From 10.0.4.1 icmp_seq=.* Destination Unreachable.*\n" append_if $on_hardware done_string ".*ping_23\] From [good_dst_ip] Destination Unreachable.*\n" run_genode_until $done_string 30