From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Gibson To: passt-dev@passt.top Subject: [PATCH 06/18] tests: Handle the case of a nameserver on host localhost Date: Fri, 15 Jul 2022 15:21:29 +1000 Message-ID: <20220715052141.890703-7-david@gibson.dropbear.id.au> In-Reply-To: <20220715052141.890703-1-david@gibson.dropbear.id.au> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============8729696671116898618==" --===============8729696671116898618== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable We previously introduced a change to passt to handle the case where the host machine is its own nameserver - so resolv.conf points to 127.0.0.1. In this case we advertize the gateway as the DNS server for the guest, which in turn will be redirected back to the host by existing passt logic. The dhcp/passt doesn't handle this case correctly, so add some logic to account for it. Signed-off-by: David Gibson --- test/dhcp/passt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/dhcp/passt b/test/dhcp/passt index a5491bc..3d2e939 100644 --- a/test/dhcp/passt +++ b/test/dhcp/passt @@ -37,7 +37,7 @@ check [ __MTU__ =3D 65520 ] test DHCP: DNS gout DNS sed -n 's/^nameserver \([0-9]*\.\)\(.*\)/\1\2/p' /etc/resolv.conf |= tr '\n' ',' | sed 's/,$//;s/$/\n/' hout HOST_DNS sed -n 's/^nameserver \([0-9]*\.\)\(.*\)/\1\2/p' /etc/resolv.c= onf | head -n3 | tr '\n' ',' | sed 's/,$//;s/$/\n/' -check [ "__DNS__" =3D "__HOST_DNS__" ] +check [ "__DNS__" =3D "__HOST_DNS__" ] || [ "__DNS__" =3D "__HOST_GW__" -a "= __HOST_DNS__" =3D "127.0.0.1" ] =20 # FQDNs should be terminated by dots, but the guest DHCP client might omit t= hem: # strip them first @@ -61,7 +61,7 @@ check [ "__GW6__" =3D "__HOST_GW6__" ] test DHCPv6: DNS gout DNS6 sed -n 's/^nameserver \([^:]*:\)\([^%]*\).*/\1\2/p' /etc/resolv.co= nf | tr '\n' ',' | sed 's/,$//;s/$/\n/' hout HOST_DNS6 sed -n 's/^nameserver \([^:]*:\)\([^%]*\).*/\1\2/p' /etc/reso= lv.conf | tr '\n' ',' | sed 's/,$//;s/$/\n/' -check [ "__DNS6__" =3D "__HOST_DNS6__" ] +check [ "__DNS6__" =3D "__HOST_DNS6__" ] || [ "__DNS6__" =3D "__HOST_GW6__" = -a "__HOST_DNS6__" =3D "::1" ] =20 test DHCPv6: search list gout SEARCH6 sed 's/\. / /g' /etc/resolv.conf | sed 's/\.$//g' | sed -n 's/^= search \(.*\)/\1/p' | tr ' \n' ',' | sed 's/,$//;s/$/\n/' --=20 2.36.1 --===============8729696671116898618==--