tests: Use socat instead of netcat
Commit 41c02e10
("tests: Use nmap-ncat instead of openbsd netcat for pasta
tests") updated the pasta tests to use the nmap version of ncat instead of
the openbsd version, for greater portability.
For some upcoming changes, however, we'll be wanting to use socat.
"socat" can do everything "ncat" can and more, so let's move all the
tests using host tools (either directly on the host or via mbuto
generated images) to using socat instead.
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
[sbrivio: Fix a typo in port specification, 31337 instead of x31337]
Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
This commit is contained in:
parent
05dc1c65c1
commit
1aaa2bd189
11 changed files with 200 additions and 200 deletions
|
@ -29,7 +29,7 @@ on a system, i.e. common utilities such as a shell are not included here.
|
||||||
Example for Debian, and possibly most Debian-based distributions:
|
Example for Debian, and possibly most Debian-based distributions:
|
||||||
|
|
||||||
build-essential git jq strace iperf3 qemu-system-x86 tmux sipcalc bc
|
build-essential git jq strace iperf3 qemu-system-x86 tmux sipcalc bc
|
||||||
clang-tidy cppcheck isc-dhcp-common psmisc linux-cpupower ncat
|
clang-tidy cppcheck isc-dhcp-common psmisc linux-cpupower socat
|
||||||
netcat-openbsd fakeroot lz4 lm-sensors qemu-system-arm qemu-system-ppc
|
netcat-openbsd fakeroot lz4 lm-sensors qemu-system-arm qemu-system-ppc
|
||||||
qemu-system-misc qemu-system-x86 valgrind
|
qemu-system-misc qemu-system-x86 valgrind
|
||||||
|
|
||||||
|
|
|
@ -129,9 +129,9 @@ nl
|
||||||
nl
|
nl
|
||||||
say Let's try to communicate between host and guest.
|
say Let's try to communicate between host and guest.
|
||||||
sleep 2
|
sleep 2
|
||||||
guestb nc -6 -l -p 5201
|
guestb socat TCP6-LISTEN:5201 STDIO
|
||||||
sleep 2
|
sleep 2
|
||||||
host echo "Hello from the host" | nc -N ::1 5201
|
host echo "Hello from the host" | socat -u STDIN TCP6:[::1]:5201
|
||||||
sleep 5
|
sleep 5
|
||||||
|
|
||||||
nl
|
nl
|
||||||
|
@ -142,9 +142,9 @@ say the address of the default gateway.
|
||||||
sleep 2
|
sleep 2
|
||||||
gout GW ip -j -4 route show|jq -rM '.[] | select(.dst == "default").gateway'
|
gout GW ip -j -4 route show|jq -rM '.[] | select(.dst == "default").gateway'
|
||||||
sleep 5
|
sleep 5
|
||||||
hostb nc -l -p 31337
|
hostb socat TCP4-LISTEN:31337 STDIO
|
||||||
sleep 2
|
sleep 2
|
||||||
guest echo "Hello from the guest" | nc -N __GW__ 31337
|
guest echo "Hello from the guest" | socat -u STDIN TCP4:__GW__:31337
|
||||||
sleep 3
|
sleep 3
|
||||||
|
|
||||||
nl
|
nl
|
||||||
|
|
|
@ -98,9 +98,9 @@ nl
|
||||||
say pasta detects bound ports and forwards them.
|
say pasta detects bound ports and forwards them.
|
||||||
sleep 3
|
sleep 3
|
||||||
|
|
||||||
nsb ncat -6 -l ::1 31337
|
nsb socat TCP6-LISTEN:31337,bind=[::1] STDOUT
|
||||||
sleep 2
|
sleep 2
|
||||||
host echo "Hello from the host" | ncat ::1 31337
|
host echo "Hello from the host" | socat -u STDIN TCP6:[::1]:31337
|
||||||
sleep 5
|
sleep 5
|
||||||
|
|
||||||
nl
|
nl
|
||||||
|
@ -109,9 +109,9 @@ say Now the other way around...
|
||||||
nl
|
nl
|
||||||
say we can use a loopback address
|
say we can use a loopback address
|
||||||
sleep 2
|
sleep 2
|
||||||
hostb ncat -l ::1 31337
|
hostb socat TCP6-LISTEN:31337,bind=[::1] STDIO
|
||||||
sleep 2
|
sleep 2
|
||||||
ns echo "Hello from the namespace" | ncat ::1 31337
|
ns echo "Hello from the namespace" | socat -u STDIN TCP6:[::1]:31337
|
||||||
sleep 5
|
sleep 5
|
||||||
|
|
||||||
nl
|
nl
|
||||||
|
@ -119,9 +119,9 @@ say or the address of the default gateway.
|
||||||
sleep 2
|
sleep 2
|
||||||
nsout GW ip -j -4 route show|jq -rM '.[] | select(.dst == "default").gateway'
|
nsout GW ip -j -4 route show|jq -rM '.[] | select(.dst == "default").gateway'
|
||||||
sleep 5
|
sleep 5
|
||||||
hostb ncat -l 0.0.0.0 31337
|
hostb socat TCP4-LISTEN:31337 STDIO
|
||||||
sleep 2
|
sleep 2
|
||||||
ns echo "Hello from the namespace" | ncat __GW__ 31337
|
ns echo "Hello from the namespace" | socat -u STDIN TCP4:__GW__:31337
|
||||||
sleep 3
|
sleep 3
|
||||||
|
|
||||||
nl
|
nl
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
|
|
||||||
PROGS="${PROGS:-ash,dash,bash ip mount ls insmod mkdir ln cat chmod lsmod
|
PROGS="${PROGS:-ash,dash,bash ip mount ls insmod mkdir ln cat chmod lsmod
|
||||||
modprobe find grep mknod mv rm umount jq iperf3 dhclient hostname
|
modprobe find grep mknod mv rm umount jq iperf3 dhclient hostname
|
||||||
sed tr chown sipcalc cut md5sum nc dd strace ping tail killall sleep
|
sed tr chown sipcalc cut md5sum socat dd strace ping tail killall sleep
|
||||||
sysctl nproc tcp_rr tcp_crr udp_rr which tee seq bc}"
|
sysctl nproc tcp_rr tcp_crr udp_rr which tee seq bc}"
|
||||||
|
|
||||||
KMODS="${KMODS:- virtio_net virtio_pci}"
|
KMODS="${KMODS:- virtio_net virtio_pci}"
|
||||||
|
|
|
@ -11,75 +11,75 @@
|
||||||
# Copyright (c) 2021 Red Hat GmbH
|
# Copyright (c) 2021 Red Hat GmbH
|
||||||
# Author: Stefano Brivio <sbrivio@redhat.com>
|
# Author: Stefano Brivio <sbrivio@redhat.com>
|
||||||
|
|
||||||
gtools nc ip jq cat md5sum cut
|
gtools socat ip jq md5sum cut
|
||||||
htools dd nc ip jq cat md5sum cut
|
htools dd socat ip jq md5sum cut
|
||||||
|
|
||||||
test TCP/IPv4: host to guest: big transfer
|
test TCP/IPv4: host to guest: big transfer
|
||||||
temp TEMP_BIG
|
temp TEMP_BIG
|
||||||
guestb nc -4 -l 10001 > test_big.bin
|
guestb socat -u TCP4-LISTEN:10001,reuseaddr OPEN:test_big.bin,create,trunc
|
||||||
host dd if=/dev/urandom bs=1M count=10 > __TEMP_BIG__
|
host dd if=/dev/urandom bs=1M count=10 > __TEMP_BIG__
|
||||||
host cat __TEMP_BIG__ | nc -N 127.0.0.1 10001
|
host socat -u OPEN:__TEMP_BIG__ TCP4:127.0.0.1:10001
|
||||||
guestw
|
guestw
|
||||||
hout HOST_MD5_BIG md5sum __TEMP_BIG__ | cut -d' ' -f1
|
hout HOST_MD5_BIG md5sum __TEMP_BIG__ | cut -d' ' -f1
|
||||||
gout GUEST_MD5_BIG md5sum test_big.bin | cut -d' ' -f1
|
gout GUEST_MD5_BIG md5sum test_big.bin | cut -d' ' -f1
|
||||||
check [ "__GUEST_MD5_BIG__" = "__HOST_MD5_BIG__" ]
|
check [ "__GUEST_MD5_BIG__" = "__HOST_MD5_BIG__" ]
|
||||||
|
|
||||||
test TCP/IPv4: guest to host: big transfer
|
test TCP/IPv4: guest to host: big transfer
|
||||||
hostb nc -4 -l 10003 > __TEMP_BIG__
|
hostb socat -u TCP4-LISTEN:10003,bind=127.0.0.1,reuseaddr OPEN:__TEMP_BIG__,create,trunc
|
||||||
gout GW ip -j -4 route show|jq -rM '.[] | select(.dst == "default").gateway'
|
gout GW ip -j -4 route show|jq -rM '.[] | select(.dst == "default").gateway'
|
||||||
guest cat test_big.bin | nc -N __GW__ 10003
|
guest socat -u OPEN:test_big.bin TCP4:__GW__:10003
|
||||||
hostw
|
hostw
|
||||||
hout HOST_MD5_BIG md5sum __TEMP_BIG__ | cut -d' ' -f1
|
hout HOST_MD5_BIG md5sum __TEMP_BIG__ | cut -d' ' -f1
|
||||||
check [ "__GUEST_MD5_BIG__" = "__HOST_MD5_BIG__" ]
|
check [ "__GUEST_MD5_BIG__" = "__HOST_MD5_BIG__" ]
|
||||||
|
|
||||||
test TCP/IPv4: host to guest: small transfer
|
test TCP/IPv4: host to guest: small transfer
|
||||||
temp TEMP_SMALL
|
temp TEMP_SMALL
|
||||||
guestb nc -4 -l 10001 > test_small.bin
|
guestb socat -u TCP4-LISTEN:10001,reuseaddr OPEN:test_small.bin,create,trunc
|
||||||
host dd if=/dev/urandom bs=2k count=1 > __TEMP_SMALL__
|
host dd if=/dev/urandom bs=2k count=1 > __TEMP_SMALL__
|
||||||
host cat __TEMP_SMALL__ | nc -N 127.0.0.1 10001
|
host socat -u OPEN:__TEMP_SMALL__ TCP4:127.0.0.1:10001
|
||||||
guestw
|
guestw
|
||||||
hout HOST_MD5_SMALL md5sum __TEMP_SMALL__ | cut -d' ' -f1
|
hout HOST_MD5_SMALL md5sum __TEMP_SMALL__ | cut -d' ' -f1
|
||||||
gout GUEST_MD5_SMALL md5sum test_small.bin | cut -d' ' -f1
|
gout GUEST_MD5_SMALL md5sum test_small.bin | cut -d' ' -f1
|
||||||
check [ "__GUEST_MD5_SMALL__" = "__HOST_MD5_SMALL__" ]
|
check [ "__GUEST_MD5_SMALL__" = "__HOST_MD5_SMALL__" ]
|
||||||
|
|
||||||
test TCP/IPv4: guest to host: small transfer
|
test TCP/IPv4: guest to host: small transfer
|
||||||
hostb nc -4 -l 10003 > __TEMP_SMALL__
|
hostb socat -u TCP4-LISTEN:10003,bind=127.0.0.1,reuseaddr OPEN:__TEMP_SMALL__,create,trunc
|
||||||
sleep 1
|
sleep 1
|
||||||
guest cat test_small.bin | nc -N __GW__ 10003
|
guest socat -u OPEN:test_small.bin TCP4:__GW__:10003
|
||||||
hostw
|
hostw
|
||||||
hout HOST_MD5_SMALL md5sum __TEMP_SMALL__ | cut -d' ' -f1
|
hout HOST_MD5_SMALL md5sum __TEMP_SMALL__ | cut -d' ' -f1
|
||||||
check [ "__GUEST_MD5_SMALL__" = "__HOST_MD5_SMALL__" ]
|
check [ "__GUEST_MD5_SMALL__" = "__HOST_MD5_SMALL__" ]
|
||||||
|
|
||||||
|
|
||||||
test TCP/IPv6: host to guest: big transfer
|
test TCP/IPv6: host to guest: big transfer
|
||||||
guestb nc -6 -l 10001 > test_big.bin
|
guestb socat -u TCP6-LISTEN:10001,reuseaddr OPEN:test_big.bin,create,trunc
|
||||||
sleep 1
|
sleep 1
|
||||||
host cat __TEMP_BIG__ | nc -N ::1 10001
|
host socat -u OPEN:__TEMP_BIG__ TCP6:[::1]:10001
|
||||||
guestw
|
guestw
|
||||||
gout GUEST_MD5_BIG md5sum test_big.bin | cut -d' ' -f1
|
gout GUEST_MD5_BIG md5sum test_big.bin | cut -d' ' -f1
|
||||||
check [ "__GUEST_MD5_BIG__" = "__HOST_MD5_BIG__" ]
|
check [ "__GUEST_MD5_BIG__" = "__HOST_MD5_BIG__" ]
|
||||||
|
|
||||||
test TCP/IPv6: guest to host: big transfer
|
test TCP/IPv6: guest to host: big transfer
|
||||||
hostb nc -6 -l 10003 > __TEMP_BIG__
|
hostb socat -u TCP6-LISTEN:10003,bind=[::1],reuseaddr OPEN:__TEMP_BIG__,create,trunc
|
||||||
gout GW6 ip -j -6 route show|jq -rM '.[] | select(.dst == "default").gateway'
|
gout GW6 ip -j -6 route show|jq -rM '.[] | select(.dst == "default").gateway'
|
||||||
gout IFNAME ip -j link show | jq -rM '.[] | select(.link_type == "ether").ifname'
|
gout IFNAME ip -j link show | jq -rM '.[] | select(.link_type == "ether").ifname'
|
||||||
guest cat test_big.bin | nc -N __GW6__%__IFNAME__ 10003
|
guest socat -u OPEN:test_big.bin TCP6:[__GW6__%__IFNAME__]:10003
|
||||||
hostw
|
hostw
|
||||||
hout HOST_MD5_BIG md5sum __TEMP_BIG__ | cut -d' ' -f1
|
hout HOST_MD5_BIG md5sum __TEMP_BIG__ | cut -d' ' -f1
|
||||||
check [ "__GUEST_MD5_BIG__" = "__HOST_MD5_BIG__" ]
|
check [ "__GUEST_MD5_BIG__" = "__HOST_MD5_BIG__" ]
|
||||||
|
|
||||||
test TCP/IPv6: host to guest: small transfer
|
test TCP/IPv6: host to guest: small transfer
|
||||||
guestb nc -6 -l 10001 > test_small.bin
|
guestb socat -u TCP6-LISTEN:10001,reuseaddr OPEN:test_small.bin,create,trunc
|
||||||
sleep 1
|
sleep 1
|
||||||
host cat __TEMP_SMALL__ | nc -N ::1 10001
|
host socat -u OPEN:__TEMP_SMALL__ TCP6:[::1]:10001
|
||||||
guestw
|
guestw
|
||||||
gout GUEST_MD5_SMALL md5sum test_small.bin | cut -d' ' -f1
|
gout GUEST_MD5_SMALL md5sum test_small.bin | cut -d' ' -f1
|
||||||
check [ "__GUEST_MD5_SMALL__" = "__HOST_MD5_SMALL__" ]
|
check [ "__GUEST_MD5_SMALL__" = "__HOST_MD5_SMALL__" ]
|
||||||
|
|
||||||
test TCP/IPv6: guest to host: small transfer
|
test TCP/IPv6: guest to host: small transfer
|
||||||
hostb nc -6 -l 10003 > __TEMP_SMALL__
|
hostb socat -u TCP6-LISTEN:10003,bind=[::1],reuseaddr OPEN:__TEMP_SMALL__,create,trunc
|
||||||
sleep 1
|
sleep 1
|
||||||
guest cat test_small.bin | nc -N __GW6__%__IFNAME__ 10003
|
guest socat -u OPEN:test_small.bin TCP6:[__GW6__%__IFNAME__]:10003
|
||||||
hostw
|
hostw
|
||||||
hout HOST_MD5_SMALL md5sum __TEMP_SMALL__ | cut -d' ' -f1
|
hout HOST_MD5_SMALL md5sum __TEMP_SMALL__ | cut -d' ' -f1
|
||||||
check [ "__GUEST_MD5_SMALL__" = "__HOST_MD5_SMALL__" ]
|
check [ "__GUEST_MD5_SMALL__" = "__HOST_MD5_SMALL__" ]
|
||||||
|
|
|
@ -11,15 +11,15 @@
|
||||||
# Copyright (c) 2021 Red Hat GmbH
|
# Copyright (c) 2021 Red Hat GmbH
|
||||||
# Author: Stefano Brivio <sbrivio@redhat.com>
|
# Author: Stefano Brivio <sbrivio@redhat.com>
|
||||||
|
|
||||||
gtools nc ip jq cat md5sum cut
|
gtools socat ip jq md5sum cut
|
||||||
htools dd nc ip jq cat md5sum cut
|
htools dd socat ip jq md5sum cut
|
||||||
nstools nc ip jq cat md5sum cut
|
nstools socat ip jq md5sum cut
|
||||||
|
|
||||||
test TCP/IPv4: host to guest: big transfer
|
test TCP/IPv4: host to guest: big transfer
|
||||||
temp TEMP_BIG
|
temp TEMP_BIG
|
||||||
guestb nc -4 -l 10001 > test_big.bin
|
guestb socat -u TCP4-LISTEN:10001 OPEN:test_big.bin,create,trunc
|
||||||
host dd if=/dev/urandom bs=1M count=10 > __TEMP_BIG__
|
host dd if=/dev/urandom bs=1M count=10 of=__TEMP_BIG__
|
||||||
host cat __TEMP_BIG__ | nc -N 127.0.0.1 10001
|
host socat -u OPEN:__TEMP_BIG__ TCP4:127.0.0.1:10001
|
||||||
guestw
|
guestw
|
||||||
hout MD5_BIG md5sum __TEMP_BIG__ | cut -d' ' -f1
|
hout MD5_BIG md5sum __TEMP_BIG__ | cut -d' ' -f1
|
||||||
gout GUEST_MD5_BIG md5sum test_big.bin | cut -d' ' -f1
|
gout GUEST_MD5_BIG md5sum test_big.bin | cut -d' ' -f1
|
||||||
|
@ -27,63 +27,63 @@ check [ "__GUEST_MD5_BIG__" = "__MD5_BIG__" ]
|
||||||
|
|
||||||
test TCP/IPv4: host to ns: big transfer
|
test TCP/IPv4: host to ns: big transfer
|
||||||
temp TEMP_NS_BIG
|
temp TEMP_NS_BIG
|
||||||
nsb nc -4 -l 10002 > __TEMP_NS_BIG__
|
nsb socat -u TCP4-LISTEN:10002 OPEN:__TEMP_NS_BIG__,create,trunc
|
||||||
host cat __TEMP_BIG__ | nc -N 127.0.0.1 10002
|
host socat -u OPEN:__TEMP_BIG__ TCP4:127.0.0.1:10002
|
||||||
nsw
|
nsw
|
||||||
nsout NS_MD5_BIG md5sum __TEMP_NS_BIG__ | cut -d' ' -f1
|
nsout NS_MD5_BIG md5sum __TEMP_NS_BIG__ | cut -d' ' -f1
|
||||||
check [ "__NS_MD5_BIG__" = "__MD5_BIG__" ]
|
check [ "__NS_MD5_BIG__" = "__MD5_BIG__" ]
|
||||||
|
|
||||||
test TCP/IPv4: guest to host: big transfer
|
test TCP/IPv4: guest to host: big transfer
|
||||||
hostb nc -4 -l 10003 > __TEMP_BIG__
|
hostb socat -u TCP4-LISTEN:10003 OPEN:__TEMP_BIG__,create,trunc
|
||||||
gout GW ip -j -4 route show|jq -rM '.[] | select(.dst == "default").gateway'
|
gout GW ip -j -4 route show|jq -rM '.[] | select(.dst == "default").gateway'
|
||||||
guest cat test_big.bin | nc -N __GW__ 10003
|
guest socat -u OPEN:test_big.bin TCP4:__GW__:10003
|
||||||
hostw
|
hostw
|
||||||
hout HOST_MD5_BIG md5sum __TEMP_BIG__ | cut -d' ' -f1
|
hout HOST_MD5_BIG md5sum __TEMP_BIG__ | cut -d' ' -f1
|
||||||
check [ "__HOST_MD5_BIG__" = "__MD5_BIG__" ]
|
check [ "__HOST_MD5_BIG__" = "__MD5_BIG__" ]
|
||||||
|
|
||||||
test TCP/IPv4: guest to ns: big transfer
|
test TCP/IPv4: guest to ns: big transfer
|
||||||
nsb nc -4 -l 10002 > __TEMP_BIG__
|
nsb socat -u TCP4-LISTEN:10002 OPEN:__TEMP_BIG__,create,trunc
|
||||||
guest cat test_big.bin | nc -N __GW__ 10002
|
guest socat -u OPEN:test_big.bin TCP4:__GW__:10002
|
||||||
hostw
|
hostw
|
||||||
hout HOST_MD5_BIG md5sum __TEMP_BIG__ | cut -d' ' -f1
|
hout HOST_MD5_BIG md5sum __TEMP_BIG__ | cut -d' ' -f1
|
||||||
check [ "__HOST_MD5_BIG__" = "__MD5_BIG__" ]
|
check [ "__HOST_MD5_BIG__" = "__MD5_BIG__" ]
|
||||||
|
|
||||||
test TCP/IPv4: ns to host (spliced): big transfer
|
test TCP/IPv4: ns to host (spliced): big transfer
|
||||||
sleep 1
|
sleep 1
|
||||||
hostb nc -4 -l 10003 > __TEMP_BIG__
|
hostb socat -u TCP4-LISTEN:10003 OPEN:__TEMP_BIG__,create,trunc
|
||||||
ns cat __TEMP_NS_BIG__ | nc -N 127.0.0.1 10003
|
ns socat -u OPEN:__TEMP_NS_BIG__ TCP4:127.0.0.1:10003
|
||||||
hostw
|
hostw
|
||||||
hout HOST_MD5_BIG md5sum __TEMP_BIG__ | cut -d' ' -f1
|
hout HOST_MD5_BIG md5sum __TEMP_BIG__ | cut -d' ' -f1
|
||||||
check [ "__HOST_MD5_BIG__" = "__MD5_BIG__" ]
|
check [ "__HOST_MD5_BIG__" = "__MD5_BIG__" ]
|
||||||
|
|
||||||
test TCP/IPv4: ns to host (via tap): big transfer
|
test TCP/IPv4: ns to host (via tap): big transfer
|
||||||
hostb nc -4 -l 10003 > __TEMP_BIG__
|
hostb socat -u TCP4-LISTEN:10003 OPEN:__TEMP_BIG__,create,trunc
|
||||||
ns cat __TEMP_NS_BIG__ | nc -N __GW__ 10003
|
ns socat -u OPEN:__TEMP_NS_BIG__ TCP4:__GW__:10003
|
||||||
hostw
|
hostw
|
||||||
hout HOST_MD5_BIG md5sum __TEMP_BIG__ | cut -d' ' -f1
|
hout HOST_MD5_BIG md5sum __TEMP_BIG__ | cut -d' ' -f1
|
||||||
check [ "__HOST_MD5_BIG__" = "__MD5_BIG__" ]
|
check [ "__HOST_MD5_BIG__" = "__MD5_BIG__" ]
|
||||||
|
|
||||||
test TCP/IPv4: ns to guest (using loopback address): big transfer
|
test TCP/IPv4: ns to guest (using loopback address): big transfer
|
||||||
guestb nc -4 -l 10001 > test_big.bin
|
guestb socat -u TCP4-LISTEN:10001 OPEN:test_big.bin,create,trunc
|
||||||
ns cat __TEMP_NS_BIG__ | nc -N 127.0.0.1 10001
|
ns socat -u OPEN:__TEMP_NS_BIG__ TCP4:127.0.0.1:10001
|
||||||
guestw
|
guestw
|
||||||
gout GUEST_MD5_BIG md5sum test_big.bin | cut -d' ' -f1
|
gout GUEST_MD5_BIG md5sum test_big.bin | cut -d' ' -f1
|
||||||
check [ "__GUEST_MD5_BIG__" = "__MD5_BIG__" ]
|
check [ "__GUEST_MD5_BIG__" = "__MD5_BIG__" ]
|
||||||
|
|
||||||
test TCP/IPv4: ns to guest (using namespace address): big transfer
|
test TCP/IPv4: ns to guest (using namespace address): big transfer
|
||||||
guestb nc -4 -l 10001 > test_big.bin
|
guestb socat -u TCP4-LISTEN:10001 OPEN:test_big.bin,create,trunc
|
||||||
nsout IFNAME ip -j link show | jq -rM '.[] | select(.link_type == "ether").ifname'
|
nsout IFNAME ip -j link show | jq -rM '.[] | select(.link_type == "ether").ifname'
|
||||||
nsout ADDR ip -j -4 addr show|jq -rM '.[] | select(.ifname == "__IFNAME__").addr_info[0].local'
|
nsout ADDR ip -j -4 addr show|jq -rM '.[] | select(.ifname == "__IFNAME__").addr_info[0].local'
|
||||||
ns cat __TEMP_NS_BIG__ | nc -N __ADDR__ 10001
|
ns socat -u OPEN:__TEMP_NS_BIG__ TCP4:__ADDR__:10001
|
||||||
guestw
|
guestw
|
||||||
gout GUEST_MD5_BIG md5sum test_big.bin | cut -d' ' -f1
|
gout GUEST_MD5_BIG md5sum test_big.bin | cut -d' ' -f1
|
||||||
check [ "__GUEST_MD5_BIG__" = "__MD5_BIG__" ]
|
check [ "__GUEST_MD5_BIG__" = "__MD5_BIG__" ]
|
||||||
|
|
||||||
test TCP/IPv4: host to guest: small transfer
|
test TCP/IPv4: host to guest: small transfer
|
||||||
temp TEMP_SMALL
|
temp TEMP_SMALL
|
||||||
guestb nc -4 -l 10001 > test_small.bin
|
guestb socat -u TCP4-LISTEN:10001 OPEN:test_small.bin,create,trunc
|
||||||
host dd if=/dev/urandom bs=2k count=100 > __TEMP_SMALL__
|
host dd if=/dev/urandom bs=2k count=100 of=__TEMP_SMALL__
|
||||||
host cat __TEMP_SMALL__ | nc -N 127.0.0.1 10001
|
host socat -u OPEN:__TEMP_SMALL__ TCP4:127.0.0.1:10001
|
||||||
guestw
|
guestw
|
||||||
hout MD5_SMALL md5sum __TEMP_SMALL__ | cut -d' ' -f1
|
hout MD5_SMALL md5sum __TEMP_SMALL__ | cut -d' ' -f1
|
||||||
gout GUEST_MD5_SMALL md5sum test_small.bin | cut -d' ' -f1
|
gout GUEST_MD5_SMALL md5sum test_small.bin | cut -d' ' -f1
|
||||||
|
@ -91,171 +91,171 @@ check [ "__GUEST_MD5_SMALL__" = "__MD5_SMALL__" ]
|
||||||
|
|
||||||
test TCP/IPv4: host to ns: small transfer
|
test TCP/IPv4: host to ns: small transfer
|
||||||
temp TEMP_NS_SMALL
|
temp TEMP_NS_SMALL
|
||||||
nsb nc -4 -l 10002 > __TEMP_NS_SMALL__
|
nsb socat -u TCP4-LISTEN:10002 OPEN:__TEMP_NS_SMALL__,create,trunc
|
||||||
host cat __TEMP_SMALL__ | nc -N 127.0.0.1 10002
|
host socat -u OPEN:__TEMP_SMALL__ TCP4:127.0.0.1:10002
|
||||||
nsw
|
nsw
|
||||||
nsout NS_MD5_SMALL md5sum __TEMP_NS_SMALL__ | cut -d' ' -f1
|
nsout NS_MD5_SMALL md5sum __TEMP_NS_SMALL__ | cut -d' ' -f1
|
||||||
check [ "__NS_MD5_SMALL__" = "__MD5_SMALL__" ]
|
check [ "__NS_MD5_SMALL__" = "__MD5_SMALL__" ]
|
||||||
|
|
||||||
test TCP/IPv4: guest to host: small transfer
|
test TCP/IPv4: guest to host: small transfer
|
||||||
hostb nc -4 -l 10003 > __TEMP_SMALL__
|
hostb socat -u TCP4-LISTEN:10003 OPEN:__TEMP_SMALL__,create,trunc
|
||||||
gout GW ip -j -4 route show|jq -rM '.[] | select(.dst == "default").gateway'
|
gout GW ip -j -4 route show|jq -rM '.[] | select(.dst == "default").gateway'
|
||||||
guest cat test_small.bin | nc -N __GW__ 10003
|
guest socat -u OPEN:test_small.bin TCP4:__GW__:10003
|
||||||
hostw
|
hostw
|
||||||
hout HOST_MD5_SMALL md5sum __TEMP_SMALL__ | cut -d' ' -f1
|
hout HOST_MD5_SMALL md5sum __TEMP_SMALL__ | cut -d' ' -f1
|
||||||
check [ "__HOST_MD5_SMALL__" = "__MD5_SMALL__" ]
|
check [ "__HOST_MD5_SMALL__" = "__MD5_SMALL__" ]
|
||||||
|
|
||||||
test TCP/IPv4: guest to ns: small transfer
|
test TCP/IPv4: guest to ns: small transfer
|
||||||
nsb nc -4 -l 10002 > __TEMP_SMALL__
|
nsb socat -u TCP4-LISTEN:10002 OPEN:__TEMP_SMALL__,create,trunc
|
||||||
guest cat test_small.bin | nc -N __GW__ 10002
|
guest socat -u OPEN:test_small.bin TCP4:__GW__:10002
|
||||||
hostw
|
hostw
|
||||||
hout HOST_MD5_SMALL md5sum __TEMP_SMALL__ | cut -d' ' -f1
|
hout HOST_MD5_SMALL md5sum __TEMP_SMALL__ | cut -d' ' -f1
|
||||||
check [ "__HOST_MD5_SMALL__" = "__MD5_SMALL__" ]
|
check [ "__HOST_MD5_SMALL__" = "__MD5_SMALL__" ]
|
||||||
|
|
||||||
test TCP/IPv4: ns to host (spliced): small transfer
|
test TCP/IPv4: ns to host (spliced): small transfer
|
||||||
sleep 1
|
sleep 1
|
||||||
hostb nc -4 -l 10003 > __TEMP_SMALL__
|
hostb socat -u TCP4-LISTEN:10003 OPEN:__TEMP_SMALL__,create,trunc
|
||||||
ns cat __TEMP_NS_SMALL__ | nc -N 127.0.0.1 10003
|
ns socat -u OPEN:__TEMP_NS_SMALL__ TCP4:127.0.0.1:10003
|
||||||
hostw
|
hostw
|
||||||
hout HOST_MD5_SMALL md5sum __TEMP_SMALL__ | cut -d' ' -f1
|
hout HOST_MD5_SMALL md5sum __TEMP_SMALL__ | cut -d' ' -f1
|
||||||
check [ "__HOST_MD5_SMALL__" = "__MD5_SMALL__" ]
|
check [ "__HOST_MD5_SMALL__" = "__MD5_SMALL__" ]
|
||||||
|
|
||||||
test TCP/IPv4: ns to host (via tap): small transfer
|
test TCP/IPv4: ns to host (via tap): small transfer
|
||||||
hostb nc -4 -l 10003 > __TEMP_SMALL__
|
hostb socat -u TCP4-LISTEN:10003 OPEN:__TEMP_SMALL__,create,trunc
|
||||||
ns cat __TEMP_NS_SMALL__ | nc -N __GW__ 10003
|
ns socat -u OPEN:__TEMP_NS_SMALL__ TCP4:__GW__:10003
|
||||||
hostw
|
hostw
|
||||||
hout HOST_MD5_SMALL md5sum __TEMP_SMALL__ | cut -d' ' -f1
|
hout HOST_MD5_SMALL md5sum __TEMP_SMALL__ | cut -d' ' -f1
|
||||||
check [ "__HOST_MD5_SMALL__" = "__MD5_SMALL__" ]
|
check [ "__HOST_MD5_SMALL__" = "__MD5_SMALL__" ]
|
||||||
|
|
||||||
test TCP/IPv4: ns to guest (using loopback address): small transfer
|
test TCP/IPv4: ns to guest (using loopback address): small transfer
|
||||||
guestb nc -4 -l 10001 > test_small.bin
|
guestb socat -u TCP4-LISTEN:10001 OPEN:test_small.bin,create,trunc
|
||||||
ns cat __TEMP_NS_SMALL__ | nc -N 127.0.0.1 10001
|
ns socat -u OPEN:__TEMP_NS_SMALL__ TCP4:127.0.0.1:10001
|
||||||
guestw
|
guestw
|
||||||
gout GUEST_MD5_SMALL md5sum test_small.bin | cut -d' ' -f1
|
gout GUEST_MD5_SMALL md5sum test_small.bin | cut -d' ' -f1
|
||||||
check [ "__GUEST_MD5_SMALL__" = "__MD5_SMALL__" ]
|
check [ "__GUEST_MD5_SMALL__" = "__MD5_SMALL__" ]
|
||||||
|
|
||||||
test TCP/IPv4: ns to guest (using namespace address): small transfer
|
test TCP/IPv4: ns to guest (using namespace address): small transfer
|
||||||
guestb nc -4 -l 10001 > test_small.bin
|
guestb socat -u TCP4-LISTEN:10001 OPEN:test_small.bin,create,trunc
|
||||||
ns cat __TEMP_NS_SMALL__ | nc -N __ADDR__ 10001
|
ns socat -u OPEN:__TEMP_NS_SMALL__ TCP4:__ADDR__:10001
|
||||||
guestw
|
guestw
|
||||||
gout GUEST_MD5_SMALL md5sum test_small.bin | cut -d' ' -f1
|
gout GUEST_MD5_SMALL md5sum test_small.bin | cut -d' ' -f1
|
||||||
check [ "__GUEST_MD5_SMALL__" = "__MD5_SMALL__" ]
|
check [ "__GUEST_MD5_SMALL__" = "__MD5_SMALL__" ]
|
||||||
|
|
||||||
test TCP/IPv6: host to guest: big transfer
|
test TCP/IPv6: host to guest: big transfer
|
||||||
guestb nc -6 -l 10001 > test_big.bin
|
guestb socat -u TCP6-LISTEN:10001 OPEN:test_big.bin,create,trunc
|
||||||
host cat __TEMP_BIG__ | nc -N ::1 10001
|
host socat -u OPEN:__TEMP_BIG__ TCP6:[::1]:10001
|
||||||
guestw
|
guestw
|
||||||
gout GUEST_MD5_BIG md5sum test_big.bin | cut -d' ' -f1
|
gout GUEST_MD5_BIG md5sum test_big.bin | cut -d' ' -f1
|
||||||
check [ "__GUEST_MD5_BIG__" = "__MD5_BIG__" ]
|
check [ "__GUEST_MD5_BIG__" = "__MD5_BIG__" ]
|
||||||
|
|
||||||
test TCP/IPv6: host to ns: big transfer
|
test TCP/IPv6: host to ns: big transfer
|
||||||
nsb nc -6 -l 10002 > __TEMP_NS_BIG__
|
nsb socat -u TCP6-LISTEN:10002 OPEN:__TEMP_NS_BIG__,create,trunc
|
||||||
host cat __TEMP_BIG__ | nc -N ::1 10002
|
host socat -u OPEN:__TEMP_BIG__ TCP6:[::1]:10002
|
||||||
nsw
|
nsw
|
||||||
nsout NS_MD5_BIG md5sum __TEMP_NS_BIG__ | cut -d' ' -f1
|
nsout NS_MD5_BIG md5sum __TEMP_NS_BIG__ | cut -d' ' -f1
|
||||||
check [ "__NS_MD5_BIG__" = "__MD5_BIG__" ]
|
check [ "__NS_MD5_BIG__" = "__MD5_BIG__" ]
|
||||||
|
|
||||||
test TCP/IPv6: guest to host: big transfer
|
test TCP/IPv6: guest to host: big transfer
|
||||||
hostb nc -6 -l 10003 > __TEMP_BIG__
|
hostb socat -u TCP6-LISTEN:10003 OPEN:__TEMP_BIG__,create,trunc
|
||||||
gout GW6 ip -j -6 route show|jq -rM '.[] | select(.dst == "default").gateway'
|
gout GW6 ip -j -6 route show|jq -rM '.[] | select(.dst == "default").gateway'
|
||||||
gout IFNAME ip -j link show | jq -rM '.[] | select(.link_type == "ether").ifname'
|
gout IFNAME ip -j link show | jq -rM '.[] | select(.link_type == "ether").ifname'
|
||||||
guest cat test_big.bin | nc -N __GW6__%__IFNAME__ 10003
|
guest socat -u OPEN:test_big.bin TCP6:[__GW6__%__IFNAME__]:10003
|
||||||
hostw
|
hostw
|
||||||
hout HOST_MD5_BIG md5sum __TEMP_BIG__ | cut -d' ' -f1
|
hout HOST_MD5_BIG md5sum __TEMP_BIG__ | cut -d' ' -f1
|
||||||
check [ "__HOST_MD5_BIG__" = "__MD5_BIG__" ]
|
check [ "__HOST_MD5_BIG__" = "__MD5_BIG__" ]
|
||||||
|
|
||||||
test TCP/IPv6: guest to ns: big transfer
|
test TCP/IPv6: guest to ns: big transfer
|
||||||
nsb nc -6 -l 10002 > __TEMP_BIG__
|
nsb socat -u TCP6-LISTEN:10002 OPEN:__TEMP_BIG__,create,trunc
|
||||||
guest cat test_big.bin | nc -N __GW6__%__IFNAME__ 10002
|
guest socat -u OPEN:test_big.bin TCP6:[__GW6__%__IFNAME__]:10002
|
||||||
hostw
|
hostw
|
||||||
hout HOST_MD5_BIG md5sum __TEMP_BIG__ | cut -d' ' -f1
|
hout HOST_MD5_BIG md5sum __TEMP_BIG__ | cut -d' ' -f1
|
||||||
check [ "__HOST_MD5_BIG__" = "__MD5_BIG__" ]
|
check [ "__HOST_MD5_BIG__" = "__MD5_BIG__" ]
|
||||||
|
|
||||||
test TCP/IPv6: ns to host (spliced): big transfer
|
test TCP/IPv6: ns to host (spliced): big transfer
|
||||||
hostb nc -6 -l 10003 > __TEMP_BIG__
|
hostb socat -u TCP6-LISTEN:10003 OPEN:__TEMP_BIG__,create,trunc
|
||||||
ns cat __TEMP_NS_BIG__ | nc -N ::1 10003
|
ns socat -u OPEN:__TEMP_NS_BIG__ TCP6:[::1]:10003
|
||||||
hostw
|
hostw
|
||||||
hout HOST_MD5_BIG md5sum __TEMP_BIG__ | cut -d' ' -f1
|
hout HOST_MD5_BIG md5sum __TEMP_BIG__ | cut -d' ' -f1
|
||||||
check [ "__HOST_MD5_BIG__" = "__MD5_BIG__" ]
|
check [ "__HOST_MD5_BIG__" = "__MD5_BIG__" ]
|
||||||
|
|
||||||
test TCP/IPv6: ns to host (via tap): big transfer
|
test TCP/IPv6: ns to host (via tap): big transfer
|
||||||
hostb nc -6 -l 10003 > __TEMP_BIG__
|
hostb socat -u TCP6-LISTEN:10003 OPEN:__TEMP_BIG__,create,trunc
|
||||||
nsout IFNAME ip -j link show | jq -rM '.[] | select(.link_type == "ether").ifname'
|
nsout IFNAME ip -j link show | jq -rM '.[] | select(.link_type == "ether").ifname'
|
||||||
ns cat __TEMP_NS_BIG__ | nc -N __GW6__%__IFNAME__ 10003
|
ns socat -u OPEN:__TEMP_NS_BIG__ TCP6:[__GW6__%__IFNAME__]:10003
|
||||||
hostw
|
hostw
|
||||||
hout HOST_MD5_BIG md5sum __TEMP_BIG__ | cut -d' ' -f1
|
hout HOST_MD5_BIG md5sum __TEMP_BIG__ | cut -d' ' -f1
|
||||||
check [ "__HOST_MD5_BIG__" = "__MD5_BIG__" ]
|
check [ "__HOST_MD5_BIG__" = "__MD5_BIG__" ]
|
||||||
|
|
||||||
test TCP/IPv6: ns to guest (using loopback address): big transfer
|
test TCP/IPv6: ns to guest (using loopback address): big transfer
|
||||||
guestb nc -6 -l 10001 > test_big.bin
|
guestb socat -u TCP6-LISTEN:10001 OPEN:test_big.bin,create,trunc
|
||||||
ns cat __TEMP_NS_BIG__ | nc -N ::1 10001
|
ns socat -u OPEN:__TEMP_NS_BIG__ TCP6:[::1]:10001
|
||||||
guestw
|
guestw
|
||||||
gout GUEST_MD5_BIG md5sum test_big.bin | cut -d' ' -f1
|
gout GUEST_MD5_BIG md5sum test_big.bin | cut -d' ' -f1
|
||||||
check [ "__GUEST_MD5_BIG__" = "__MD5_BIG__" ]
|
check [ "__GUEST_MD5_BIG__" = "__MD5_BIG__" ]
|
||||||
|
|
||||||
test TCP/IPv6: ns to guest (using namespace address): big transfer
|
test TCP/IPv6: ns to guest (using namespace address): big transfer
|
||||||
guestb nc -6 -l 10001 > test_big.bin
|
guestb socat -u TCP6-LISTEN:10001 OPEN:test_big.bin,create,trunc
|
||||||
nsout ADDR6 ip -j -6 addr show|jq -rM '.[] | select(.ifname == "__IFNAME__").addr_info[0].local'
|
nsout ADDR6 ip -j -6 addr show|jq -rM '.[] | select(.ifname == "__IFNAME__").addr_info[0].local'
|
||||||
ns cat __TEMP_NS_BIG__ | nc -N __ADDR6__ 10001
|
ns socat -u OPEN:__TEMP_NS_BIG__ TCP6:[__ADDR6__]:10001
|
||||||
guestw
|
guestw
|
||||||
gout GUEST_MD5_BIG md5sum test_big.bin | cut -d' ' -f1
|
gout GUEST_MD5_BIG md5sum test_big.bin | cut -d' ' -f1
|
||||||
check [ "__GUEST_MD5_BIG__" = "__MD5_BIG__" ]
|
check [ "__GUEST_MD5_BIG__" = "__MD5_BIG__" ]
|
||||||
|
|
||||||
test TCP/IPv6: host to guest: small transfer
|
test TCP/IPv6: host to guest: small transfer
|
||||||
guestb nc -6 -l 10001 > test_small.bin
|
guestb socat -u TCP6-LISTEN:10001 OPEN:test_small.bin,create,trunc
|
||||||
host cat __TEMP_SMALL__ | nc -N ::1 10001
|
host socat -u OPEN:__TEMP_SMALL__ TCP6:[::1]:10001
|
||||||
guestw
|
guestw
|
||||||
gout GUEST_MD5_SMALL md5sum test_small.bin | cut -d' ' -f1
|
gout GUEST_MD5_SMALL md5sum test_small.bin | cut -d' ' -f1
|
||||||
check [ "__GUEST_MD5_SMALL__" = "__MD5_SMALL__" ]
|
check [ "__GUEST_MD5_SMALL__" = "__MD5_SMALL__" ]
|
||||||
|
|
||||||
test TCP/IPv6: host to ns: small transfer
|
test TCP/IPv6: host to ns: small transfer
|
||||||
nsb nc -6 -l 10002 > __TEMP_NS_SMALL__
|
nsb socat -u TCP6-LISTEN:10002 OPEN:__TEMP_NS_SMALL__,create,trunc
|
||||||
host cat __TEMP_SMALL__ | nc -N ::1 10002
|
host socat -u OPEN:__TEMP_SMALL__ TCP6:[::1]:10002
|
||||||
nsw
|
nsw
|
||||||
nsout NS_MD5_SMALL md5sum __TEMP_NS_SMALL__ | cut -d' ' -f1
|
nsout NS_MD5_SMALL md5sum __TEMP_NS_SMALL__ | cut -d' ' -f1
|
||||||
check [ "__NS_MD5_SMALL__" = "__MD5_SMALL__" ]
|
check [ "__NS_MD5_SMALL__" = "__MD5_SMALL__" ]
|
||||||
|
|
||||||
test TCP/IPv6: guest to host: small transfer
|
test TCP/IPv6: guest to host: small transfer
|
||||||
hostb nc -6 -l 10003 > __TEMP_SMALL__
|
hostb socat -u TCP6-LISTEN:10003 OPEN:__TEMP_SMALL__,create,trunc
|
||||||
gout GW6 ip -j -6 route show|jq -rM '.[] | select(.dst == "default").gateway'
|
gout GW6 ip -j -6 route show|jq -rM '.[] | select(.dst == "default").gateway'
|
||||||
gout IFNAME ip -j link show | jq -rM '.[] | select(.link_type == "ether").ifname'
|
gout IFNAME ip -j link show | jq -rM '.[] | select(.link_type == "ether").ifname'
|
||||||
guest cat test_small.bin | nc -N __GW6__%__IFNAME__ 10003
|
guest socat -u OPEN:test_small.bin TCP6:[__GW6__%__IFNAME__]:10003
|
||||||
hostw
|
hostw
|
||||||
hout HOST_MD5_SMALL md5sum __TEMP_SMALL__ | cut -d' ' -f1
|
hout HOST_MD5_SMALL md5sum __TEMP_SMALL__ | cut -d' ' -f1
|
||||||
check [ "__HOST_MD5_SMALL__" = "__MD5_SMALL__" ]
|
check [ "__HOST_MD5_SMALL__" = "__MD5_SMALL__" ]
|
||||||
|
|
||||||
test TCP/IPv6: guest to ns: small transfer
|
test TCP/IPv6: guest to ns: small transfer
|
||||||
nsb nc -6 -l 10002 > __TEMP_SMALL__
|
nsb socat -u TCP6-LISTEN:10002 OPEN:__TEMP_SMALL__
|
||||||
guest cat test_small.bin | nc -N __GW6__%__IFNAME__ 10002
|
guest socat -u OPEN:test_small.bin TCP6:[__GW6__%__IFNAME__]:10002
|
||||||
hostw
|
hostw
|
||||||
hout HOST_MD5_SMALL md5sum __TEMP_SMALL__ | cut -d' ' -f1
|
hout HOST_MD5_SMALL md5sum __TEMP_SMALL__ | cut -d' ' -f1
|
||||||
check [ "__HOST_MD5_SMALL__" = "__MD5_SMALL__" ]
|
check [ "__HOST_MD5_SMALL__" = "__MD5_SMALL__" ]
|
||||||
|
|
||||||
test TCP/IPv6: ns to host (spliced): small transfer
|
test TCP/IPv6: ns to host (spliced): small transfer
|
||||||
hostb nc -6 -l 10003 > __TEMP_SMALL__
|
hostb socat -u TCP6-LISTEN:10003 OPEN:__TEMP_SMALL__,create,trunc
|
||||||
ns cat __TEMP_NS_SMALL__ | nc -N ::1 10003
|
ns socat -u OPEN:__TEMP_NS_SMALL__ TCP6:[::1]:10003
|
||||||
hostw
|
hostw
|
||||||
hout HOST_MD5_SMALL md5sum __TEMP_SMALL__ | cut -d' ' -f1
|
hout HOST_MD5_SMALL md5sum __TEMP_SMALL__ | cut -d' ' -f1
|
||||||
check [ "__HOST_MD5_SMALL__" = "__MD5_SMALL__" ]
|
check [ "__HOST_MD5_SMALL__" = "__MD5_SMALL__" ]
|
||||||
|
|
||||||
test TCP/IPv6: ns to host (via tap): small transfer
|
test TCP/IPv6: ns to host (via tap): small transfer
|
||||||
hostb nc -6 -l 10003 > __TEMP_SMALL__
|
hostb socat -u TCP6-LISTEN:10003 OPEN:__TEMP_SMALL__,create,trunc
|
||||||
nsout IFNAME ip -j link show | jq -rM '.[] | select(.link_type == "ether").ifname'
|
nsout IFNAME ip -j link show | jq -rM '.[] | select(.link_type == "ether").ifname'
|
||||||
ns cat __TEMP_NS_SMALL__ | nc -N __GW6__%__IFNAME__ 10003
|
ns socat -u OPEN:__TEMP_NS_SMALL__ TCP6:[__GW6__%__IFNAME__]:10003
|
||||||
hostw
|
hostw
|
||||||
hout HOST_MD5_SMALL md5sum __TEMP_SMALL__ | cut -d' ' -f1
|
hout HOST_MD5_SMALL md5sum __TEMP_SMALL__ | cut -d' ' -f1
|
||||||
check [ "__HOST_MD5_SMALL__" = "__MD5_SMALL__" ]
|
check [ "__HOST_MD5_SMALL__" = "__MD5_SMALL__" ]
|
||||||
|
|
||||||
test TCP/IPv6: ns to guest (using loopback address): small transfer
|
test TCP/IPv6: ns to guest (using loopback address): small transfer
|
||||||
guestb nc -6 -l 10001 > test_small.bin
|
guestb socat -u TCP6-LISTEN:10001 OPEN:test_small.bin,create,trunc
|
||||||
ns cat __TEMP_NS_SMALL__ | nc -N ::1 10001
|
ns socat -u OPEN:__TEMP_NS_SMALL__ TCP6:[::1]:10001
|
||||||
guestw
|
guestw
|
||||||
gout GUEST_MD5_SMALL md5sum test_small.bin | cut -d' ' -f1
|
gout GUEST_MD5_SMALL md5sum test_small.bin | cut -d' ' -f1
|
||||||
check [ "__GUEST_MD5_SMALL__" = "__MD5_SMALL__" ]
|
check [ "__GUEST_MD5_SMALL__" = "__MD5_SMALL__" ]
|
||||||
|
|
||||||
test TCP/IPv6: ns to guest (using namespace address): small transfer
|
test TCP/IPv6: ns to guest (using namespace address): small transfer
|
||||||
guestb nc -6 -l 10001 > test_small.bin
|
guestb socat -u TCP6-LISTEN:10001 OPEN:test_small.bin,create,trunc
|
||||||
ns cat __TEMP_NS_SMALL__ | nc -N __ADDR6__ 10001
|
ns socat -u OPEN:__TEMP_NS_SMALL__ TCP6:[__ADDR6__]:10001
|
||||||
guestw
|
guestw
|
||||||
gout GUEST_MD5_SMALL md5sum test_small.bin | cut -d' ' -f1
|
gout GUEST_MD5_SMALL md5sum test_small.bin | cut -d' ' -f1
|
||||||
check [ "__GUEST_MD5_SMALL__" = "__MD5_SMALL__" ]
|
check [ "__GUEST_MD5_SMALL__" = "__MD5_SMALL__" ]
|
||||||
|
|
|
@ -11,31 +11,31 @@
|
||||||
# Copyright (c) 2021 Red Hat GmbH
|
# Copyright (c) 2021 Red Hat GmbH
|
||||||
# Author: Stefano Brivio <sbrivio@redhat.com>
|
# Author: Stefano Brivio <sbrivio@redhat.com>
|
||||||
|
|
||||||
htools dd ncat ip jq cat md5sum cut
|
htools dd socat ip jq md5sum cut
|
||||||
nstools ncat ip jq cat md5sum cut
|
nstools socat ip jq md5sum cut
|
||||||
|
|
||||||
test TCP/IPv4: host to ns: big transfer
|
test TCP/IPv4: host to ns: big transfer
|
||||||
temp TEMP_BIG
|
temp TEMP_BIG
|
||||||
temp TEMP_NS_BIG
|
temp TEMP_NS_BIG
|
||||||
nsb ncat -4 -l 127.0.0.1 10002 > __TEMP_NS_BIG__
|
nsb socat -u TCP4-LISTEN:10002,bind=127.0.0.1 OPEN:__TEMP_NS_BIG__,create,trunc
|
||||||
host dd if=/dev/urandom bs=1M count=10 > __TEMP_BIG__
|
host dd if=/dev/urandom bs=1M count=10 of=__TEMP_BIG__
|
||||||
host cat __TEMP_BIG__ | ncat 127.0.0.1 10002
|
host socat -u OPEN:__TEMP_BIG__ TCP4:127.0.0.1:10002
|
||||||
nsw
|
nsw
|
||||||
hout MD5_BIG md5sum __TEMP_BIG__ | cut -d' ' -f1
|
hout MD5_BIG md5sum __TEMP_BIG__ | cut -d' ' -f1
|
||||||
nsout NS_MD5_BIG md5sum __TEMP_NS_BIG__ | cut -d' ' -f1
|
nsout NS_MD5_BIG md5sum __TEMP_NS_BIG__ | cut -d' ' -f1
|
||||||
check [ "__NS_MD5_BIG__" = "__MD5_BIG__" ]
|
check [ "__NS_MD5_BIG__" = "__MD5_BIG__" ]
|
||||||
|
|
||||||
test TCP/IPv4: ns to host (spliced): big transfer
|
test TCP/IPv4: ns to host (spliced): big transfer
|
||||||
hostb ncat -4 -l 127.0.0.1 10003 > __TEMP_BIG__
|
hostb socat -u TCP4-LISTEN:10003,bind=127.0.0.1 OPEN:__TEMP_BIG__,create,trunc
|
||||||
ns cat __TEMP_NS_BIG__ | ncat 127.0.0.1 10003
|
ns socat -u OPEN:__TEMP_NS_BIG__ TCP4:127.0.0.1:10003
|
||||||
hostw
|
hostw
|
||||||
hout HOST_MD5_BIG md5sum __TEMP_BIG__ | cut -d' ' -f1
|
hout HOST_MD5_BIG md5sum __TEMP_BIG__ | cut -d' ' -f1
|
||||||
check [ "__HOST_MD5_BIG__" = "__MD5_BIG__" ]
|
check [ "__HOST_MD5_BIG__" = "__MD5_BIG__" ]
|
||||||
|
|
||||||
test TCP/IPv4: ns to host (via tap): big transfer
|
test TCP/IPv4: ns to host (via tap): big transfer
|
||||||
hostb ncat -4 -l 0.0.0.0 10003 > __TEMP_BIG__
|
hostb socat -u TCP4-LISTEN:10003 OPEN:__TEMP_BIG__,create,trunc
|
||||||
nsout GW ip -j -4 route show|jq -rM '.[] | select(.dst == "default").gateway'
|
nsout GW ip -j -4 route show|jq -rM '.[] | select(.dst == "default").gateway'
|
||||||
ns cat __TEMP_NS_BIG__ | ncat __GW__ 10003
|
ns socat -u OPEN:__TEMP_NS_BIG__ TCP4:__GW__:10003
|
||||||
hostw
|
hostw
|
||||||
hout HOST_MD5_BIG md5sum __TEMP_BIG__ | cut -d' ' -f1
|
hout HOST_MD5_BIG md5sum __TEMP_BIG__ | cut -d' ' -f1
|
||||||
check [ "__HOST_MD5_BIG__" = "__MD5_BIG__" ]
|
check [ "__HOST_MD5_BIG__" = "__MD5_BIG__" ]
|
||||||
|
@ -43,50 +43,50 @@ check [ "__HOST_MD5_BIG__" = "__MD5_BIG__" ]
|
||||||
test TCP/IPv4: host to ns: small transfer
|
test TCP/IPv4: host to ns: small transfer
|
||||||
temp TEMP_SMALL
|
temp TEMP_SMALL
|
||||||
temp TEMP_NS_SMALL
|
temp TEMP_NS_SMALL
|
||||||
nsb ncat -4 -l 127.0.0.1 10002 > __TEMP_NS_SMALL__
|
nsb socat -u TCP4-LISTEN:10002,bind=127.0.0.1 OPEN:__TEMP_NS_SMALL__,create,trunc
|
||||||
host dd if=/dev/urandom bs=2k count=1 > __TEMP_SMALL__
|
host dd if=/dev/urandom bs=2k count=1 of=__TEMP_SMALL__
|
||||||
host cat __TEMP_SMALL__ | ncat 127.0.0.1 10002
|
host socat OPEN:__TEMP_SMALL__ TCP4:127.0.0.1:10002
|
||||||
nsw
|
nsw
|
||||||
hout MD5_SMALL md5sum __TEMP_SMALL__ | cut -d' ' -f1
|
hout MD5_SMALL md5sum __TEMP_SMALL__ | cut -d' ' -f1
|
||||||
nsout NS_MD5_SMALL md5sum __TEMP_NS_SMALL__ | cut -d' ' -f1
|
nsout NS_MD5_SMALL md5sum __TEMP_NS_SMALL__ | cut -d' ' -f1
|
||||||
check [ "__NS_MD5_SMALL__" = "__MD5_SMALL__" ]
|
check [ "__NS_MD5_SMALL__" = "__MD5_SMALL__" ]
|
||||||
|
|
||||||
test TCP/IPv4: ns to host (spliced): small transfer
|
test TCP/IPv4: ns to host (spliced): small transfer
|
||||||
hostb ncat -4 -l 127.0.0.1 10003 > __TEMP_SMALL__
|
hostb socat -u TCP4-LISTEN:10003,bind=127.0.0.1 OPEN:__TEMP_SMALL__,create,trunc
|
||||||
ns cat __TEMP_NS_SMALL__ | ncat 127.0.0.1 10003
|
ns socat OPEN:__TEMP_NS_SMALL__ TCP4:127.0.0.1:10003
|
||||||
hostw
|
hostw
|
||||||
hout HOST_MD5_SMALL md5sum __TEMP_SMALL__ | cut -d' ' -f1
|
hout HOST_MD5_SMALL md5sum __TEMP_SMALL__ | cut -d' ' -f1
|
||||||
check [ "__HOST_MD5_SMALL__" = "__MD5_SMALL__" ]
|
check [ "__HOST_MD5_SMALL__" = "__MD5_SMALL__" ]
|
||||||
|
|
||||||
test TCP/IPv4: ns to host (via tap): small transfer
|
test TCP/IPv4: ns to host (via tap): small transfer
|
||||||
hostb ncat -4 -l 0.0.0.0 10003 > __TEMP_SMALL__
|
hostb socat -u TCP4-LISTEN:10003 OPEN:__TEMP_SMALL__,create,trunc
|
||||||
nsout GW ip -j -4 route show|jq -rM '.[] | select(.dst == "default").gateway'
|
nsout GW ip -j -4 route show|jq -rM '.[] | select(.dst == "default").gateway'
|
||||||
ns cat __TEMP_NS_SMALL__ | ncat __GW__ 10003
|
ns socat -u OPEN:__TEMP_NS_SMALL__ TCP4:__GW__:10003
|
||||||
hostw
|
hostw
|
||||||
hout HOST_MD5_SMALL md5sum __TEMP_SMALL__ | cut -d' ' -f1
|
hout HOST_MD5_SMALL md5sum __TEMP_SMALL__ | cut -d' ' -f1
|
||||||
check [ "__HOST_MD5_SMALL__" = "__MD5_SMALL__" ]
|
check [ "__HOST_MD5_SMALL__" = "__MD5_SMALL__" ]
|
||||||
|
|
||||||
test TCP/IPv6: host to ns: big transfer
|
test TCP/IPv6: host to ns: big transfer
|
||||||
nsb ncat -6 -l ::1 10002 > __TEMP_NS_BIG__
|
nsb socat -u TCP6-LISTEN:10002,bind=[::1] OPEN:__TEMP_NS_BIG__,create,trunc
|
||||||
host cat __TEMP_BIG__ | ncat ::1 10002
|
host socat -u OPEN:__TEMP_BIG__ TCP6:[::1]:10002
|
||||||
nsw
|
nsw
|
||||||
hout MD5_BIG md5sum __TEMP_BIG__ | cut -d' ' -f1
|
hout MD5_BIG md5sum __TEMP_BIG__ | cut -d' ' -f1
|
||||||
nsout NS_MD5_BIG md5sum __TEMP_NS_BIG__ | cut -d' ' -f1
|
nsout NS_MD5_BIG md5sum __TEMP_NS_BIG__ | cut -d' ' -f1
|
||||||
check [ "__NS_MD5_BIG__" = "__MD5_BIG__" ]
|
check [ "__NS_MD5_BIG__" = "__MD5_BIG__" ]
|
||||||
|
|
||||||
test TCP/IPv6: ns to host (spliced): big transfer
|
test TCP/IPv6: ns to host (spliced): big transfer
|
||||||
hostb ncat -6 -l ::1 10003 > __TEMP_BIG__
|
hostb socat -u TCP6-LISTEN:10003,bind=[::1] OPEN:__TEMP_BIG__,create,trunc
|
||||||
ns cat __TEMP_NS_BIG__ | ncat ::1 10003
|
ns socat -u OPEN:__TEMP_NS_BIG__ TCP6:[::1]:10003
|
||||||
hostw
|
hostw
|
||||||
hout HOST_MD5_BIG md5sum __TEMP_BIG__ | cut -d' ' -f1
|
hout HOST_MD5_BIG md5sum __TEMP_BIG__ | cut -d' ' -f1
|
||||||
check [ "__HOST_MD5_BIG__" = "__MD5_BIG__" ]
|
check [ "__HOST_MD5_BIG__" = "__MD5_BIG__" ]
|
||||||
nsw
|
nsw
|
||||||
|
|
||||||
test TCP/IPv6: ns to host (via tap): big transfer
|
test TCP/IPv6: ns to host (via tap): big transfer
|
||||||
hostb ncat -6 -l :: 10003 > __TEMP_BIG__
|
hostb socat -u TCP6-LISTEN:10003 OPEN:__TEMP_BIG__,create,trunc
|
||||||
nsout GW6 ip -j -6 route show|jq -rM '.[] | select(.dst == "default").gateway'
|
nsout GW6 ip -j -6 route show|jq -rM '.[] | select(.dst == "default").gateway'
|
||||||
nsout IFNAME ip -j link show | jq -rM '.[] | select(.link_type == "ether").ifname'
|
nsout IFNAME ip -j link show | jq -rM '.[] | select(.link_type == "ether").ifname'
|
||||||
ns cat __TEMP_NS_BIG__ | ncat __GW6__%__IFNAME__ 10003
|
ns socat -u OPEN:__TEMP_NS_BIG__ TCP6:[__GW6__%__IFNAME__]:10003
|
||||||
hostw
|
hostw
|
||||||
hout HOST_MD5_BIG md5sum __TEMP_BIG__ | cut -d' ' -f1
|
hout HOST_MD5_BIG md5sum __TEMP_BIG__ | cut -d' ' -f1
|
||||||
check [ "__HOST_MD5_BIG__" = "__MD5_BIG__" ]
|
check [ "__HOST_MD5_BIG__" = "__MD5_BIG__" ]
|
||||||
|
@ -94,24 +94,24 @@ check [ "__HOST_MD5_BIG__" = "__MD5_BIG__" ]
|
||||||
test TCP/IPv6: host to ns: small transfer
|
test TCP/IPv6: host to ns: small transfer
|
||||||
temp TEMP_SMALL
|
temp TEMP_SMALL
|
||||||
temp TEMP_NS_SMALL
|
temp TEMP_NS_SMALL
|
||||||
nsb ncat -6 -l ::1 10002 > __TEMP_NS_SMALL__
|
nsb socat -u TCP6-LISTEN:10002,bind=[::1] OPEN:__TEMP_NS_SMALL__,create,trunc
|
||||||
host dd if=/dev/urandom bs=2k count=1 > __TEMP_SMALL__
|
host dd if=/dev/urandom bs=2k count=1 of=__TEMP_SMALL__
|
||||||
host cat __TEMP_SMALL__ | ncat ::1 10002
|
host socat -u OPEN:__TEMP_SMALL__ TCP6:[::1]:10002
|
||||||
nsw
|
nsw
|
||||||
hout MD5_SMALL md5sum __TEMP_SMALL__ | cut -d' ' -f1
|
hout MD5_SMALL md5sum __TEMP_SMALL__ | cut -d' ' -f1
|
||||||
nsout NS_MD5_SMALL md5sum __TEMP_NS_SMALL__ | cut -d' ' -f1
|
nsout NS_MD5_SMALL md5sum __TEMP_NS_SMALL__ | cut -d' ' -f1
|
||||||
check [ "__NS_MD5_SMALL__" = "__MD5_SMALL__" ]
|
check [ "__NS_MD5_SMALL__" = "__MD5_SMALL__" ]
|
||||||
|
|
||||||
test TCP/IPv6: ns to host (spliced): small transfer
|
test TCP/IPv6: ns to host (spliced): small transfer
|
||||||
hostb ncat -6 -l ::1 10003 > __TEMP_SMALL__
|
hostb socat -u TCP6-LISTEN:10003,bind=[::1] OPEN:__TEMP_SMALL__,create,trunc
|
||||||
ns cat __TEMP_NS_SMALL__ | ncat ::1 10003
|
ns socat -u OPEN:__TEMP_NS_SMALL__ TCP6:[::1]:10003
|
||||||
hostw
|
hostw
|
||||||
hout HOST_MD5_SMALL md5sum __TEMP_SMALL__ | cut -d' ' -f1
|
hout HOST_MD5_SMALL md5sum __TEMP_SMALL__ | cut -d' ' -f1
|
||||||
check [ "__HOST_MD5_SMALL__" = "__MD5_SMALL__" ]
|
check [ "__HOST_MD5_SMALL__" = "__MD5_SMALL__" ]
|
||||||
|
|
||||||
test TCP/IPv6: ns to host (via tap): small transfer
|
test TCP/IPv6: ns to host (via tap): small transfer
|
||||||
hostb ncat -6 -l :: 10003 > __TEMP_SMALL__
|
hostb socat -u TCP6-LISTEN:10003 OPEN:__TEMP_SMALL__,create,trunc
|
||||||
ns cat __TEMP_NS_SMALL__ | ncat __GW6__%__IFNAME__ 10003
|
ns socat -u OPEN:__TEMP_NS_SMALL__ TCP6:[__GW6__%__IFNAME__]:10003
|
||||||
hostw
|
hostw
|
||||||
hout HOST_MD5_SMALL md5sum __TEMP_SMALL__ | cut -d' ' -f1
|
hout HOST_MD5_SMALL md5sum __TEMP_SMALL__ | cut -d' ' -f1
|
||||||
check [ "__HOST_MD5_SMALL__" = "__MD5_SMALL__" ]
|
check [ "__HOST_MD5_SMALL__" = "__MD5_SMALL__" ]
|
||||||
|
|
|
@ -11,9 +11,9 @@
|
||||||
# Copyright (c) 2021 Red Hat GmbH
|
# Copyright (c) 2021 Red Hat GmbH
|
||||||
# Author: Stefano Brivio <sbrivio@redhat.com>
|
# Author: Stefano Brivio <sbrivio@redhat.com>
|
||||||
|
|
||||||
g1tools ip jq dhclient nc cat
|
g1tools ip jq dhclient socat cat
|
||||||
g2tools ip jq dhclient nc cat
|
g2tools ip jq dhclient socat cat
|
||||||
htools ip jq cat md5sum cut
|
htools ip jq md5sum cut
|
||||||
|
|
||||||
test Interface names
|
test Interface names
|
||||||
g1out IFNAME1 ip -j link show | jq -rM '.[] | select(.link_type == "ether").ifname'
|
g1out IFNAME1 ip -j link show | jq -rM '.[] | select(.link_type == "ether").ifname'
|
||||||
|
@ -46,8 +46,8 @@ check [ "__ADDR2_6__" = "__HOST_ADDR6__" ]
|
||||||
|
|
||||||
test TCP/IPv4: guest 1 > guest 2
|
test TCP/IPv4: guest 1 > guest 2
|
||||||
g1out GW1 ip -j -4 route show|jq -rM '.[] | select(.dst == "default").gateway'
|
g1out GW1 ip -j -4 route show|jq -rM '.[] | select(.dst == "default").gateway'
|
||||||
guest2b nc -4 -l 10004 > msg
|
guest2b socat -u TCP4-LISTEN:10004 OPEN:msg,create,trunc
|
||||||
guest1 echo "Hello_from_guest_1" | nc -N __GW1__ 10004
|
guest1 echo "Hello_from_guest_1" | socat -u STDIN TCP4:__GW1__:10004
|
||||||
guest2w
|
guest2w
|
||||||
sleep 1
|
sleep 1
|
||||||
g2out MSG2 cat msg
|
g2out MSG2 cat msg
|
||||||
|
@ -55,24 +55,24 @@ check [ "__MSG2__" = "Hello_from_guest_1" ]
|
||||||
|
|
||||||
test TCP/IPv6: guest 2 > guest 1
|
test TCP/IPv6: guest 2 > guest 1
|
||||||
g2out GW2_6 ip -j -6 route show|jq -rM '.[] | select(.dst == "default").gateway'
|
g2out GW2_6 ip -j -6 route show|jq -rM '.[] | select(.dst == "default").gateway'
|
||||||
guest1b nc -6 -l 10001 > msg
|
guest1b socat -u TCP6-LISTEN:10001 OPEN:msg,create,trunc
|
||||||
guest2 echo "Hello_from_guest_2" | nc -N __GW2_6__%__IFNAME2__ 10001
|
guest2 echo "Hello_from_guest_2" | socat -u STDIN TCP6:[__GW2_6__%__IFNAME2__]:10001
|
||||||
guest1w
|
guest1w
|
||||||
sleep 1
|
sleep 1
|
||||||
g1out MSG1 cat msg
|
g1out MSG1 cat msg
|
||||||
check [ "__MSG1__" = "Hello_from_guest_2" ]
|
check [ "__MSG1__" = "Hello_from_guest_2" ]
|
||||||
|
|
||||||
test UDP/IPv4: guest 1 > guest 2
|
test UDP/IPv4: guest 1 > guest 2
|
||||||
guest2b nc -u -W1 -4 -l 10004 > msg
|
guest2b socat -u TCP4-LISTEN:10004 OPEN:msg,create,trunc
|
||||||
guest1 echo "Hello_from_guest_1" | nc -u -q1 __GW1__ 10004
|
guest1 echo "Hello_from_guest_1" | socat -u STDIN TCP4:__GW1__:10004
|
||||||
guest2w
|
guest2w
|
||||||
sleep 1
|
sleep 1
|
||||||
g2out MSG2 cat msg
|
g2out MSG2 cat msg
|
||||||
check [ "__MSG2__" = "Hello_from_guest_1" ]
|
check [ "__MSG2__" = "Hello_from_guest_1" ]
|
||||||
|
|
||||||
test UDP/IPv6: guest 2 > guest 1
|
test UDP/IPv6: guest 2 > guest 1
|
||||||
guest1b nc -u -W1 -6 -l 10001 > msg
|
guest1b socat -u TCP6-LISTEN:10001 OPEN:msg,create,trunc
|
||||||
guest2 echo "Hello_from_guest_2" | nc -u -q1 -N __GW2_6__%__IFNAME2__ 10001
|
guest2 echo "Hello_from_guest_2" | socat -u STDIN TCP6:[__GW2_6__%__IFNAME2__]:10001
|
||||||
guest1w
|
guest1w
|
||||||
sleep 1
|
sleep 1
|
||||||
g1out MSG1 cat msg
|
g1out MSG1 cat msg
|
||||||
|
|
|
@ -11,15 +11,15 @@
|
||||||
# Copyright (c) 2021 Red Hat GmbH
|
# Copyright (c) 2021 Red Hat GmbH
|
||||||
# Author: Stefano Brivio <sbrivio@redhat.com>
|
# Author: Stefano Brivio <sbrivio@redhat.com>
|
||||||
|
|
||||||
gtools nc tee grep cat ip jq md5sum cut
|
gtools socat tee grep cat ip jq md5sum cut
|
||||||
htools printf dd nc tee grep cat ip jq md5sum cut
|
htools printf dd socat tee grep cat ip jq md5sum cut
|
||||||
|
|
||||||
test UDP/IPv4: host to guest
|
test UDP/IPv4: host to guest
|
||||||
temp TEMP
|
temp TEMP
|
||||||
temp NC_PID
|
temp SC_PID
|
||||||
guestb (nc -u -q1 -4 -l 10001 & echo $! > __NC_PID__) | tee test.bin | (grep -qm1 "END_OF_TEST" && kill $(cat __NC_PID__))
|
guestb (socat -u UDP4-LISTEN:10001 STDOUT & echo $! > __SC_PID__) | tee test.bin | (grep -qm1 "END_OF_TEST" && kill $(cat __SC_PID__))
|
||||||
host dd if=/dev/urandom bs=1k count=5 > __TEMP__ && printf "\nEND_OF_TEST\n" >> __TEMP__
|
host dd if=/dev/urandom bs=1k count=5 > __TEMP__ && printf "\nEND_OF_TEST\n" >> __TEMP__
|
||||||
host cat __TEMP__ | nc -u -q1 -N 127.0.0.1 10001
|
host socat -u OPEN:__TEMP__ UDP4:127.0.0.1:10001
|
||||||
guestw
|
guestw
|
||||||
hout HOST_MD5 md5sum __TEMP__ | cut -d' ' -f1
|
hout HOST_MD5 md5sum __TEMP__ | cut -d' ' -f1
|
||||||
gout GUEST_MD5 md5sum test.bin | cut -d' ' -f1
|
gout GUEST_MD5 md5sum test.bin | cut -d' ' -f1
|
||||||
|
@ -27,27 +27,27 @@ check [ "__GUEST_MD5__" = "__HOST_MD5__" ]
|
||||||
|
|
||||||
test UDP/IPv4: guest to host
|
test UDP/IPv4: guest to host
|
||||||
host :> __TEMP__
|
host :> __TEMP__
|
||||||
hostb (nc -u -q1 -4 -l 10003 & echo $! > __NC_PID__) | tee __TEMP__ | (grep -qm1 "END_OF_TEST" && kill $(cat __NC_PID__))
|
hostb (socat -u UDP4-LISTEN:10003,bind=127.0.0.1 STDOUT & echo $! > __SC_PID__) | tee __TEMP__ | (grep -qm1 "END_OF_TEST" && kill $(cat __SC_PID__))
|
||||||
gout GW ip -j -4 route show|jq -rM '.[] | select(.dst == "default").gateway'
|
gout GW ip -j -4 route show|jq -rM '.[] | select(.dst == "default").gateway'
|
||||||
guest cat test.bin | nc -u -q1 -N __GW__ 10003
|
guest socat -u OPEN:test.bin UDP4:__GW__:10003
|
||||||
hostw
|
hostw
|
||||||
hout HOST_MD5 md5sum __TEMP__ | cut -d' ' -f1
|
hout HOST_MD5 md5sum __TEMP__ | cut -d' ' -f1
|
||||||
check [ "__GUEST_MD5__" = "__HOST_MD5__" ]
|
check [ "__GUEST_MD5__" = "__HOST_MD5__" ]
|
||||||
|
|
||||||
test UDP/IPv6: host to guest
|
test UDP/IPv6: host to guest
|
||||||
guestb (nc -u -q1 -6 -l 10001 & echo $! > nc.pid) | tee test.bin | (grep -qm1 "END_OF_TEST" && kill $(cat nc.pid))
|
guestb (socat -u UDP6-LISTEN:10001 STDOUT & echo $! > sc.pid) | tee test.bin | (grep -qm1 "END_OF_TEST" && kill $(cat sc.pid))
|
||||||
sleep 1
|
sleep 1
|
||||||
host cat __TEMP__ | nc -u -q1 -N ::1 10001
|
host socat -u OPEN:__TEMP__ UDP6:[::1]:10001
|
||||||
guestw
|
guestw
|
||||||
gout GUEST_MD5 md5sum test.bin | cut -d' ' -f1
|
gout GUEST_MD5 md5sum test.bin | cut -d' ' -f1
|
||||||
check [ "__GUEST_MD5__" = "__HOST_MD5__" ]
|
check [ "__GUEST_MD5__" = "__HOST_MD5__" ]
|
||||||
|
|
||||||
test UDP/IPv6: guest to host
|
test UDP/IPv6: guest to host
|
||||||
host :> __TEMP__
|
host :> __TEMP__
|
||||||
hostb (nc -u -q1 -6 -l 10003 & echo $! > __NC_PID__) | tee __TEMP__ | (grep -qm1 "END_OF_TEST" && kill $(cat __NC_PID__))
|
hostb (socat -u UDP6-LISTEN:10003,bind=[::1] STDOUT & echo $! > __SC_PID__) | tee __TEMP__ | (grep -qm1 "END_OF_TEST" && kill $(cat __SC_PID__))
|
||||||
gout GW6 ip -j -6 route show|jq -rM '.[] | select(.dst == "default").gateway'
|
gout GW6 ip -j -6 route show|jq -rM '.[] | select(.dst == "default").gateway'
|
||||||
gout IFNAME ip -j link show | jq -rM '.[] | select(.link_type == "ether").ifname'
|
gout IFNAME ip -j link show | jq -rM '.[] | select(.link_type == "ether").ifname'
|
||||||
guest cat test.bin | nc -u -q1 -N __GW6__%__IFNAME__ 10003
|
guest socat -u OPEN:test.bin UDP6:[__GW6__%__IFNAME__]:10003
|
||||||
hostw
|
hostw
|
||||||
hout HOST_MD5 md5sum __TEMP__ | cut -d' ' -f1
|
hout HOST_MD5 md5sum __TEMP__ | cut -d' ' -f1
|
||||||
check [ "__GUEST_MD5__" = "__HOST_MD5__" ]
|
check [ "__GUEST_MD5__" = "__HOST_MD5__" ]
|
||||||
|
|
|
@ -11,16 +11,16 @@
|
||||||
# Copyright (c) 2021 Red Hat GmbH
|
# Copyright (c) 2021 Red Hat GmbH
|
||||||
# Author: Stefano Brivio <sbrivio@redhat.com>
|
# Author: Stefano Brivio <sbrivio@redhat.com>
|
||||||
|
|
||||||
gtools nc tee grep cat ip jq md5sum cut
|
gtools socat tee grep cat ip jq md5sum cut
|
||||||
nstools nc tee grep cat ip jq md5sum cut
|
nstools socat tee grep cat ip jq md5sum cut
|
||||||
htools printf dd nc tee grep cat ip jq md5sum cut
|
htools printf dd socat tee grep cat ip jq md5sum cut
|
||||||
|
|
||||||
test UDP/IPv4: host to guest
|
test UDP/IPv4: host to guest
|
||||||
temp TEMP
|
temp TEMP
|
||||||
temp NC_PID
|
temp SC_PID
|
||||||
guestb (nc -u -q1 -4 -l 10001 & echo $! > nc.pic) | tee test.bin | (grep -qm1 "END_OF_TEST" && kill $(cat nc.pic))
|
guestb (socat -u UDP4-LISTEN:10001 STDOUT & echo $! > sc.pid) | tee test.bin | (grep -qm1 "END_OF_TEST" && kill $(cat sc.pid))
|
||||||
host dd if=/dev/urandom bs=1k count=5 > __TEMP__ && printf "\nEND_OF_TEST\n" >> __TEMP__
|
host dd if=/dev/urandom bs=1k count=5 > __TEMP__ && printf "\nEND_OF_TEST\n" >> __TEMP__
|
||||||
host cat __TEMP__ | nc -u -q1 -N 127.0.0.1 10001
|
host socat -u OPEN:__TEMP__ UDP4:127.0.0.1:10001
|
||||||
guestw
|
guestw
|
||||||
hout MD5 md5sum __TEMP__ | cut -d' ' -f1
|
hout MD5 md5sum __TEMP__ | cut -d' ' -f1
|
||||||
gout GUEST_MD5 md5sum test.bin | cut -d' ' -f1
|
gout GUEST_MD5 md5sum test.bin | cut -d' ' -f1
|
||||||
|
@ -29,25 +29,25 @@ check [ "__GUEST_MD5__" = "__MD5__" ]
|
||||||
test UDP/IPv4: host to ns
|
test UDP/IPv4: host to ns
|
||||||
temp TEMP_NS
|
temp TEMP_NS
|
||||||
ns :> __TEMP_NS__
|
ns :> __TEMP_NS__
|
||||||
nsb (nc -u -q1 -4 -l 10002 & echo $! > __NC_PID__) | tee __TEMP_NS__ | (grep -qm1 "END_OF_TEST" && kill $(cat __NC_PID__))
|
nsb (socat -u UDP4-LISTEN:10002 STDOUT & echo $! > __SC_PID__) | tee __TEMP_NS__ | (grep -qm1 "END_OF_TEST" && kill $(cat __SC_PID__))
|
||||||
host cat __TEMP__ | nc -u -q1 -N 127.0.0.1 10002
|
host socat -u OPEN:__TEMP__ UDP4:127.0.0.1:10002
|
||||||
nsw
|
nsw
|
||||||
nsout NS_MD5 md5sum __TEMP_NS__ | cut -d' ' -f1
|
nsout NS_MD5 md5sum __TEMP_NS__ | cut -d' ' -f1
|
||||||
check [ "__NS_MD5__" = "__MD5__" ]
|
check [ "__NS_MD5__" = "__MD5__" ]
|
||||||
|
|
||||||
test UDP/IPv4: guest to host
|
test UDP/IPv4: guest to host
|
||||||
host :> __TEMP__
|
host :> __TEMP__
|
||||||
hostb (nc -u -q1 -4 -l 10003 & echo $! > __NC_PID__) | tee __TEMP__ | (grep -qm1 "END_OF_TEST" && kill $(cat __NC_PID__))
|
hostb (socat -u UDP4-LISTEN:10003 STDOUT & echo $! > __SC_PID__) | tee __TEMP__ | (grep -qm1 "END_OF_TEST" && kill $(cat __SC_PID__))
|
||||||
gout GW ip -j -4 route show|jq -rM '.[] | select(.dst == "default").gateway'
|
gout GW ip -j -4 route show|jq -rM '.[] | select(.dst == "default").gateway'
|
||||||
guest cat test.bin | nc -u -q1 -N __GW__ 10003
|
guest socat -u OPEN:test.bin UDP4:__GW__:10003
|
||||||
hostw
|
hostw
|
||||||
hout HOST_MD5 md5sum __TEMP__ | cut -d' ' -f1
|
hout HOST_MD5 md5sum __TEMP__ | cut -d' ' -f1
|
||||||
check [ "__HOST_MD5__" = "__MD5__" ]
|
check [ "__HOST_MD5__" = "__MD5__" ]
|
||||||
|
|
||||||
test UDP/IPv4: guest to ns
|
test UDP/IPv4: guest to ns
|
||||||
ns :> __TEMP_NS__
|
ns :> __TEMP_NS__
|
||||||
nsb (nc -u -q1 -4 -l 10002 & echo $! > __NC_PID__) | tee __TEMP_NS__ | (grep -qm1 "END_OF_TEST" && kill $(cat __NC_PID__))
|
nsb (socat -u UDP4-LISTEN:10002 STDOUT & echo $! > __SC_PID__) | tee __TEMP_NS__ | (grep -qm1 "END_OF_TEST" && kill $(cat __SC_PID__))
|
||||||
guest cat test.bin | nc -u -q1 -N __GW__ 10002
|
guest socat -u OPEN:test.bin UDP4:__GW__:10002
|
||||||
hostw
|
hostw
|
||||||
hout HOST_MD5 md5sum __TEMP__ | cut -d' ' -f1
|
hout HOST_MD5 md5sum __TEMP__ | cut -d' ' -f1
|
||||||
check [ "__HOST_MD5__" = "__MD5__" ]
|
check [ "__HOST_MD5__" = "__MD5__" ]
|
||||||
|
@ -55,97 +55,97 @@ check [ "__HOST_MD5__" = "__MD5__" ]
|
||||||
test UDP/IPv4: ns to host (recvmmsg/sendmmsg)
|
test UDP/IPv4: ns to host (recvmmsg/sendmmsg)
|
||||||
sleep 1
|
sleep 1
|
||||||
host :> __TEMP__
|
host :> __TEMP__
|
||||||
hostb (nc -u -q1 -4 -l 10003 & echo $! > __NC_PID__) | tee __TEMP__ | (grep -qm1 "END_OF_TEST" && kill $(cat __NC_PID__))
|
hostb (socat -u UDP4-LISTEN:10003 STDOUT & echo $! > __SC_PID__) | tee __TEMP__ | (grep -qm1 "END_OF_TEST" && kill $(cat __SC_PID__))
|
||||||
ns cat __TEMP_NS__ | nc -u -q1 -N 127.0.0.1 10003
|
ns socat -u OPEN:__TEMP_NS__ UDP4:127.0.0.1:10003
|
||||||
hostw
|
hostw
|
||||||
hout HOST_MD5 md5sum __TEMP__ | cut -d' ' -f1
|
hout HOST_MD5 md5sum __TEMP__ | cut -d' ' -f1
|
||||||
check [ "__HOST_MD5__" = "__MD5__" ]
|
check [ "__HOST_MD5__" = "__MD5__" ]
|
||||||
|
|
||||||
test UDP/IPv4: ns to host (via tap)
|
test UDP/IPv4: ns to host (via tap)
|
||||||
host :> __TEMP__
|
host :> __TEMP__
|
||||||
hostb (nc -u -q1 -4 -l 10003 & echo $! > __NC_PID__) | tee __TEMP__ | (grep -qm1 "END_OF_TEST" && kill $(cat __NC_PID__))
|
hostb (socat -u UDP4-LISTEN:10003 STDOUT & echo $! > __SC_PID__) | tee __TEMP__ | (grep -qm1 "END_OF_TEST" && kill $(cat __SC_PID__))
|
||||||
ns cat __TEMP_NS__ | nc -u -q1 -N __GW__ 10003
|
ns socat -u OPEN:__TEMP_NS__ UDP4:__GW__:10003
|
||||||
hostw
|
hostw
|
||||||
hout HOST_MD5 md5sum __TEMP__ | cut -d' ' -f1
|
hout HOST_MD5 md5sum __TEMP__ | cut -d' ' -f1
|
||||||
check [ "__HOST_MD5__" = "__MD5__" ]
|
check [ "__HOST_MD5__" = "__MD5__" ]
|
||||||
|
|
||||||
test UDP/IPv4: ns to guest (using loopback address)
|
test UDP/IPv4: ns to guest (using loopback address)
|
||||||
guestb (nc -u -q1 -4 -l 10001 & echo $! > nc.pid) | tee test.bin | (grep -qm1 "END_OF_TEST" && kill $(cat nc.pid))
|
guestb (socat -u UDP4-LISTEN:10001 STDOUT & echo $! > sc.pid) | tee test.bin | (grep -qm1 "END_OF_TEST" && kill $(cat sc.pid))
|
||||||
ns cat __TEMP_NS__ | nc -u -q1 -N 127.0.0.1 10001
|
ns socat -u OPEN:__TEMP_NS__ UDP4:127.0.0.1:10001
|
||||||
guestw
|
guestw
|
||||||
gout GUEST_MD5 md5sum test.bin | cut -d' ' -f1
|
gout GUEST_MD5 md5sum test.bin | cut -d' ' -f1
|
||||||
check [ "__GUEST_MD5__" = "__MD5__" ]
|
check [ "__GUEST_MD5__" = "__MD5__" ]
|
||||||
|
|
||||||
test UDP/IPv4: ns to guest (using namespace address)
|
test UDP/IPv4: ns to guest (using namespace address)
|
||||||
guestb (nc -u -q1 -4 -l 10001 & echo $! > nc.pid) | tee test.bin | (grep -qm1 "END_OF_TEST" && kill $(cat nc.pid))
|
guestb (socat -u UDP4-LISTEN:10001 STDOUT & echo $! > sc.pid) | tee test.bin | (grep -qm1 "END_OF_TEST" && kill $(cat sc.pid))
|
||||||
nsout IFNAME ip -j link show | jq -rM '.[] | select(.link_type == "ether").ifname'
|
nsout IFNAME ip -j link show | jq -rM '.[] | select(.link_type == "ether").ifname'
|
||||||
nsout ADDR ip -j -4 addr show|jq -rM '.[] | select(.ifname == "__IFNAME__").addr_info[0].local'
|
nsout ADDR ip -j -4 addr show|jq -rM '.[] | select(.ifname == "__IFNAME__").addr_info[0].local'
|
||||||
ns cat __TEMP_NS__ | nc -u -q1 -N __ADDR__ 10001
|
ns socat -u OPEN:__TEMP_NS__ UDP4:__ADDR__:10001
|
||||||
guestw
|
guestw
|
||||||
gout GUEST_MD5 md5sum test.bin | cut -d' ' -f1
|
gout GUEST_MD5 md5sum test.bin | cut -d' ' -f1
|
||||||
check [ "__GUEST_MD5__" = "__MD5__" ]
|
check [ "__GUEST_MD5__" = "__MD5__" ]
|
||||||
|
|
||||||
test UDP/IPv6: host to guest
|
test UDP/IPv6: host to guest
|
||||||
guestb (nc -u -q1 -6 -l 10001 & echo $! > nc.pid) | tee test.bin | (grep -qm1 "END_OF_TEST" && kill $(cat nc.pid))
|
guestb (socat -u UDP6-LISTEN:10001 STDOUT & echo $! > sc.pid) | tee test.bin | (grep -qm1 "END_OF_TEST" && kill $(cat sc.pid))
|
||||||
host cat __TEMP__ | nc -u -q1 -N ::1 10001
|
host socat -u OPEN:__TEMP__ UDP6:[::1]:10001
|
||||||
guestw
|
guestw
|
||||||
gout GUEST_MD5 md5sum test.bin | cut -d' ' -f1
|
gout GUEST_MD5 md5sum test.bin | cut -d' ' -f1
|
||||||
check [ "__GUEST_MD5__" = "__MD5__" ]
|
check [ "__GUEST_MD5__" = "__MD5__" ]
|
||||||
|
|
||||||
test UDP/IPv6: host to ns
|
test UDP/IPv6: host to ns
|
||||||
ns :> __TEMP_NS__
|
ns :> __TEMP_NS__
|
||||||
nsb (nc -u -q1 -6 -l 10002 & echo $! > __NC_PID__) | tee __TEMP_NS__ | (grep -qm1 "END_OF_TEST" && kill $(cat __NC_PID__))
|
nsb (socat -u UDP6-LISTEN:10002 STDOUT & echo $! > __SC_PID__) | tee __TEMP_NS__ | (grep -qm1 "END_OF_TEST" && kill $(cat __SC_PID__))
|
||||||
host cat __TEMP__ | nc -u -q1 -N ::1 10002
|
host socat -u OPEN:__TEMP__ UDP6:[::1]:10002
|
||||||
nsw
|
nsw
|
||||||
nsout NS_MD5 md5sum __TEMP_NS__ | cut -d' ' -f1
|
nsout NS_MD5 md5sum __TEMP_NS__ | cut -d' ' -f1
|
||||||
check [ "__NS_MD5__" = "__MD5__" ]
|
check [ "__NS_MD5__" = "__MD5__" ]
|
||||||
|
|
||||||
test UDP/IPv6: guest to host
|
test UDP/IPv6: guest to host
|
||||||
host :> __TEMP__
|
host :> __TEMP__
|
||||||
hostb (nc -u -q1 -6 -l 10003 & echo $! > __NC_PID__) | tee __TEMP__ | (grep -qm1 "END_OF_TEST" && kill $(cat __NC_PID__))
|
hostb (socat -u UDP6-LISTEN:10003 STDOUT & echo $! > __SC_PID__) | tee __TEMP__ | (grep -qm1 "END_OF_TEST" && kill $(cat __SC_PID__))
|
||||||
gout GW6 ip -j -6 route show|jq -rM '.[] | select(.dst == "default").gateway'
|
gout GW6 ip -j -6 route show|jq -rM '.[] | select(.dst == "default").gateway'
|
||||||
gout IFNAME ip -j link show | jq -rM '.[] | select(.link_type == "ether").ifname'
|
gout IFNAME ip -j link show | jq -rM '.[] | select(.link_type == "ether").ifname'
|
||||||
guest cat test.bin | nc -u -q1 -N __GW6__%__IFNAME__ 10003
|
guest socat -u OPEN:test.bin UDP6:[__GW6__%__IFNAME__]:10003
|
||||||
hostw
|
hostw
|
||||||
hout HOST_MD5 md5sum __TEMP__ | cut -d' ' -f1
|
hout HOST_MD5 md5sum __TEMP__ | cut -d' ' -f1
|
||||||
check [ "__HOST_MD5__" = "__MD5__" ]
|
check [ "__HOST_MD5__" = "__MD5__" ]
|
||||||
|
|
||||||
test UDP/IPv6: guest to ns
|
test UDP/IPv6: guest to ns
|
||||||
ns :> __TEMP_NS__
|
ns :> __TEMP_NS__
|
||||||
nsb (nc -u -q1 -6 -l 10002 & echo $! > __NC_PID__) | tee __TEMP_NS__ | (grep -qm1 "END_OF_TEST" && kill $(cat __NC_PID__))
|
nsb (socat -u UDP6-LISTEN:10002 STDOUT & echo $! > __SC_PID__) | tee __TEMP_NS__ | (grep -qm1 "END_OF_TEST" && kill $(cat __SC_PID__))
|
||||||
guest cat test.bin | nc -u -q1 -N __GW6__%__IFNAME__ 10002
|
guest socat -u OPEN:test.bin UDP6:[__GW6__%__IFNAME__]:10002
|
||||||
hostw
|
hostw
|
||||||
hout HOST_MD5 md5sum __TEMP__ | cut -d' ' -f1
|
hout HOST_MD5 md5sum __TEMP__ | cut -d' ' -f1
|
||||||
check [ "__HOST_MD5__" = "__MD5__" ]
|
check [ "__HOST_MD5__" = "__MD5__" ]
|
||||||
|
|
||||||
test UDP/IPv6: ns to host (recvmmsg/sendmmsg)
|
test UDP/IPv6: ns to host (recvmmsg/sendmmsg)
|
||||||
host :> __TEMP__
|
host :> __TEMP__
|
||||||
hostb (nc -u -q1 -6 -l 10003 & echo $! > __NC_PID__) | tee __TEMP__ | (grep -qm1 "END_OF_TEST" && kill $(cat __NC_PID__))
|
hostb (socat -u UDP6-LISTEN:10003 STDOUT & echo $! > __SC_PID__) | tee __TEMP__ | (grep -qm1 "END_OF_TEST" && kill $(cat __SC_PID__))
|
||||||
ns cat __TEMP_NS__ | nc -u -q1 -N ::1 10003
|
ns socat -u OPEN:__TEMP_NS__ UDP6:[::1]:10003
|
||||||
hostw
|
hostw
|
||||||
hout HOST_MD5 md5sum __TEMP__ | cut -d' ' -f1
|
hout HOST_MD5 md5sum __TEMP__ | cut -d' ' -f1
|
||||||
check [ "__HOST_MD5__" = "__MD5__" ]
|
check [ "__HOST_MD5__" = "__MD5__" ]
|
||||||
|
|
||||||
test UDP/IPv6: ns to host (via tap)
|
test UDP/IPv6: ns to host (via tap)
|
||||||
host :> __TEMP__
|
host :> __TEMP__
|
||||||
hostb (nc -u -q1 -6 -l 10003 & echo $! > __NC_PID__) | tee __TEMP__ | (grep -qm1 "END_OF_TEST" && kill $(cat __NC_PID__))
|
hostb (socat -u UDP6-LISTEN:10003 STDOUT & echo $! > __SC_PID__) | tee __TEMP__ | (grep -qm1 "END_OF_TEST" && kill $(cat __SC_PID__))
|
||||||
nsout IFNAME ip -j link show | jq -rM '.[] | select(.link_type == "ether").ifname'
|
nsout IFNAME ip -j link show | jq -rM '.[] | select(.link_type == "ether").ifname'
|
||||||
ns cat __TEMP_NS__ | nc -u -q1 -N __GW6__%__IFNAME__ 10003
|
ns socat -u OPEN:__TEMP_NS__ UDP6:[__GW6__%__IFNAME__]:10003
|
||||||
hostw
|
hostw
|
||||||
hout HOST_MD5 md5sum __TEMP__ | cut -d' ' -f1
|
hout HOST_MD5 md5sum __TEMP__ | cut -d' ' -f1
|
||||||
check [ "__HOST_MD5__" = "__MD5__" ]
|
check [ "__HOST_MD5__" = "__MD5__" ]
|
||||||
|
|
||||||
test UDP/IPv6: ns to guest (using loopback address)
|
test UDP/IPv6: ns to guest (using loopback address)
|
||||||
guestb (nc -u -q1 -6 -l 10001 & echo $! > nc.pid) | tee test.bin | (grep -qm1 "END_OF_TEST" && kill $(cat nc.pid))
|
guestb (socat -u UDP6-LISTEN:10001 STDOUT & echo $! > sc.pid) | tee test.bin | (grep -qm1 "END_OF_TEST" && kill $(cat sc.pid))
|
||||||
ns cat __TEMP_NS__ | nc -u -q1 -N ::1 10001
|
ns socat -u OPEN:__TEMP_NS__ UDP6:[::1]:10001
|
||||||
guestw
|
guestw
|
||||||
gout GUEST_MD5 md5sum test.bin | cut -d' ' -f1
|
gout GUEST_MD5 md5sum test.bin | cut -d' ' -f1
|
||||||
check [ "__GUEST_MD5__" = "__MD5__" ]
|
check [ "__GUEST_MD5__" = "__MD5__" ]
|
||||||
|
|
||||||
test UDP/IPv6: ns to guest (using namespace address)
|
test UDP/IPv6: ns to guest (using namespace address)
|
||||||
guestb (nc -u -q1 -6 -l 10001 & echo $! > nc.pid) | tee test.bin | (grep -qm1 "END_OF_TEST" && kill $(cat nc.pid))
|
guestb (socat -u UDP6-LISTEN:10001 STDOUT & echo $! > sc.pid) | tee test.bin | (grep -qm1 "END_OF_TEST" && kill $(cat sc.pid))
|
||||||
nsout ADDR6 ip -j -6 addr show|jq -rM '.[] | select(.ifname == "__IFNAME__").addr_info[0].local'
|
nsout ADDR6 ip -j -6 addr show|jq -rM '.[] | select(.ifname == "__IFNAME__").addr_info[0].local'
|
||||||
ns cat __TEMP_NS__ | nc -u -q1 -N __ADDR6__ 10001
|
ns socat -u OPEN:__TEMP_NS__ UDP6:[__ADDR6__]:10001
|
||||||
guestw
|
guestw
|
||||||
gout GUEST_MD5 md5sum test.bin | cut -d' ' -f1
|
gout GUEST_MD5 md5sum test.bin | cut -d' ' -f1
|
||||||
check [ "__GUEST_MD5__" = "__MD5__" ]
|
check [ "__GUEST_MD5__" = "__MD5__" ]
|
||||||
|
|
|
@ -11,18 +11,18 @@
|
||||||
# Copyright (c) 2021 Red Hat GmbH
|
# Copyright (c) 2021 Red Hat GmbH
|
||||||
# Author: Stefano Brivio <sbrivio@redhat.com>
|
# Author: Stefano Brivio <sbrivio@redhat.com>
|
||||||
|
|
||||||
nstools ncat tee grep cat ip jq md5sum cut
|
nstools socat tee grep cat ip jq md5sum cut
|
||||||
htools printf dd ncat tee grep cat ip jq md5sum cut
|
htools printf dd socat tee grep cat ip jq md5sum cut
|
||||||
|
|
||||||
test UDP/IPv4: host to ns
|
test UDP/IPv4: host to ns
|
||||||
temp TEMP
|
temp TEMP
|
||||||
temp TEMP_NS
|
temp TEMP_NS
|
||||||
temp NC_PID
|
temp NC_PID
|
||||||
ns :> __TEMP_NS__
|
ns :> __TEMP_NS__
|
||||||
nsb (ncat -u -4 -l 127.0.0.1 10002 & echo $! > __NC_PID__) | tee __TEMP_NS__ | (grep -qm1 "END_OF_TEST" && kill $(cat __NC_PID__))
|
nsb (socat -u UDP4-LISTEN:10002,bind=127.0.0.1 STDOUT & echo $! > __NC_PID__) | tee __TEMP_NS__ | (grep -qm1 "END_OF_TEST" && kill $(cat __NC_PID__))
|
||||||
host dd if=/dev/urandom bs=1k count=5 > __TEMP__ && printf "\nEND_OF_TEST\n" >> __TEMP__
|
host dd if=/dev/urandom bs=1k count=5 > __TEMP__ && printf "\nEND_OF_TEST\n" >> __TEMP__
|
||||||
|
|
||||||
host cat __TEMP__ | ncat -u 127.0.0.1 10002
|
host socat OPEN:__TEMP__ UDP4:127.0.0.1:10002
|
||||||
nsw
|
nsw
|
||||||
hout MD5 md5sum __TEMP__ | cut -d' ' -f1
|
hout MD5 md5sum __TEMP__ | cut -d' ' -f1
|
||||||
nsout NS_MD5 md5sum __TEMP_NS__ | cut -d' ' -f1
|
nsout NS_MD5 md5sum __TEMP_NS__ | cut -d' ' -f1
|
||||||
|
@ -30,26 +30,26 @@ check [ "__NS_MD5__" = "__MD5__" ]
|
||||||
|
|
||||||
test UDP/IPv4: ns to host (recvmmsg/sendmmsg)
|
test UDP/IPv4: ns to host (recvmmsg/sendmmsg)
|
||||||
host :> __TEMP__
|
host :> __TEMP__
|
||||||
hostb (ncat -u -4 -l 127.0.0.1 10003 & echo $! > __NC_PID__) | tee __TEMP__ | (grep -qm1 "END_OF_TEST" && kill $(cat __NC_PID__))
|
hostb (socat -u UDP4-LISTEN:10003,bind=127.0.0.1 STDOUT & echo $! > __NC_PID__) | tee __TEMP__ | (grep -qm1 "END_OF_TEST" && kill $(cat __NC_PID__))
|
||||||
sleep 1
|
sleep 1
|
||||||
ns cat __TEMP_NS__ | ncat -u 127.0.0.1 10003
|
ns socat OPEN:__TEMP_NS__ UDP4:127.0.0.1:10003
|
||||||
hostw
|
hostw
|
||||||
hout HOST_MD5 md5sum __TEMP__ | cut -d' ' -f1
|
hout HOST_MD5 md5sum __TEMP__ | cut -d' ' -f1
|
||||||
check [ "__HOST_MD5__" = "__MD5__" ]
|
check [ "__HOST_MD5__" = "__MD5__" ]
|
||||||
|
|
||||||
test UDP/IPv4: ns to host (via tap)
|
test UDP/IPv4: ns to host (via tap)
|
||||||
host :> __TEMP__
|
host :> __TEMP__
|
||||||
hostb (ncat -u -4 -l 0.0.0.0 10003 & echo $! > __NC_PID__) | tee __TEMP__ | (grep -qm1 "END_OF_TEST" && kill $(cat __NC_PID__))
|
hostb (socat -u UDP4-LISTEN:10003 STDOUT & echo $! > __NC_PID__) | tee __TEMP__ | (grep -qm1 "END_OF_TEST" && kill $(cat __NC_PID__))
|
||||||
nsout GW ip -j -4 route show|jq -rM '.[] | select(.dst == "default").gateway'
|
nsout GW ip -j -4 route show|jq -rM '.[] | select(.dst == "default").gateway'
|
||||||
ns cat __TEMP_NS__ | ncat -u __GW__ 10003
|
ns socat -u OPEN:__TEMP_NS__ UDP4:__GW__:10003
|
||||||
hostw
|
hostw
|
||||||
hout HOST_MD5 md5sum __TEMP__ | cut -d' ' -f1
|
hout HOST_MD5 md5sum __TEMP__ | cut -d' ' -f1
|
||||||
check [ "__HOST_MD5__" = "__MD5__" ]
|
check [ "__HOST_MD5__" = "__MD5__" ]
|
||||||
|
|
||||||
test UDP/IPv6: host to ns
|
test UDP/IPv6: host to ns
|
||||||
ns :> __TEMP_NS__
|
ns :> __TEMP_NS__
|
||||||
nsb (ncat -u -6 -l ::1 10002 & echo $! > __NC_PID__) | tee __TEMP_NS__ | (grep -qm1 "END_OF_TEST" && kill $(cat __NC_PID__))
|
nsb (socat -u UDP6-LISTEN:10002,bind=[::1] STDOUT & echo $! > __NC_PID__) | tee __TEMP_NS__ | (grep -qm1 "END_OF_TEST" && kill $(cat __NC_PID__))
|
||||||
host cat __TEMP__ | ncat -u ::1 10002
|
host socat -u OPEN:__TEMP__ UDP6:[::1]:10002
|
||||||
nsw
|
nsw
|
||||||
hout MD5 md5sum __TEMP__ | cut -d' ' -f1
|
hout MD5 md5sum __TEMP__ | cut -d' ' -f1
|
||||||
nsout NS_MD5 md5sum __TEMP_NS__ | cut -d' ' -f1
|
nsout NS_MD5 md5sum __TEMP_NS__ | cut -d' ' -f1
|
||||||
|
@ -57,9 +57,9 @@ check [ "__NS_MD5__" = "__MD5__" ]
|
||||||
|
|
||||||
test UDP/IPv6: ns to host (recvmmsg/sendmmsg)
|
test UDP/IPv6: ns to host (recvmmsg/sendmmsg)
|
||||||
host :> __TEMP__
|
host :> __TEMP__
|
||||||
hostb (ncat -u -6 -l ::1 10003 & echo $! > __NC_PID__) | tee __TEMP__ | (grep -qm1 "END_OF_TEST" && kill $(cat __NC_PID__))
|
hostb (socat -u UDP6-LISTEN:10003,bind=[::1] STDOUT & echo $! > __NC_PID__) | tee __TEMP__ | (grep -qm1 "END_OF_TEST" && kill $(cat __NC_PID__))
|
||||||
sleep 1
|
sleep 1
|
||||||
ns cat __TEMP_NS__ | ncat -u ::1 10003
|
ns socat -u OPEN:__TEMP_NS__ UDP6:[::1]:10003
|
||||||
hostw
|
hostw
|
||||||
hout HOST_MD5 md5sum __TEMP__ | cut -d' ' -f1
|
hout HOST_MD5 md5sum __TEMP__ | cut -d' ' -f1
|
||||||
check [ "__HOST_MD5__" = "__MD5__" ]
|
check [ "__HOST_MD5__" = "__MD5__" ]
|
||||||
|
@ -67,10 +67,10 @@ nsw
|
||||||
|
|
||||||
test UDP/IPv6: ns to host (via tap)
|
test UDP/IPv6: ns to host (via tap)
|
||||||
host :> __TEMP__
|
host :> __TEMP__
|
||||||
hostb (ncat -u -6 -l :: 10003 & echo $! > __NC_PID__) | tee __TEMP__ | (grep -qm1 "END_OF_TEST" && kill $(cat __NC_PID__))
|
hostb (socat -u UDP6-LISTEN:10003 STDOUT & echo $! > __NC_PID__) | tee __TEMP__ | (grep -qm1 "END_OF_TEST" && kill $(cat __NC_PID__))
|
||||||
nsout GW6 ip -j -6 route show|jq -rM '.[] | select(.dst == "default").gateway'
|
nsout GW6 ip -j -6 route show|jq -rM '.[] | select(.dst == "default").gateway'
|
||||||
nsout IFNAME ip -j link show | jq -rM '.[] | select(.link_type == "ether").ifname'
|
nsout IFNAME ip -j link show | jq -rM '.[] | select(.link_type == "ether").ifname'
|
||||||
ns cat __TEMP_NS__ | ncat -u __GW6__%__IFNAME__ 10003
|
ns socat -u OPEN:__TEMP_NS__ UDP6:[__GW6__%__IFNAME__]:10003
|
||||||
hostw
|
hostw
|
||||||
hout HOST_MD5 md5sum __TEMP__ | cut -d' ' -f1
|
hout HOST_MD5 md5sum __TEMP__ | cut -d' ' -f1
|
||||||
check [ "__HOST_MD5__" = "__MD5__" ]
|
check [ "__HOST_MD5__" = "__MD5__" ]
|
||||||
|
|
Loading…
Reference in a new issue