diff options
Diffstat (limited to 'test/passt_in_ns')
-rw-r--r-- | test/passt_in_ns/tcp | 187 | ||||
-rw-r--r-- | test/passt_in_ns/udp | 93 |
2 files changed, 114 insertions, 166 deletions
diff --git a/test/passt_in_ns/tcp b/test/passt_in_ns/tcp index 71fe1c1..842b345 100644 --- a/test/passt_in_ns/tcp +++ b/test/passt_in_ns/tcp @@ -11,281 +11,246 @@ # Copyright (c) 2021 Red Hat GmbH # Author: Stefano Brivio <sbrivio@redhat.com> -gtools socat ip jq md5sum cut -htools dd socat ip jq md5sum cut -nstools socat ip jq md5sum cut +gtools socat ip jq +htools socat ip jq +nstools socat ip jq + +set TEMP_BIG __STATEDIR__/test_big.bin +set TEMP_SMALL __STATEDIR__/test_small.bin +set TEMP_NS_BIG __STATEDIR__/test_ns_big.bin +set TEMP_NS_SMALL __STATEDIR__/test_ns_small.bin test TCP/IPv4: host to guest: big transfer -set TEMP_BIG __STATEDIR__/big.img guestb socat -u TCP4-LISTEN:10001 OPEN:test_big.bin,create,trunc -host dd if=/dev/urandom bs=1M count=10 of=__TEMP_BIG__ sleep 1 -host socat -u OPEN:__TEMP_BIG__ TCP4:127.0.0.1:10001 +host socat -u OPEN:__BASEPATH__/big.bin TCP4:127.0.0.1:10001 guestw -hout MD5_BIG md5sum __TEMP_BIG__ | cut -d' ' -f1 -gout GUEST_MD5_BIG md5sum test_big.bin | cut -d' ' -f1 -check [ "__GUEST_MD5_BIG__" = "__MD5_BIG__" ] +guest cmp test_big.bin /root/big.bin test TCP/IPv4: host to ns: big transfer -set TEMP_NS_BIG __STATEDIR__/big_ns.img nsb socat -u TCP4-LISTEN:10002 OPEN:__TEMP_NS_BIG__,create,trunc sleep 1 -host socat -u OPEN:__TEMP_BIG__ TCP4:127.0.0.1:10002 +host socat -u OPEN:__BASEPATH__/big.bin TCP4:127.0.0.1:10002 nsw -nsout NS_MD5_BIG md5sum __TEMP_NS_BIG__ | cut -d' ' -f1 -check [ "__NS_MD5_BIG__" = "__MD5_BIG__" ] +check cmp __TEMP_NS_BIG__ __BASEPATH__/big.bin test TCP/IPv4: guest to host: big transfer hostb socat -u TCP4-LISTEN:10003 OPEN:__TEMP_BIG__,create,trunc gout GW ip -j -4 route show|jq -rM '.[] | select(.dst == "default").gateway' sleep 1 -guest socat -u OPEN:test_big.bin TCP4:__GW__:10003 +guest socat -u OPEN:/root/big.bin TCP4:__GW__:10003 hostw -hout HOST_MD5_BIG md5sum __TEMP_BIG__ | cut -d' ' -f1 -check [ "__HOST_MD5_BIG__" = "__MD5_BIG__" ] +check cmp __TEMP_BIG__ __BASEPATH__/big.bin test TCP/IPv4: guest to ns: big transfer -nsb socat -u TCP4-LISTEN:10002 OPEN:__TEMP_BIG__,create,trunc +nsb socat -u TCP4-LISTEN:10002 OPEN:__TEMP_NS_BIG__,create,trunc sleep 1 -guest socat -u OPEN:test_big.bin TCP4:__GW__:10002 +guest socat -u OPEN:/root/big.bin TCP4:__GW__:10002 nsw -hout HOST_MD5_BIG md5sum __TEMP_BIG__ | cut -d' ' -f1 -check [ "__HOST_MD5_BIG__" = "__MD5_BIG__" ] +check cmp __TEMP_NS_BIG__ __BASEPATH__/big.bin test TCP/IPv4: ns to host (spliced): big transfer hostb socat -u TCP4-LISTEN:10003 OPEN:__TEMP_BIG__,create,trunc sleep 1 -ns socat -u OPEN:__TEMP_NS_BIG__ TCP4:127.0.0.1:10003 +ns socat -u OPEN:__BASEPATH__/big.bin TCP4:127.0.0.1:10003 hostw -hout HOST_MD5_BIG md5sum __TEMP_BIG__ | cut -d' ' -f1 -check [ "__HOST_MD5_BIG__" = "__MD5_BIG__" ] +check cmp __TEMP_BIG__ __BASEPATH__/big.bin test TCP/IPv4: ns to host (via tap): big transfer hostb socat -u TCP4-LISTEN:10003 OPEN:__TEMP_BIG__,create,trunc sleep 1 -ns socat -u OPEN:__TEMP_NS_BIG__ TCP4:__GW__:10003 +ns socat -u OPEN:__BASEPATH__/big.bin TCP4:__GW__:10003 hostw -hout HOST_MD5_BIG md5sum __TEMP_BIG__ | cut -d' ' -f1 -check [ "__HOST_MD5_BIG__" = "__MD5_BIG__" ] +check cmp __TEMP_BIG__ __BASEPATH__/big.bin test TCP/IPv4: ns to guest (using loopback address): big transfer guestb socat -u TCP4-LISTEN:10001 OPEN:test_big.bin,create,trunc sleep 1 -ns socat -u OPEN:__TEMP_NS_BIG__ TCP4:127.0.0.1:10001 +ns socat -u OPEN:__BASEPATH__/big.bin TCP4:127.0.0.1:10001 guestw -gout GUEST_MD5_BIG md5sum test_big.bin | cut -d' ' -f1 -check [ "__GUEST_MD5_BIG__" = "__MD5_BIG__" ] +guest cmp test_big.bin /root/big.bin test TCP/IPv4: ns to guest (using namespace address): big transfer 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 ADDR ip -j -4 addr show|jq -rM '.[] | select(.ifname == "__IFNAME__").addr_info[0].local' sleep 1 -ns socat -u OPEN:__TEMP_NS_BIG__ TCP4:__ADDR__:10001 +ns socat -u OPEN:__BASEPATH__/big.bin TCP4:__ADDR__:10001 guestw -gout GUEST_MD5_BIG md5sum test_big.bin | cut -d' ' -f1 -check [ "__GUEST_MD5_BIG__" = "__MD5_BIG__" ] +guest cmp test_big.bin /root/big.bin test TCP/IPv4: host to guest: small transfer -set TEMP_SMALL __STATEDIR__/small.img guestb socat -u TCP4-LISTEN:10001 OPEN:test_small.bin,create,trunc -host dd if=/dev/urandom bs=2k count=100 of=__TEMP_SMALL__ sleep 1 -host socat -u OPEN:__TEMP_SMALL__ TCP4:127.0.0.1:10001 +host socat -u OPEN:__BASEPATH__/small.bin TCP4:127.0.0.1:10001 guestw -hout MD5_SMALL md5sum __TEMP_SMALL__ | cut -d' ' -f1 -gout GUEST_MD5_SMALL md5sum test_small.bin | cut -d' ' -f1 -check [ "__GUEST_MD5_SMALL__" = "__MD5_SMALL__" ] +guest cmp test_small.bin /root/small.bin test TCP/IPv4: host to ns: small transfer -set TEMP_NS_SMALL __STATEDIR__/small_ns.img nsb socat -u TCP4-LISTEN:10002 OPEN:__TEMP_NS_SMALL__,create,trunc sleep 1 -host socat -u OPEN:__TEMP_SMALL__ TCP4:127.0.0.1:10002 +host socat -u OPEN:__BASEPATH__/small.bin TCP4:127.0.0.1:10002 nsw -nsout NS_MD5_SMALL md5sum __TEMP_NS_SMALL__ | cut -d' ' -f1 -check [ "__NS_MD5_SMALL__" = "__MD5_SMALL__" ] +check cmp __TEMP_NS_SMALL__ __BASEPATH__/small.bin test TCP/IPv4: guest to host: small transfer hostb socat -u TCP4-LISTEN:10003 OPEN:__TEMP_SMALL__,create,trunc gout GW ip -j -4 route show|jq -rM '.[] | select(.dst == "default").gateway' sleep 1 -guest socat -u OPEN:test_small.bin TCP4:__GW__:10003 +guest socat -u OPEN:/root/small.bin TCP4:__GW__:10003 hostw -hout HOST_MD5_SMALL md5sum __TEMP_SMALL__ | cut -d' ' -f1 -check [ "__HOST_MD5_SMALL__" = "__MD5_SMALL__" ] +check cmp __TEMP_SMALL__ __BASEPATH__/small.bin test TCP/IPv4: guest to ns: small transfer -nsb socat -u TCP4-LISTEN:10002 OPEN:__TEMP_SMALL__,create,trunc +nsb socat -u TCP4-LISTEN:10002 OPEN:__TEMP_NS_SMALL__,create,trunc sleep 1 -guest socat -u OPEN:test_small.bin TCP4:__GW__:10002 +guest socat -u OPEN:/root/small.bin TCP4:__GW__:10002 nsw -hout HOST_MD5_SMALL md5sum __TEMP_SMALL__ | cut -d' ' -f1 -check [ "__HOST_MD5_SMALL__" = "__MD5_SMALL__" ] +check cmp __TEMP_NS_SMALL__ __BASEPATH__/small.bin test TCP/IPv4: ns to host (spliced): small transfer hostb socat -u TCP4-LISTEN:10003 OPEN:__TEMP_SMALL__,create,trunc sleep 1 -ns socat -u OPEN:__TEMP_NS_SMALL__ TCP4:127.0.0.1:10003 +ns socat -u OPEN:__BASEPATH__/small.bin TCP4:127.0.0.1:10003 hostw -hout HOST_MD5_SMALL md5sum __TEMP_SMALL__ | cut -d' ' -f1 -check [ "__HOST_MD5_SMALL__" = "__MD5_SMALL__" ] +check cmp __TEMP_SMALL__ __BASEPATH__/small.bin test TCP/IPv4: ns to host (via tap): small transfer hostb socat -u TCP4-LISTEN:10003 OPEN:__TEMP_SMALL__,create,trunc sleep 1 -ns socat -u OPEN:__TEMP_NS_SMALL__ TCP4:__GW__:10003 +ns socat -u OPEN:__BASEPATH__/small.bin TCP4:__GW__:10003 hostw -hout HOST_MD5_SMALL md5sum __TEMP_SMALL__ | cut -d' ' -f1 -check [ "__HOST_MD5_SMALL__" = "__MD5_SMALL__" ] +check cmp __TEMP_SMALL__ __BASEPATH__/small.bin test TCP/IPv4: ns to guest (using loopback address): small transfer guestb socat -u TCP4-LISTEN:10001 OPEN:test_small.bin,create,trunc sleep 1 -ns socat -u OPEN:__TEMP_NS_SMALL__ TCP4:127.0.0.1:10001 +ns socat -u OPEN:__BASEPATH__/small.bin TCP4:127.0.0.1:10001 guestw -gout GUEST_MD5_SMALL md5sum test_small.bin | cut -d' ' -f1 -check [ "__GUEST_MD5_SMALL__" = "__MD5_SMALL__" ] +guest cmp test_small.bin /root/small.bin test TCP/IPv4: ns to guest (using namespace address): small transfer guestb socat -u TCP4-LISTEN:10001 OPEN:test_small.bin,create,trunc sleep 1 -ns socat -u OPEN:__TEMP_NS_SMALL__ TCP4:__ADDR__:10001 +ns socat -u OPEN:__BASEPATH__/small.bin TCP4:__ADDR__:10001 guestw -gout GUEST_MD5_SMALL md5sum test_small.bin | cut -d' ' -f1 -check [ "__GUEST_MD5_SMALL__" = "__MD5_SMALL__" ] +guest cmp test_small.bin /root/small.bin test TCP/IPv6: host to guest: big transfer guestb socat -u TCP6-LISTEN:10001 OPEN:test_big.bin,create,trunc sleep 1 -host socat -u OPEN:__TEMP_BIG__ TCP6:[::1]:10001 +host socat -u OPEN:__BASEPATH__/big.bin TCP6:[::1]:10001 guestw -gout GUEST_MD5_BIG md5sum test_big.bin | cut -d' ' -f1 -check [ "__GUEST_MD5_BIG__" = "__MD5_BIG__" ] +guest cmp test_big.bin /root/big.bin test TCP/IPv6: host to ns: big transfer nsb socat -u TCP6-LISTEN:10002 OPEN:__TEMP_NS_BIG__,create,trunc sleep 1 -host socat -u OPEN:__TEMP_BIG__ TCP6:[::1]:10002 +host socat -u OPEN:__BASEPATH__/big.bin TCP6:[::1]:10002 nsw -nsout NS_MD5_BIG md5sum __TEMP_NS_BIG__ | cut -d' ' -f1 -check [ "__NS_MD5_BIG__" = "__MD5_BIG__" ] +check cmp __TEMP_NS_BIG__ __BASEPATH__/big.bin test TCP/IPv6: guest to host: big transfer 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 IFNAME ip -j link show | jq -rM '.[] | select(.link_type == "ether").ifname' sleep 1 -guest socat -u OPEN:test_big.bin TCP6:[__GW6__%__IFNAME__]:10003 +guest socat -u OPEN:/root/big.bin TCP6:[__GW6__%__IFNAME__]:10003 hostw -hout HOST_MD5_BIG md5sum __TEMP_BIG__ | cut -d' ' -f1 -check [ "__HOST_MD5_BIG__" = "__MD5_BIG__" ] +check cmp __TEMP_BIG__ __BASEPATH__/big.bin test TCP/IPv6: guest to ns: big transfer -nsb socat -u TCP6-LISTEN:10002 OPEN:__TEMP_BIG__,create,trunc +nsb socat -u TCP6-LISTEN:10002 OPEN:__TEMP_NS_BIG__,create,trunc sleep 1 -guest socat -u OPEN:test_big.bin TCP6:[__GW6__%__IFNAME__]:10002 +guest socat -u OPEN:/root/big.bin TCP6:[__GW6__%__IFNAME__]:10002 nsw -hout HOST_MD5_BIG md5sum __TEMP_BIG__ | cut -d' ' -f1 -check [ "__HOST_MD5_BIG__" = "__MD5_BIG__" ] +check cmp __TEMP_NS_BIG__ __BASEPATH__/big.bin test TCP/IPv6: ns to host (spliced): big transfer hostb socat -u TCP6-LISTEN:10003 OPEN:__TEMP_BIG__,create,trunc sleep 1 -ns socat -u OPEN:__TEMP_NS_BIG__ TCP6:[::1]:10003 +ns socat -u OPEN:__BASEPATH__/big.bin TCP6:[::1]:10003 hostw -hout HOST_MD5_BIG md5sum __TEMP_BIG__ | cut -d' ' -f1 -check [ "__HOST_MD5_BIG__" = "__MD5_BIG__" ] +check cmp __TEMP_BIG__ __BASEPATH__/big.bin test TCP/IPv6: ns to host (via tap): big transfer hostb socat -u TCP6-LISTEN:10003 OPEN:__TEMP_BIG__,create,trunc nsout IFNAME ip -j link show | jq -rM '.[] | select(.link_type == "ether").ifname' sleep 1 -ns socat -u OPEN:__TEMP_NS_BIG__ TCP6:[__GW6__%__IFNAME__]:10003 +ns socat -u OPEN:__BASEPATH__/big.bin TCP6:[__GW6__%__IFNAME__]:10003 hostw -hout HOST_MD5_BIG md5sum __TEMP_BIG__ | cut -d' ' -f1 -check [ "__HOST_MD5_BIG__" = "__MD5_BIG__" ] +check cmp __TEMP_BIG__ __BASEPATH__/big.bin test TCP/IPv6: ns to guest (using loopback address): big transfer guestb socat -u TCP6-LISTEN:10001 OPEN:test_big.bin,create,trunc sleep 1 -ns socat -u OPEN:__TEMP_NS_BIG__ TCP6:[::1]:10001 +ns socat -u OPEN:__BASEPATH__/big.bin TCP6:[::1]:10001 guestw -gout GUEST_MD5_BIG md5sum test_big.bin | cut -d' ' -f1 -check [ "__GUEST_MD5_BIG__" = "__MD5_BIG__" ] +guest cmp test_big.bin /root/big.bin test TCP/IPv6: ns to guest (using namespace address): big transfer 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' sleep 1 -ns socat -u OPEN:__TEMP_NS_BIG__ TCP6:[__ADDR6__]:10001 +ns socat -u OPEN:__BASEPATH__/big.bin TCP6:[__ADDR6__]:10001 guestw -gout GUEST_MD5_BIG md5sum test_big.bin | cut -d' ' -f1 -check [ "__GUEST_MD5_BIG__" = "__MD5_BIG__" ] +guest cmp test_big.bin /root/big.bin test TCP/IPv6: host to guest: small transfer guestb socat -u TCP6-LISTEN:10001 OPEN:test_small.bin,create,trunc sleep 1 -host socat -u OPEN:__TEMP_SMALL__ TCP6:[::1]:10001 +host socat -u OPEN:__BASEPATH__/small.bin TCP6:[::1]:10001 guestw -gout GUEST_MD5_SMALL md5sum test_small.bin | cut -d' ' -f1 -check [ "__GUEST_MD5_SMALL__" = "__MD5_SMALL__" ] +guest cmp test_small.bin /root/small.bin test TCP/IPv6: host to ns: small transfer nsb socat -u TCP6-LISTEN:10002 OPEN:__TEMP_NS_SMALL__,create,trunc sleep 1 -host socat -u OPEN:__TEMP_SMALL__ TCP6:[::1]:10002 +host socat -u OPEN:__BASEPATH__/small.bin TCP6:[::1]:10002 nsw -nsout NS_MD5_SMALL md5sum __TEMP_NS_SMALL__ | cut -d' ' -f1 -check [ "__NS_MD5_SMALL__" = "__MD5_SMALL__" ] +check cmp __TEMP_NS_SMALL__ __BASEPATH__/small.bin test TCP/IPv6: guest to host: small transfer 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 IFNAME ip -j link show | jq -rM '.[] | select(.link_type == "ether").ifname' sleep 1 -guest socat -u OPEN:test_small.bin TCP6:[__GW6__%__IFNAME__]:10003 +guest socat -u OPEN:/root/small.bin TCP6:[__GW6__%__IFNAME__]:10003 hostw -hout HOST_MD5_SMALL md5sum __TEMP_SMALL__ | cut -d' ' -f1 -check [ "__HOST_MD5_SMALL__" = "__MD5_SMALL__" ] +check cmp __TEMP_SMALL__ __BASEPATH__/small.bin test TCP/IPv6: guest to ns: small transfer -nsb socat -u TCP6-LISTEN:10002 OPEN:__TEMP_SMALL__ +nsb socat -u TCP6-LISTEN:10002 OPEN:__TEMP_NS_SMALL__ sleep 1 -guest socat -u OPEN:test_small.bin TCP6:[__GW6__%__IFNAME__]:10002 +guest socat -u OPEN:/root/small.bin TCP6:[__GW6__%__IFNAME__]:10002 nsw -hout HOST_MD5_SMALL md5sum __TEMP_SMALL__ | cut -d' ' -f1 -check [ "__HOST_MD5_SMALL__" = "__MD5_SMALL__" ] +check cmp __TEMP_NS_SMALL__ __BASEPATH__/small.bin test TCP/IPv6: ns to host (spliced): small transfer hostb socat -u TCP6-LISTEN:10003 OPEN:__TEMP_SMALL__,create,trunc sleep 1 -ns socat -u OPEN:__TEMP_NS_SMALL__ TCP6:[::1]:10003 +ns socat -u OPEN:__BASEPATH__/small.bin TCP6:[::1]:10003 hostw -hout HOST_MD5_SMALL md5sum __TEMP_SMALL__ | cut -d' ' -f1 -check [ "__HOST_MD5_SMALL__" = "__MD5_SMALL__" ] +check cmp __TEMP_SMALL__ __BASEPATH__/small.bin test TCP/IPv6: ns to host (via tap): small transfer hostb socat -u TCP6-LISTEN:10003 OPEN:__TEMP_SMALL__,create,trunc nsout IFNAME ip -j link show | jq -rM '.[] | select(.link_type == "ether").ifname' sleep 1 -ns socat -u OPEN:__TEMP_NS_SMALL__ TCP6:[__GW6__%__IFNAME__]:10003 +ns socat -u OPEN:__BASEPATH__/small.bin TCP6:[__GW6__%__IFNAME__]:10003 hostw -hout HOST_MD5_SMALL md5sum __TEMP_SMALL__ | cut -d' ' -f1 -check [ "__HOST_MD5_SMALL__" = "__MD5_SMALL__" ] +check cmp __TEMP_SMALL__ __BASEPATH__/small.bin test TCP/IPv6: ns to guest (using loopback address): small transfer guestb socat -u TCP6-LISTEN:10001 OPEN:test_small.bin,create,trunc sleep 1 -ns socat -u OPEN:__TEMP_NS_SMALL__ TCP6:[::1]:10001 +ns socat -u OPEN:__BASEPATH__/small.bin TCP6:[::1]:10001 guestw -gout GUEST_MD5_SMALL md5sum test_small.bin | cut -d' ' -f1 -check [ "__GUEST_MD5_SMALL__" = "__MD5_SMALL__" ] +guest cmp test_small.bin /root/small.bin test TCP/IPv6: ns to guest (using namespace address): small transfer guestb socat -u TCP6-LISTEN:10001 OPEN:test_small.bin,create,trunc sleep 1 -ns socat -u OPEN:__TEMP_NS_SMALL__ TCP6:[__ADDR6__]:10001 +ns socat -u OPEN:__BASEPATH__/small.bin TCP6:[__ADDR6__]:10001 guestw -gout GUEST_MD5_SMALL md5sum test_small.bin | cut -d' ' -f1 -check [ "__GUEST_MD5_SMALL__" = "__MD5_SMALL__" ] +guest cmp test_small.bin /root/small.bin diff --git a/test/passt_in_ns/udp b/test/passt_in_ns/udp index b7e9cf3..d9cd85a 100644 --- a/test/passt_in_ns/udp +++ b/test/passt_in_ns/udp @@ -11,145 +11,128 @@ # Copyright (c) 2021 Red Hat GmbH # Author: Stefano Brivio <sbrivio@redhat.com> -gtools socat ip jq md5sum cut -nstools socat ip jq md5sum cut -htools dd socat ip jq md5sum cut +gtools socat ip jq +nstools socat ip jq +htools socat ip jq + +set TEMP __STATEDIR__/test.bin +set TEMP_NS __STATEDIR__/test_ns.bin test UDP/IPv4: host to guest -set TEMP __STATEDIR__/data guestb socat -u UDP4-LISTEN:10001,null-eof OPEN:test.bin,create,trunc -host dd if=/dev/urandom bs=1k count=5 > __TEMP__ sleep 1 -host socat -u OPEN:__TEMP__ UDP4:127.0.0.1:10001,shut-null +host socat -u OPEN:__BASEPATH__/medium.bin UDP4:127.0.0.1:10001,shut-null guestw -hout MD5 md5sum __TEMP__ | cut -d' ' -f1 -gout GUEST_MD5 md5sum test.bin | cut -d' ' -f1 -check [ "__GUEST_MD5__" = "__MD5__" ] +guest cmp test.bin /root/medium.bin test UDP/IPv4: host to ns -set TEMP_NS __STATEDIR__/data_ns nsb socat -u UDP4-LISTEN:10002,null-eof OPEN:__TEMP_NS__,create,trunc sleep 1 -host socat -u OPEN:__TEMP__ UDP4:127.0.0.1:10002,shut-null +host socat -u OPEN:__BASEPATH__/medium.bin UDP4:127.0.0.1:10002,shut-null nsw -nsout NS_MD5 md5sum __TEMP_NS__ | cut -d' ' -f1 -check [ "__NS_MD5__" = "__MD5__" ] +check cmp __TEMP_NS__ __BASEPATH__/medium.bin test UDP/IPv4: guest to host hostb socat -u UDP4-LISTEN:10003,null-eof OPEN:__TEMP__,create,trunc gout GW ip -j -4 route show|jq -rM '.[] | select(.dst == "default").gateway' sleep 1 -guest socat -u OPEN:test.bin UDP4:__GW__:10003,shut-null +guest socat -u OPEN:/root/medium.bin UDP4:__GW__:10003,shut-null hostw -hout HOST_MD5 md5sum __TEMP__ | cut -d' ' -f1 -check [ "__HOST_MD5__" = "__MD5__" ] +check cmp __TEMP__ __BASEPATH__/medium.bin test UDP/IPv4: guest to ns nsb socat -u UDP4-LISTEN:10002,null-eof OPEN:__TEMP_NS__,create,trunc sleep 1 -guest socat -u OPEN:test.bin UDP4:__GW__:10002,shut-null +guest socat -u OPEN:/root/medium.bin UDP4:__GW__:10002,shut-null nsw -hout HOST_MD5 md5sum __TEMP__ | cut -d' ' -f1 -check [ "__HOST_MD5__" = "__MD5__" ] +check cmp __TEMP_NS__ __BASEPATH__/medium.bin test UDP/IPv4: ns to host (recvmmsg/sendmmsg) hostb socat -u UDP4-LISTEN:10003,null-eof OPEN:__TEMP__,create,trunc sleep 1 -ns socat -u OPEN:__TEMP_NS__ UDP4:127.0.0.1:10003,shut-null +ns socat -u OPEN:__BASEPATH__/medium.bin UDP4:127.0.0.1:10003,shut-null hostw -hout HOST_MD5 md5sum __TEMP__ | cut -d' ' -f1 -check [ "__HOST_MD5__" = "__MD5__" ] +check cmp __TEMP__ __BASEPATH__/medium.bin test UDP/IPv4: ns to host (via tap) hostb socat -u UDP4-LISTEN:10003,null-eof OPEN:__TEMP__,create,trunc sleep 1 -ns socat -u OPEN:__TEMP_NS__ UDP4:__GW__:10003,shut-null +ns socat -u OPEN:__BASEPATH__/medium.bin UDP4:__GW__:10003,shut-null hostw -hout HOST_MD5 md5sum __TEMP__ | cut -d' ' -f1 -check [ "__HOST_MD5__" = "__MD5__" ] +check cmp __TEMP__ __BASEPATH__/medium.bin test UDP/IPv4: ns to guest (using loopback address) guestb socat -u UDP4-LISTEN:10001,null-eof OPEN:test.bin,create,trunc sleep 1 -ns socat -u OPEN:__TEMP_NS__ UDP4:127.0.0.1:10001,shut-null +ns socat -u OPEN:__BASEPATH__/medium.bin UDP4:127.0.0.1:10001,shut-null guestw -gout GUEST_MD5 md5sum test.bin | cut -d' ' -f1 -check [ "__GUEST_MD5__" = "__MD5__" ] +guest cmp test.bin /root/medium.bin test UDP/IPv4: ns to guest (using namespace address) guestb socat -u UDP4-LISTEN:10001,null-eof OPEN:test.bin,create,trunc 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' sleep 1 -ns socat -u OPEN:__TEMP_NS__ UDP4:__ADDR__:10001,shut-null +ns socat -u OPEN:__BASEPATH__/medium.bin UDP4:__ADDR__:10001,shut-null guestw -gout GUEST_MD5 md5sum test.bin | cut -d' ' -f1 -check [ "__GUEST_MD5__" = "__MD5__" ] +guest cmp test.bin /root/medium.bin test UDP/IPv6: host to guest guestb socat -u UDP6-LISTEN:10001,null-eof OPEN:test.bin,create,trunc sleep 1 -host socat -u OPEN:__TEMP__ UDP6:[::1]:10001,shut-null +host socat -u OPEN:__BASEPATH__/medium.bin UDP6:[::1]:10001,shut-null guestw -gout GUEST_MD5 md5sum test.bin | cut -d' ' -f1 -check [ "__GUEST_MD5__" = "__MD5__" ] +guest cmp test.bin /root/medium.bin test UDP/IPv6: host to ns nsb socat -u UDP6-LISTEN:10002,null-eof OPEN:__TEMP_NS__,create,trunc sleep 1 -host socat -u OPEN:__TEMP__ UDP6:[::1]:10002,shut-null +host socat -u OPEN:__BASEPATH__/medium.bin UDP6:[::1]:10002,shut-null nsw -nsout NS_MD5 md5sum __TEMP_NS__ | cut -d' ' -f1 -check [ "__NS_MD5__" = "__MD5__" ] +check cmp __TEMP_NS__ __BASEPATH__/medium.bin test UDP/IPv6: guest to host hostb socat -u UDP6-LISTEN:10003,null-eof OPEN:__TEMP__,create,trunc 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' sleep 1 -guest socat -u OPEN:test.bin UDP6:[__GW6__%__IFNAME__]:10003,shut-null +guest socat -u OPEN:/root/medium.bin UDP6:[__GW6__%__IFNAME__]:10003,shut-null hostw -hout HOST_MD5 md5sum __TEMP__ | cut -d' ' -f1 -check [ "__HOST_MD5__" = "__MD5__" ] +check cmp __TEMP__ __BASEPATH__/medium.bin test UDP/IPv6: guest to ns nsb socat -u UDP6-LISTEN:10002,null-eof OPEN:__TEMP_NS__,create,trunc sleep 1 -guest socat -u OPEN:test.bin UDP6:[__GW6__%__IFNAME__]:10002,shut-null +guest socat -u OPEN:/root/medium.bin UDP6:[__GW6__%__IFNAME__]:10002,shut-null nsw -hout HOST_MD5 md5sum __TEMP__ | cut -d' ' -f1 -check [ "__HOST_MD5__" = "__MD5__" ] +check cmp __TEMP_NS__ __BASEPATH__/medium.bin test UDP/IPv6: ns to host (recvmmsg/sendmmsg) hostb socat -u UDP6-LISTEN:10003,null-eof OPEN:__TEMP__,create,trunc sleep 1 -ns socat -u OPEN:__TEMP_NS__ UDP6:[::1]:10003,shut-null +ns socat -u OPEN:__BASEPATH__/medium.bin UDP6:[::1]:10003,shut-null hostw -hout HOST_MD5 md5sum __TEMP__ | cut -d' ' -f1 -check [ "__HOST_MD5__" = "__MD5__" ] +check cmp __TEMP__ __BASEPATH__/medium.bin test UDP/IPv6: ns to host (via tap) hostb socat -u UDP6-LISTEN:10003,null-eof OPEN:__TEMP__,create,trunc nsout IFNAME ip -j link show | jq -rM '.[] | select(.link_type == "ether").ifname' sleep 1 -ns socat -u OPEN:__TEMP_NS__ UDP6:[__GW6__%__IFNAME__]:10003,shut-null +ns socat -u OPEN:__BASEPATH__/medium.bin UDP6:[__GW6__%__IFNAME__]:10003,shut-null hostw -hout HOST_MD5 md5sum __TEMP__ | cut -d' ' -f1 -check [ "__HOST_MD5__" = "__MD5__" ] +check cmp __TEMP__ __BASEPATH__/medium.bin test UDP/IPv6: ns to guest (using loopback address) guestb socat -u UDP6-LISTEN:10001,null-eof OPEN:test.bin,create,trunc sleep 1 -ns socat -u OPEN:__TEMP_NS__ UDP6:[::1]:10001,shut-null +ns socat -u OPEN:__BASEPATH__/medium.bin UDP6:[::1]:10001,shut-null guestw -gout GUEST_MD5 md5sum test.bin | cut -d' ' -f1 -check [ "__GUEST_MD5__" = "__MD5__" ] +guest cmp test.bin /root/medium.bin test UDP/IPv6: ns to guest (using namespace address) guestb socat -u UDP6-LISTEN:10001,null-eof OPEN:test.bin,create,trunc nsout ADDR6 ip -j -6 addr show|jq -rM '.[] | select(.ifname == "__IFNAME__").addr_info[0].local' sleep 1 -ns socat -u OPEN:__TEMP_NS__ UDP6:[__ADDR6__]:10001,shut-null +ns socat -u OPEN:__BASEPATH__/medium.bin UDP6:[__ADDR6__]:10001,shut-null guestw -gout GUEST_MD5 md5sum test.bin | cut -d' ' -f1 -check [ "__GUEST_MD5__" = "__MD5__" ] +guest cmp test.bin /root/medium.bin |