aboutgitcodebugslistschat
diff options
context:
space:
mode:
authorDavid Gibson <david@gibson.dropbear.id.au>2022-07-15 15:21:29 +1000
committerStefano Brivio <sbrivio@redhat.com>2022-07-22 19:41:42 +0200
commita47ac6160b37d2f80670e8d146ce24af5a52e077 (patch)
tree75abf91d4ab2e643512b07798f37724c1223196f
parent92b341f8d28eceb350a4aa83c970dbbd844012da (diff)
downloadpasst-a47ac6160b37d2f80670e8d146ce24af5a52e077.tar
passt-a47ac6160b37d2f80670e8d146ce24af5a52e077.tar.gz
passt-a47ac6160b37d2f80670e8d146ce24af5a52e077.tar.bz2
passt-a47ac6160b37d2f80670e8d146ce24af5a52e077.tar.lz
passt-a47ac6160b37d2f80670e8d146ce24af5a52e077.tar.xz
passt-a47ac6160b37d2f80670e8d146ce24af5a52e077.tar.zst
passt-a47ac6160b37d2f80670e8d146ce24af5a52e077.zip
tests: Handle the case of a nameserver on host localhost
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 <david@gibson.dropbear.id.au>
-rw-r--r--test/dhcp/passt4
1 files 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__ = 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.conf | head -n3 | tr '\n' ',' | sed 's/,$//;s/$/\n/'
-check [ "__DNS__" = "__HOST_DNS__" ]
+check [ "__DNS__" = "__HOST_DNS__" ] || [ "__DNS__" = "__HOST_GW__" -a "__HOST_DNS__" = "127.0.0.1" ]
# FQDNs should be terminated by dots, but the guest DHCP client might omit them:
# strip them first
@@ -61,7 +61,7 @@ check [ "__GW6__" = "__HOST_GW6__" ]
test DHCPv6: DNS
gout DNS6 sed -n 's/^nameserver \([^:]*:\)\([^%]*\).*/\1\2/p' /etc/resolv.conf | tr '\n' ',' | sed 's/,$//;s/$/\n/'
hout HOST_DNS6 sed -n 's/^nameserver \([^:]*:\)\([^%]*\).*/\1\2/p' /etc/resolv.conf | tr '\n' ',' | sed 's/,$//;s/$/\n/'
-check [ "__DNS6__" = "__HOST_DNS6__" ]
+check [ "__DNS6__" = "__HOST_DNS6__" ] || [ "__DNS6__" = "__HOST_GW6__" -a "__HOST_DNS6__" = "::1" ]
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/'