5beef08597
The queries we use in the test scripts to locate the external interface or gateway can return multiple results. We get away with this because the way we parse command output only looks at the last line. It's not really correct, though, and improvements to our handling of command output will mean it breaks. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
33 lines
1.3 KiB
Text
33 lines
1.3 KiB
Text
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
#
|
|
# PASST - Plug A Simple Socket Transport
|
|
# for qemu/UNIX domain socket mode
|
|
#
|
|
# PASTA - Pack A Subtle Tap Abstraction
|
|
# for network namespace/tap device mode
|
|
#
|
|
# test/ndp/pasta - Check DHCP and DHCPv6 functionality in pasta mode
|
|
#
|
|
# Copyright (c) 2021 Red Hat GmbH
|
|
# Author: Stefano Brivio <sbrivio@redhat.com>
|
|
|
|
nstools ip jq sipcalc grep cut
|
|
htools ip jq sipcalc grep cut
|
|
|
|
test Interface name
|
|
nsout IFNAME ip -j link show | jq -rM '.[] | select(.link_type == "ether").ifname'
|
|
check [ -n "__IFNAME__" ]
|
|
ns ip link set dev __IFNAME__ up
|
|
sleep 2
|
|
|
|
test SLAAC: prefix
|
|
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 addr show|jq -rM '.[] | select(.ifname == "__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 route show|jq -rM '.[] | select(.dst == "default").gateway'
|
|
hout HOST_GW6 ip -j -6 route show|jq -rM '[.[] | select(.dst == "default").gateway] | .[0]'
|
|
check [ __GW6__ = __HOST_GW6__ ]
|