aboutgitcodebugslistschat
diff options
context:
space:
mode:
-rw-r--r--contrib/kata-containers/README.md2
-rwxr-xr-xdoc/demo.sh8
-rw-r--r--test/demo/passt10
-rw-r--r--test/demo/pasta6
-rw-r--r--test/demo/podman20
-rw-r--r--test/dhcp/passt22
-rw-r--r--test/dhcp/pasta20
-rw-r--r--test/icmp/passt_in_ns4
-rwxr-xr-xtest/lib/setup4
-rw-r--r--test/ndp/passt12
-rw-r--r--test/ndp/pasta12
-rw-r--r--test/perf/passt_tcp6
-rw-r--r--test/perf/passt_udp6
-rw-r--r--test/perf/pasta_tcp6
-rw-r--r--test/perf/pasta_udp6
-rw-r--r--test/tcp/passt6
-rw-r--r--test/tcp/passt_in_ns22
-rw-r--r--test/tcp/pasta8
-rw-r--r--test/two_guests/basic22
-rw-r--r--test/udp/passt6
-rw-r--r--test/udp/passt_in_ns14
-rw-r--r--test/udp/pasta6
22 files changed, 114 insertions, 114 deletions
diff --git a/contrib/kata-containers/README.md b/contrib/kata-containers/README.md
index 96acd5f..4cc8a70 100644
--- a/contrib/kata-containers/README.md
+++ b/contrib/kata-containers/README.md
@@ -259,7 +259,7 @@ we can now:
### verify that addresses are properly configured
- crictl exec $c ip ad sh
+ crictl exec $c ip addr show
## Enable support for ICMP/ICMPv6 Echo Request
diff --git a/doc/demo.sh b/doc/demo.sh
index 87fad1c..f49110a 100755
--- a/doc/demo.sh
+++ b/doc/demo.sh
@@ -19,9 +19,9 @@ get_token() {
unset IFS
}
-ipv6_dev() { get_token "dev" $(ip -o -6 ro show default | grep via); }
-ipv6_devaddr() { get_token "inet6" $(ip -o -6 ad sh dev "${1}" scope global); }
-ipv6_ll_addr() { get_token "inet6" $(ip -o -6 ad sh dev "${1}" scope link); }
+ipv6_dev() { get_token "dev" $(ip -o -6 route show default | grep via); }
+ipv6_devaddr() { get_token "inet6" $(ip -o -6 addr show dev "${1}" scope global); }
+ipv6_ll_addr() { get_token "inet6" $(ip -o -6 addr show dev "${1}" scope link); }
ipv6_mask() { echo ${1#*/}; }
ipv6_mangle() {
IFS=':'
@@ -93,7 +93,7 @@ if [ -n "${ipv6_addr}" ]; then
ip addr add "${ipv6_addr}" dev "veth_${ns}"
ip route add "${ipv6_passt}" dev "veth_${ns}"
passt_ll="$(ipv6_ll_addr "veth_${ns}")"
- main_ll="$(get_token "link/ether" $(ip -o li sh "veth_${ns}"))"
+ main_ll="$(get_token "link/ether" $(ip -o link show "veth_${ns}"))"
ip neigh add "${passt_ll%%/*}" dev "veth_${ns}" lladdr "${main_ll}"
ip -n "${ns}" route add default via "${passt_ll%%/*}" dev "veth_${ns}"
diff --git a/test/demo/passt b/test/demo/passt
index cf75c9b..d394a08 100644
--- a/test/demo/passt
+++ b/test/demo/passt
@@ -108,13 +108,13 @@ sleep 10
nl
nl
-guest ip li sh
+guest ip link show
sleep 3
say Guest is up. Let's configure IPv4 first...
sleep 2
guest dhclient
sleep 2
-guest ip ad sh
+guest ip addr show
sleep 5
nl
@@ -140,7 +140,7 @@ say Now the other way around... using
nl
say the address of the default gateway.
sleep 2
-gout GW ip -j -4 ro sh|jq -rM '.[] | select(.dst == "default").gateway'
+gout GW ip -j -4 route show|jq -rM '.[] | select(.dst == "default").gateway'
sleep 5
hostb nc -l -p 31337
sleep 2
@@ -168,8 +168,8 @@ host sysctl -w net.ipv4.tcp_rmem="4096 524288 134217728"
host sysctl -w net.ipv4.tcp_wmem="4096 524288 134217728"
host sysctl -w net.ipv4.tcp_timestamps=0
-gout GW6 ip -j -6 ro sh|jq -rM '.[] | select(.dst == "default").gateway'
-gout IFNAME ip -j li sh | jq -rM '.[] | select(.link_type == "ether").ifname'
+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'
nl
nl
info Throughput in Gbps, latency in µs
diff --git a/test/demo/pasta b/test/demo/pasta
index 506d948..8b13b5e 100644
--- a/test/demo/pasta
+++ b/test/demo/pasta
@@ -73,13 +73,13 @@ host q
nl
nl
-ns ip li sh
+ns ip link show
sleep 3
say Let's configure IPv4 first...
sleep 2
ns dhclient
sleep 2
-ns ip ad sh
+ns ip addr show
sleep 5
nl
@@ -119,7 +119,7 @@ sleep 5
nl
say or the address of the default gateway.
sleep 2
-nsout GW ip -j -4 ro sh|jq -rM '.[] | select(.dst == "default").gateway'
+nsout GW ip -j -4 route show|jq -rM '.[] | select(.dst == "default").gateway'
sleep 5
hostb nc -l -p 31337
sleep 2
diff --git a/test/demo/podman b/test/demo/podman
index 074dd85..3a73784 100644
--- a/test/demo/podman
+++ b/test/demo/podman
@@ -73,13 +73,13 @@ nl
say We can observe some practical differences:
nl
-ns1b ip ad sh
+ns1b ip addr show
sleep 3
say - slirp4netns uses a predefined IPv4 address
hl NS1
sleep 2
-ns2b ip ad sh
+ns2b ip addr show
sleep 3
say ,
nl
@@ -103,7 +103,7 @@ sleep 2
nl
say - same for routes:
-ns1b ip ro sh
+ns1b ip route show
sleep 3
say slirp4netns defines its own
nl
@@ -112,8 +112,8 @@ hl NS1
sleep 2
say , pasta copies it from the host
-ns2b ip ro sh
-ns2b ip -6 ro sh
+ns2b ip route show
+ns2b ip -6 route show
sleep 5
nl
@@ -310,11 +310,11 @@ nl
nl
say Everything is set now, let's start
sleep 2
-hout IFNAME ip -j li sh | jq -rM '.[] | select(.link_type == "ether").ifname'
-hout ADDR4 ip -j -4 ad sh|jq -rM '.[] | select(.ifname == "__IFNAME__").addr_info[] | select(.scope == "global").local'
-hout ADDR6 ip -j -6 ad sh|jq -rM '.[] | select(.ifname == "__IFNAME__").addr_info[] | select(.scope == "global").local'
-hout GW4 ip -j -4 ro sh|jq -rM '.[] | select(.dst == "default").gateway'
-hout GW6 ip -j -6 ro sh|jq -rM '.[] | select(.dst == "default").gateway'
+hout IFNAME ip -j link show | jq -rM '.[] | select(.link_type == "ether").ifname'
+hout ADDR4 ip -j -4 addr show|jq -rM '.[] | select(.ifname == "__IFNAME__").addr_info[] | select(.scope == "global").local'
+hout ADDR6 ip -j -6 addr show|jq -rM '.[] | select(.ifname == "__IFNAME__").addr_info[] | select(.scope == "global").local'
+hout GW4 ip -j -4 route show|jq -rM '.[] | select(.dst == "default").gateway'
+hout GW6 ip -j -6 route show|jq -rM '.[] | select(.dst == "default").gateway'
nl
nl
diff --git a/test/dhcp/passt b/test/dhcp/passt
index 85cb264..ca76846 100644
--- a/test/dhcp/passt
+++ b/test/dhcp/passt
@@ -16,23 +16,23 @@ gtools ip jq dhclient sed tr
htools ip jq sed tr head
test Interface name
-gout IFNAME ip -j li sh | jq -rM '.[] | select(.link_type == "ether").ifname'
-hout HOST_IFNAME ip -j -4 ro sh|jq -rM '.[] | select(.dst == "default").dev'
+gout IFNAME ip -j link show | jq -rM '.[] | select(.link_type == "ether").ifname'
+hout HOST_IFNAME ip -j -4 route show|jq -rM '.[] | select(.dst == "default").dev'
check [ -n "__IFNAME__" ]
test DHCP: address
guest /sbin/dhclient __IFNAME__
-gout ADDR ip -j -4 ad sh|jq -rM '.[] | select(.ifname == "__IFNAME__").addr_info[0].local'
-hout HOST_ADDR ip -j -4 ad sh|jq -rM '.[] | select(.ifname == "__HOST_IFNAME__").addr_info[0].local'
+gout ADDR ip -j -4 addr show|jq -rM '.[] | select(.ifname == "__IFNAME__").addr_info[0].local'
+hout HOST_ADDR ip -j -4 addr show|jq -rM '.[] | select(.ifname == "__HOST_IFNAME__").addr_info[0].local'
check [ "__ADDR__" = "__HOST_ADDR__" ]
test DHCP: route
-gout GW ip -j -4 ro sh|jq -rM '.[] | select(.dst == "default").gateway'
-hout HOST_GW ip -j -4 ro sh|jq -rM '.[] | select(.dst == "default").gateway'
+gout GW ip -j -4 route show|jq -rM '.[] | select(.dst == "default").gateway'
+hout HOST_GW ip -j -4 route show|jq -rM '.[] | select(.dst == "default").gateway'
check [ "__GW__" = "__HOST_GW__" ]
test DHCP: MTU
-gout MTU ip -j li sh | jq -rM '.[] | select(.ifname == "__IFNAME__").mtu'
+gout MTU ip -j link show | jq -rM '.[] | select(.ifname == "__IFNAME__").mtu'
check [ __MTU__ = 65520 ]
test DHCP: DNS
@@ -49,13 +49,13 @@ check [ "__SEARCH__" = "__HOST_SEARCH__" ]
test DHCPv6: address
guest /sbin/dhclient -6 __IFNAME__
-gout ADDR6 ip -j -6 ad sh|jq -rM '.[] | select(.ifname == "__IFNAME__").addr_info[] | select(.prefixlen == 128).local'
-hout HOST_ADDR6 ip -j -6 ad sh|jq -rM '.[] | select(.ifname == "__HOST_IFNAME__").addr_info[] | select(.scope == "global").local'
+gout ADDR6 ip -j -6 addr show|jq -rM '.[] | select(.ifname == "__IFNAME__").addr_info[] | select(.prefixlen == 128).local'
+hout HOST_ADDR6 ip -j -6 addr show|jq -rM '.[] | select(.ifname == "__HOST_IFNAME__").addr_info[] | select(.scope == "global").local'
check [ "__ADDR6__" = "__HOST_ADDR6__" ]
test DHCPv6: route
-gout GW6 ip -j -6 ro sh|jq -rM '.[] | select(.dst == "default").gateway'
-hout HOST_GW6 ip -j -6 ro sh|jq -rM '.[] | select(.dst == "default").gateway'
+gout GW6 ip -j -6 route show|jq -rM '.[] | select(.dst == "default").gateway'
+hout HOST_GW6 ip -j -6 route show|jq -rM '.[] | select(.dst == "default").gateway'
check [ "__GW6__" = "__HOST_GW6__" ]
# Strip interface specifier: interface names might differ between host and guest
diff --git a/test/dhcp/pasta b/test/dhcp/pasta
index 1e8ecaa..77e9e42 100644
--- a/test/dhcp/pasta
+++ b/test/dhcp/pasta
@@ -16,31 +16,31 @@ nstools ip jq /sbin/udhcpc /sbin/dhclient
htools ip jq
test Interface name
-nsout IFNAME ip -j li sh | jq -rM '.[] | select(.link_type == "ether").ifname'
+nsout IFNAME ip -j link show | jq -rM '.[] | select(.link_type == "ether").ifname'
check [ -n "__IFNAME__" ]
test DHCP: address
ns /sbin/udhcpc -i __IFNAME__
-nsout ADDR ip -j -4 ad sh|jq -rM '.[] | select(.ifname == "__IFNAME__").addr_info[0].local'
-hout HOST_ADDR ip -j -4 ad sh|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'
+hout HOST_ADDR ip -j -4 addr show|jq -rM '.[] | select(.ifname == "__IFNAME__").addr_info[0].local'
check [ __ADDR__ = __HOST_ADDR__ ]
test DHCP: route
-nsout GW ip -j -4 ro sh|jq -rM '.[] | select(.dst == "default").gateway'
-hout HOST_GW ip -j -4 ro sh|jq -rM '.[] | select(.dst == "default").gateway'
+nsout GW ip -j -4 route show|jq -rM '.[] | select(.dst == "default").gateway'
+hout HOST_GW ip -j -4 route show|jq -rM '.[] | select(.dst == "default").gateway'
check [ __GW__ = __HOST_GW__ ]
test DHCP: MTU
-nsout MTU ip -j li sh | jq -rM '.[] | select(.ifname == "__IFNAME__").mtu'
+nsout MTU ip -j link show | jq -rM '.[] | select(.ifname == "__IFNAME__").mtu'
check [ __MTU__ = 65520 ]
test DHCPv6: address
ns /sbin/dhclient -6 __IFNAME__
-nsout ADDR6 ip -j -6 ad sh|jq -rM '.[] | select(.ifname == "__IFNAME__").addr_info[] | select(.prefixlen == 128).local'
-hout HOST_ADDR6 ip -j -6 ad sh|jq -rM '.[] | select(.ifname == "__IFNAME__").addr_info[] | select(.scope == "global").local'
+nsout ADDR6 ip -j -6 addr show|jq -rM '.[] | select(.ifname == "__IFNAME__").addr_info[] | select(.prefixlen == 128).local'
+hout HOST_ADDR6 ip -j -6 addr show|jq -rM '.[] | select(.ifname == "__IFNAME__").addr_info[] | select(.scope == "global").local'
check [ __ADDR6__ = __HOST_ADDR6__ ]
test DHCPv6: route
-nsout GW6 ip -j -6 ro sh|jq -rM '.[] | select(.dst == "default").gateway'
-hout HOST_GW6 ip -j -6 ro sh|jq -rM '.[] | select(.dst == "default").gateway'
+nsout GW6 ip -j -6 route show|jq -rM '.[] | select(.dst == "default").gateway'
+hout HOST_GW6 ip -j -6 route show|jq -rM '.[] | select(.dst == "default").gateway'
check [ __GW6__ = __HOST_GW6__ ]
diff --git a/test/icmp/passt_in_ns b/test/icmp/passt_in_ns
index 38a9a4f..e1d9f7b 100644
--- a/test/icmp/passt_in_ns
+++ b/test/icmp/passt_in_ns
@@ -21,13 +21,13 @@ nstools ip jq sleep
gtools ping ip jq
test ICMP echo: guest to ns
-nsout IFNAME_NS ip -j li sh | jq -rM '.[] | select(.link_type == "ether").ifname'
+nsout IFNAME_NS ip -j link show | jq -rM '.[] | select(.link_type == "ether").ifname'
ns ip addr add 192.0.2.1/32 dev __IFNAME_NS__
guest ping -c1 -w1 192.0.2.1
ns ip addr del 192.0.2.1/32 dev __IFNAME_NS__
test ICMPv6 echo: guest to ns
ns ip addr add 2001:db8::1 dev __IFNAME_NS__ && sleep 2 # DAD
-gout IFNAME ip -j li sh | jq -rM '.[] | select(.link_type == "ether").ifname'
+gout IFNAME ip -j link show | jq -rM '.[] | select(.link_type == "ether").ifname'
guest ping -c1 -w1 2001:db8::1
ns ip addr del 2001:db8::1 dev __IFNAME_NS__
diff --git a/test/lib/setup b/test/lib/setup
index 6139e8f..ffc4171 100755
--- a/test/lib/setup
+++ b/test/lib/setup
@@ -141,7 +141,7 @@ setup_passt_in_ns() {
pane_status GUEST
pane_status NS
- pane_run NS "ip -j li sh | jq -rM '.[] | select(.link_type == \"ether\").ifname'"
+ pane_run NS "ip -j link show | jq -rM '.[] | select(.link_type == \"ether\").ifname'"
pane_wait NS
__ifname="$(pane_parse NS)"
pane_run NS "/sbin/udhcpc -i ${__ifname}"
@@ -228,7 +228,7 @@ setup_two_guests() {
pane_run GUEST_1 "nsenter -t ${__ns1_pid} -U -n --preserve-credentials"
pane_run GUEST_2 "nsenter -t ${__ns2_pid} -U -n --preserve-credentials"
- pane_run PASST_1 "ip -j li sh | jq -rM '.[] | select(.link_type == \"ether\").ifname'"
+ pane_run PASST_1 "ip -j link show | jq -rM '.[] | select(.link_type == \"ether\").ifname'"
pane_wait PASST_1
__ifname="$(pane_parse PASST_1)"
diff --git a/test/ndp/passt b/test/ndp/passt
index 33e97a3..155ff26 100644
--- a/test/ndp/passt
+++ b/test/ndp/passt
@@ -16,19 +16,19 @@ gtools ip jq sipcalc grep
htools ip jq sipcalc grep cut
test Interface name
-gout IFNAME ip -j li sh | jq -rM '.[] | select(.link_type == "ether").ifname'
+gout IFNAME ip -j link show | jq -rM '.[] | select(.link_type == "ether").ifname'
guest ip link set dev __IFNAME__ up && sleep 2
-hout HOST_IFNAME ip -j -4 ro sh|jq -rM '.[] | select(.dst == "default").dev'
+hout HOST_IFNAME ip -j -4 route show|jq -rM '.[] | select(.dst == "default").dev'
check [ -n "__IFNAME__" ]
test SLAAC: prefix
-gout ADDR6 ip -j -6 ad sh|jq -rM '.[] | select(.ifname == "__IFNAME__").addr_info[] | select(.scope == "global" and .prefixlen == 64).local'
+gout ADDR6 ip -j -6 addr show|jq -rM '.[] | select(.ifname == "__IFNAME__").addr_info[] | select(.scope == "global" and .prefixlen == 64).local'
gout PREFIX6 sipcalc __ADDR6__/64 | grep prefix | cut -d' ' -f4
-hout HOST_ADDR6 ip -j -6 ad sh|jq -rM '.[] | select(.ifname == "__HOST_IFNAME__").addr_info[] | select(.scope == "global").local'
+hout HOST_ADDR6 ip -j -6 addr show|jq -rM '.[] | select(.ifname == "__HOST_IFNAME__").addr_info[] | select(.scope == "global").local'
hout HOST_PREFIX6 sipcalc __HOST_ADDR6__/64 | grep prefix | cut -d' ' -f4
check [ "__PREFIX6__" = "__HOST_PREFIX6__" ]
test SLAAC: route
-gout GW6 ip -j -6 ro sh|jq -rM '.[] | select(.dst == "default").gateway'
-hout HOST_GW6 ip -j -6 ro sh|jq -rM '.[] | select(.dst == "default").gateway'
+gout GW6 ip -j -6 route show|jq -rM '.[] | select(.dst == "default").gateway'
+hout HOST_GW6 ip -j -6 route show|jq -rM '.[] | select(.dst == "default").gateway'
check [ __GW6__ = __HOST_GW6__ ]
diff --git a/test/ndp/pasta b/test/ndp/pasta
index c3eceae..ef9dee7 100644
--- a/test/ndp/pasta
+++ b/test/ndp/pasta
@@ -16,20 +16,20 @@ nstools ip jq sipcalc grep cut
htools ip jq sipcalc grep cut
test Interface name
-nsout IFNAME ip -j li sh | jq -rM '.[] | select(.link_type == "ether").ifname'
+nsout IFNAME ip -j link show | jq -rM '.[] | select(.link_type == "ether").ifname'
ns ip link set dev __IFNAME__ up
sleep 2
-hout HOST_IFNAME ip -j -4 ro sh|jq -rM '.[] | select(.dst == "default").dev'
+hout HOST_IFNAME ip -j -4 route show|jq -rM '.[] | select(.dst == "default").dev'
check [ -n "__IFNAME__" ]
test SLAAC: prefix
-nsout ADDR6 ip -j -6 ad sh|jq -rM '.[] | select(.ifname == "__IFNAME__").addr_info[] | select(.scope == "global" and .prefixlen == 64).local'
+nsout ADDR6 ip -j -6 addr show|jq -rM '.[] | select(.ifname == "__IFNAME__").addr_info[] | select(.scope == "global" and .prefixlen == 64).local'
nsout PREFIX6 sipcalc __ADDR6__/64 | grep prefix | cut -d' ' -f4
-hout HOST_ADDR6 ip -j -6 ad sh|jq -rM '.[] | select(.ifname == "__HOST_IFNAME__").addr_info[] | select(.scope == "global").local'
+hout HOST_ADDR6 ip -j -6 addr show|jq -rM '.[] | select(.ifname == "__HOST_IFNAME__").addr_info[] | select(.scope == "global").local'
hout HOST_PREFIX6 sipcalc __HOST_ADDR6__/64 | grep prefix | cut -d' ' -f4
check [ "__PREFIX6__" = "__HOST_PREFIX6__" ]
test SLAAC: route
-nsout GW6 ip -j -6 ro sh|jq -rM '.[] | select(.dst == "default").gateway'
-hout HOST_GW6 ip -j -6 ro sh|jq -rM '.[] | select(.dst == "default").gateway'
+nsout GW6 ip -j -6 route show|jq -rM '.[] | select(.dst == "default").gateway'
+hout HOST_GW6 ip -j -6 route show|jq -rM '.[] | select(.dst == "default").gateway'
check [ __GW6__ = __HOST_GW6__ ]
diff --git a/test/perf/passt_tcp b/test/perf/passt_tcp
index f13fdfc..5f017db 100644
--- a/test/perf/passt_tcp
+++ b/test/perf/passt_tcp
@@ -35,9 +35,9 @@ ns sysctl -w net.ipv4.tcp_rmem="4096 524288 134217728"
ns sysctl -w net.ipv4.tcp_wmem="4096 524288 134217728"
ns sysctl -w net.ipv4.tcp_timestamps=0
-gout GW ip -j -4 ro sh|jq -rM '.[] | select(.dst == "default").gateway'
-gout GW6 ip -j -6 ro sh|jq -rM '.[] | select(.dst == "default").gateway'
-gout IFNAME ip -j li sh | jq -rM '.[] | select(.link_type == "ether").ifname'
+gout GW ip -j -4 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'
hout FREQ_PROCFS (echo "scale=1"; sed -n 's/cpu MHz.*: \([0-9]*\)\..*$/(\1+10^2\/2)\/10^3/p' /proc/cpuinfo) | bc -l | head -n1
hout FREQ_CPUFREQ (echo "scale=1"; printf '( %i + 10^5 / 2 ) / 10^6\n' $(cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq) ) | bc -l
diff --git a/test/perf/passt_udp b/test/perf/passt_udp
index cc5711b..0515f00 100644
--- a/test/perf/passt_udp
+++ b/test/perf/passt_udp
@@ -28,9 +28,9 @@ guest /sbin/sysctl -w net.core.wmem_max=16777216
guest /sbin/sysctl -w net.core.rmem_default=16777216
guest /sbin/sysctl -w net.core.wmem_default=16777216
-gout GW ip -j -4 ro sh|jq -rM '.[] | select(.dst == "default").gateway'
-gout GW6 ip -j -6 ro sh|jq -rM '.[] | select(.dst == "default").gateway'
-gout IFNAME ip -j li sh | jq -rM '.[] | select(.link_type == "ether").ifname'
+gout GW ip -j -4 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'
hout FREQ_PROCFS (echo "scale=1"; sed -n 's/cpu MHz.*: \([0-9]*\)\..*$/(\1+10^2\/2)\/10^3/p' /proc/cpuinfo) | bc -l | head -n1
hout FREQ_CPUFREQ (echo "scale=1"; printf '( %i + 10^5 / 2 ) / 10^6\n' $(cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq) ) | bc -l
diff --git a/test/perf/pasta_tcp b/test/perf/pasta_tcp
index a330bb4..5ef0f69 100644
--- a/test/perf/pasta_tcp
+++ b/test/perf/pasta_tcp
@@ -170,9 +170,9 @@ te
test pasta: throughput and latency (connections via tap)
-nsout GW ip -j -4 ro sh|jq -rM '.[] | select(.dst == "default").gateway'
-nsout GW6 ip -j -6 ro sh|jq -rM '.[] | select(.dst == "default").gateway'
-nsout IFNAME ip -j li sh | jq -rM '.[] | select(.link_type == "ether").ifname'
+nsout GW ip -j -4 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'
set THREADS 1
set STREAMS 2
set OPTS -Z -P __STREAMS__ -i1 -t30 -O5 --pacing-timer 100000
diff --git a/test/perf/pasta_udp b/test/perf/pasta_udp
index 8b68b78..114a9bc 100644
--- a/test/perf/pasta_udp
+++ b/test/perf/pasta_udp
@@ -129,9 +129,9 @@ te
test pasta: throughput and latency (traffic via tap)
-nsout GW ip -j -4 ro sh|jq -rM '.[] | select(.dst == "default").gateway'
-nsout GW6 ip -j -6 ro sh|jq -rM '.[] | select(.dst == "default").gateway'
-nsout IFNAME ip -j li sh | jq -rM '.[] | select(.link_type == "ether").ifname'
+nsout GW ip -j -4 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'
info Throughput in Gbps, latency in µs, one thread at __FREQ__ GHz, __STREAMS__ streams
report pasta tap_udp 1 __FREQ__
diff --git a/test/tcp/passt b/test/tcp/passt
index f31f111..b47a36d 100644
--- a/test/tcp/passt
+++ b/test/tcp/passt
@@ -27,7 +27,7 @@ check [ "__GUEST_MD5_BIG__" = "__HOST_MD5_BIG__" ]
test TCP/IPv4: guest to host: big transfer
hostb nc -4 -l 10003 > __TEMP_BIG__
-gout GW ip -j -4 ro sh|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
hostw
hout HOST_MD5_BIG md5sum __TEMP_BIG__ | cut -d' ' -f1
@@ -62,8 +62,8 @@ check [ "__GUEST_MD5_BIG__" = "__HOST_MD5_BIG__" ]
test TCP/IPv6: guest to host: big transfer
hostb nc -6 -l 10003 > __TEMP_BIG__
-gout GW6 ip -j -6 ro sh|jq -rM '.[] | select(.dst == "default").gateway'
-gout IFNAME ip -j li sh | jq -rM '.[] | select(.link_type == "ether").ifname'
+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'
guest cat test_big.bin | nc -N __GW6__%__IFNAME__ 10003
hostw
hout HOST_MD5_BIG md5sum __TEMP_BIG__ | cut -d' ' -f1
diff --git a/test/tcp/passt_in_ns b/test/tcp/passt_in_ns
index fc4c7f4..4229a3a 100644
--- a/test/tcp/passt_in_ns
+++ b/test/tcp/passt_in_ns
@@ -36,7 +36,7 @@ check [ "__NS_MD5_BIG__" = "__MD5_BIG__" ]
test TCP/IPv4: guest to host: big transfer
hostb nc -4 -l 10003 > __TEMP_BIG__
-gout GW ip -j -4 ro sh|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
hostw
hout HOST_MD5_BIG md5sum __TEMP_BIG__ | cut -d' ' -f1
@@ -73,8 +73,8 @@ check [ "__GUEST_MD5_BIG__" = "__MD5_BIG__" ]
test TCP/IPv4: ns to guest (using namespace address): big transfer
guestb nc -4 -l 10001 > test_big.bin
-nsout IFNAME ip -j li sh | jq -rM '.[] | select(.link_type == "ether").ifname'
-nsout ADDR ip -j -4 ad sh|jq -rM '.[] | select(.ifname == "__IFNAME__").addr_info[0].local'
+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'
ns cat __TEMP_NS_BIG__ | nc -N __ADDR__ 10001
guestw
gout GUEST_MD5_BIG md5sum test_big.bin | cut -d' ' -f1
@@ -100,7 +100,7 @@ check [ "__NS_MD5_SMALL__" = "__MD5_SMALL__" ]
test TCP/IPv4: guest to host: small transfer
hostb nc -4 -l 10003 > __TEMP_SMALL__
-gout GW ip -j -4 ro sh|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
hostw
hout HOST_MD5_SMALL md5sum __TEMP_SMALL__ | cut -d' ' -f1
@@ -158,8 +158,8 @@ check [ "__NS_MD5_BIG__" = "__MD5_BIG__" ]
test TCP/IPv6: guest to host: big transfer
hostb nc -6 -l 10003 > __TEMP_BIG__
-gout GW6 ip -j -6 ro sh|jq -rM '.[] | select(.dst == "default").gateway'
-gout IFNAME ip -j li sh | jq -rM '.[] | select(.link_type == "ether").ifname'
+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'
guest cat test_big.bin | nc -N __GW6__%__IFNAME__ 10003
hostw
hout HOST_MD5_BIG md5sum __TEMP_BIG__ | cut -d' ' -f1
@@ -181,7 +181,7 @@ check [ "__HOST_MD5_BIG__" = "__MD5_BIG__" ]
test TCP/IPv6: ns to host (via tap): big transfer
hostb nc -6 -l 10003 > __TEMP_BIG__
-nsout IFNAME ip -j li sh | 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
hostw
hout HOST_MD5_BIG md5sum __TEMP_BIG__ | cut -d' ' -f1
@@ -196,7 +196,7 @@ check [ "__GUEST_MD5_BIG__" = "__MD5_BIG__" ]
test TCP/IPv6: ns to guest (using namespace address): big transfer
guestb nc -6 -l 10001 > test_big.bin
-nsout ADDR6 ip -j -6 ad sh|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
guestw
gout GUEST_MD5_BIG md5sum test_big.bin | cut -d' ' -f1
@@ -218,8 +218,8 @@ check [ "__NS_MD5_SMALL__" = "__MD5_SMALL__" ]
test TCP/IPv6: guest to host: small transfer
hostb nc -6 -l 10003 > __TEMP_SMALL__
-gout GW6 ip -j -6 ro sh|jq -rM '.[] | select(.dst == "default").gateway'
-gout IFNAME ip -j li sh | jq -rM '.[] | select(.link_type == "ether").ifname'
+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'
guest cat test_small.bin | nc -N __GW6__%__IFNAME__ 10003
hostw
hout HOST_MD5_SMALL md5sum __TEMP_SMALL__ | cut -d' ' -f1
@@ -241,7 +241,7 @@ check [ "__HOST_MD5_SMALL__" = "__MD5_SMALL__" ]
test TCP/IPv6: ns to host (via tap): small transfer
hostb nc -6 -l 10003 > __TEMP_SMALL__
-nsout IFNAME ip -j li sh | 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
hostw
hout HOST_MD5_SMALL md5sum __TEMP_SMALL__ | cut -d' ' -f1
diff --git a/test/tcp/pasta b/test/tcp/pasta
index 55548e8..2fece32 100644
--- a/test/tcp/pasta
+++ b/test/tcp/pasta
@@ -35,7 +35,7 @@ check [ "__HOST_MD5_BIG__" = "__MD5_BIG__" ]
test TCP/IPv4: ns to host (via tap): big transfer
hostb nc -4 -l 10003 > __TEMP_BIG__
-nsout GW ip -j -4 ro sh|jq -rM '.[] | select(.dst == "default").gateway'
+nsout GW ip -j -4 route show|jq -rM '.[] | select(.dst == "default").gateway'
ns cat __TEMP_NS_BIG__ | nc -N __GW__ 10003
hostw
hout HOST_MD5_BIG md5sum __TEMP_BIG__ | cut -d' ' -f1
@@ -61,7 +61,7 @@ check [ "__HOST_MD5_SMALL__" = "__MD5_SMALL__" ]
test TCP/IPv4: ns to host (via tap): small transfer
hostb nc -4 -l 10003 > __TEMP_SMALL__
-nsout GW ip -j -4 ro sh|jq -rM '.[] | select(.dst == "default").gateway'
+nsout GW ip -j -4 route show|jq -rM '.[] | select(.dst == "default").gateway'
ns cat __TEMP_NS_SMALL__ | nc -N __GW__ 10003
hostw
hout HOST_MD5_SMALL md5sum __TEMP_SMALL__ | cut -d' ' -f1
@@ -85,8 +85,8 @@ nsw
test TCP/IPv6: ns to host (via tap): big transfer
hostb nc -6 -l 10003 > __TEMP_BIG__
-nsout GW6 ip -j -6 ro sh|jq -rM '.[] | select(.dst == "default").gateway'
-nsout IFNAME ip -j li sh | jq -rM '.[] | select(.link_type == "ether").ifname'
+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'
ns cat __TEMP_NS_BIG__ | nc -N __GW6__%__IFNAME__ 10003
hostw
hout HOST_MD5_BIG md5sum __TEMP_BIG__ | cut -d' ' -f1
diff --git a/test/two_guests/basic b/test/two_guests/basic
index 24352c0..09a06da 100644
--- a/test/two_guests/basic
+++ b/test/two_guests/basic
@@ -16,18 +16,18 @@ g2tools ip jq dhclient nc cat
htools ip jq cat md5sum cut
test Interface names
-g1out IFNAME1 ip -j li sh | jq -rM '.[] | select(.link_type == "ether").ifname'
-g2out IFNAME2 ip -j li sh | jq -rM '.[] | select(.link_type == "ether").ifname'
-hout HOST_IFNAME ip -j -4 ro sh|jq -rM '.[] | select(.dst == "default").dev'
+g1out IFNAME1 ip -j link show | jq -rM '.[] | select(.link_type == "ether").ifname'
+g2out IFNAME2 ip -j link show | jq -rM '.[] | select(.link_type == "ether").ifname'
+hout HOST_IFNAME ip -j -4 route show|jq -rM '.[] | select(.dst == "default").dev'
check [ -n "__IFNAME1__" ]
check [ -n "__IFNAME2__" ]
test DHCP: addresses
guest1 /sbin/dhclient __IFNAME1__
guest2 /sbin/dhclient __IFNAME1__
-g1out ADDR1 ip -j -4 ad sh|jq -rM '.[] | select(.ifname == "__IFNAME1__").addr_info[0].local'
-g2out ADDR2 ip -j -4 ad sh|jq -rM '.[] | select(.ifname == "__IFNAME2__").addr_info[0].local'
-hout HOST_ADDR ip -j -4 ad sh|jq -rM '.[] | select(.ifname == "__HOST_IFNAME__").addr_info[0].local'
+g1out ADDR1 ip -j -4 addr show|jq -rM '.[] | select(.ifname == "__IFNAME1__").addr_info[0].local'
+g2out ADDR2 ip -j -4 addr show|jq -rM '.[] | select(.ifname == "__IFNAME2__").addr_info[0].local'
+hout HOST_ADDR ip -j -4 addr show|jq -rM '.[] | select(.ifname == "__HOST_IFNAME__").addr_info[0].local'
check [ "__ADDR1__" = "__HOST_ADDR__" ]
check [ "__ADDR2__" = "__HOST_ADDR__" ]
@@ -36,14 +36,14 @@ test DHCPv6: addresses
sleep 2
guest1 /sbin/dhclient -6 __IFNAME1__
guest2 /sbin/dhclient -6 __IFNAME1__
-g1out ADDR1_6 ip -j -6 ad sh|jq -rM '.[] | select(.ifname == "__IFNAME1__").addr_info[] | select(.prefixlen == 128).local'
-g2out ADDR2_6 ip -j -6 ad sh|jq -rM '.[] | select(.ifname == "__IFNAME2__").addr_info[] | select(.prefixlen == 128).local'
-hout HOST_ADDR6 ip -j -6 ad sh|jq -rM '.[] | select(.ifname == "__HOST_IFNAME__").addr_info[] | select(.scope == "global").local'
+g1out ADDR1_6 ip -j -6 addr show|jq -rM '.[] | select(.ifname == "__IFNAME1__").addr_info[] | select(.prefixlen == 128).local'
+g2out ADDR2_6 ip -j -6 addr show|jq -rM '.[] | select(.ifname == "__IFNAME2__").addr_info[] | select(.prefixlen == 128).local'
+hout HOST_ADDR6 ip -j -6 addr show|jq -rM '.[] | select(.ifname == "__HOST_IFNAME__").addr_info[] | select(.scope == "global").local'
check [ "__ADDR1_6__" = "__HOST_ADDR6__" ]
check [ "__ADDR2_6__" = "__HOST_ADDR6__" ]
test TCP/IPv4: guest 1 > guest 2
-g1out GW1 ip -j -4 ro sh|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
guest1 echo "Hello_from_guest_1" | nc -N __GW1__ 10004
guest2w
@@ -52,7 +52,7 @@ g2out MSG2 cat msg
check [ "__MSG2__" = "Hello_from_guest_1" ]
test TCP/IPv6: guest 2 > guest 1
-g2out GW2_6 ip -j -6 ro sh|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
guest2 echo "Hello_from_guest_2" | nc -N __GW2_6__%__IFNAME2__ 10001
guest1w
diff --git a/test/udp/passt b/test/udp/passt
index 223871f..492fb12 100644
--- a/test/udp/passt
+++ b/test/udp/passt
@@ -29,7 +29,7 @@ check [ "__GUEST_MD5__" = "__HOST_MD5__" ]
test UDP/IPv4: guest to host
host :> __TEMP__
hostb (nc -u -q1 -4 -l 10003 & echo $! > __NC_PID__) | tee __TEMP__ | (grep -qm1 "END_OF_TEST" && kill $(cat __NC_PID__))
-gout GW ip -j -4 ro sh|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
hostw
hout HOST_MD5 md5sum __TEMP__ | cut -d' ' -f1
@@ -46,8 +46,8 @@ check [ "__GUEST_MD5__" = "__HOST_MD5__" ]
test UDP/IPv6: guest to host
host :> __TEMP__
hostb (nc -u -q1 -6 -l 10003 & echo $! > __NC_PID__) | tee __TEMP__ | (grep -qm1 "END_OF_TEST" && kill $(cat __NC_PID__))
-gout GW6 ip -j -6 ro sh|jq -rM '.[] | select(.dst == "default").gateway'
-gout IFNAME ip -j li sh | jq -rM '.[] | select(.link_type == "ether").ifname'
+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'
guest cat test.bin | nc -u -q1 -N __GW6__%__IFNAME__ 10003
hostw
hout HOST_MD5 md5sum __TEMP__ | cut -d' ' -f1
diff --git a/test/udp/passt_in_ns b/test/udp/passt_in_ns
index b9b1a97..71bda04 100644
--- a/test/udp/passt_in_ns
+++ b/test/udp/passt_in_ns
@@ -39,7 +39,7 @@ check [ "__NS_MD5__" = "__MD5__" ]
test UDP/IPv4: guest to host
host :> __TEMP__
hostb (nc -u -q1 -4 -l 10003 & echo $! > __NC_PID__) | tee __TEMP__ | (grep -qm1 "END_OF_TEST" && kill $(cat __NC_PID__))
-gout GW ip -j -4 ro sh|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
hostw
hout HOST_MD5 md5sum __TEMP__ | cut -d' ' -f1
@@ -79,8 +79,8 @@ check [ "__GUEST_MD5__" = "__MD5__" ]
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))
-nsout IFNAME ip -j li sh | jq -rM '.[] | select(.link_type == "ether").ifname'
-nsout ADDR ip -j -4 ad sh|jq -rM '.[] | select(.ifname == "__IFNAME__").addr_info[0].local'
+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'
ns cat __TEMP_NS__ | nc -u -q1 -N __ADDR__ 10001
guestw
gout GUEST_MD5 md5sum test.bin | cut -d' ' -f1
@@ -104,8 +104,8 @@ check [ "__NS_MD5__" = "__MD5__" ]
test UDP/IPv6: guest to host
host :> __TEMP__
hostb (nc -u -q1 -6 -l 10003 & echo $! > __NC_PID__) | tee __TEMP__ | (grep -qm1 "END_OF_TEST" && kill $(cat __NC_PID__))
-gout GW6 ip -j -6 ro sh|jq -rM '.[] | select(.dst == "default").gateway'
-gout IFNAME ip -j li sh | jq -rM '.[] | select(.link_type == "ether").ifname'
+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'
guest cat test.bin | nc -u -q1 -N __GW6__%__IFNAME__ 10003
hostw
hout HOST_MD5 md5sum __TEMP__ | cut -d' ' -f1
@@ -130,7 +130,7 @@ check [ "__HOST_MD5__" = "__MD5__" ]
test UDP/IPv6: ns to host (via tap)
host :> __TEMP__
hostb (nc -u -q1 -6 -l 10003 & echo $! > __NC_PID__) | tee __TEMP__ | (grep -qm1 "END_OF_TEST" && kill $(cat __NC_PID__))
-nsout IFNAME ip -j li sh | 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
hostw
hout HOST_MD5 md5sum __TEMP__ | cut -d' ' -f1
@@ -145,7 +145,7 @@ check [ "__GUEST_MD5__" = "__MD5__" ]
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))
-nsout ADDR6 ip -j -6 ad sh|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
guestw
gout GUEST_MD5 md5sum test.bin | cut -d' ' -f1
diff --git a/test/udp/pasta b/test/udp/pasta
index dd4b72d..c26cea9 100644
--- a/test/udp/pasta
+++ b/test/udp/pasta
@@ -40,7 +40,7 @@ check [ "__HOST_MD5__" = "__MD5__" ]
test UDP/IPv4: ns to host (via tap)
host :> __TEMP__
hostb (nc -u -q1 -4 -l 10003 & echo $! > __NC_PID__) | tee __TEMP__ | (grep -qm1 "END_OF_TEST" && kill $(cat __NC_PID__))
-nsout GW ip -j -4 ro sh|jq -rM '.[] | select(.dst == "default").gateway'
+nsout GW ip -j -4 route show|jq -rM '.[] | select(.dst == "default").gateway'
ns cat __TEMP_NS__ | nc -u -q1 -N __GW__ 10003
hostw
hout HOST_MD5 md5sum __TEMP__ | cut -d' ' -f1
@@ -68,8 +68,8 @@ nsw
test UDP/IPv6: ns to host (via tap)
host :> __TEMP__
hostb (nc -u -q1 -6 -l 10003 & echo $! > __NC_PID__) | tee __TEMP__ | (grep -qm1 "END_OF_TEST" && kill $(cat __NC_PID__))
-nsout GW6 ip -j -6 ro sh|jq -rM '.[] | select(.dst == "default").gateway'
-nsout IFNAME ip -j li sh | jq -rM '.[] | select(.link_type == "ether").ifname'
+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'
ns cat __TEMP_NS__ | nc -u -q1 -N __GW6__%__IFNAME__ 10003
hostw
hout HOST_MD5 md5sum __TEMP__ | cut -d' ' -f1