diff options
author | Michael Brown | 2013-12-05 02:52:34 +0100 |
---|---|---|
committer | Michael Brown | 2013-12-05 02:53:25 +0100 |
commit | 2f1c7e386b79d9c4d78706d8a8f169b753e6bc5a (patch) | |
tree | bd52cdba24a1d732da860f9d52eab47662d65922 /src/usr | |
parent | [syslog] Add support for IPv6 syslog server (diff) | |
download | ipxe-2f1c7e386b79d9c4d78706d8a8f169b753e6bc5a.tar.gz ipxe-2f1c7e386b79d9c4d78706d8a8f169b753e6bc5a.tar.xz ipxe-2f1c7e386b79d9c4d78706d8a8f169b753e6bc5a.zip |
[ipv6] Add support for resolving IPv6 addresses via the "nslookup" command
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/usr')
-rw-r--r-- | src/usr/nslookup.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/usr/nslookup.c b/src/usr/nslookup.c index 66818d11..eb2b08b4 100644 --- a/src/usr/nslookup.c +++ b/src/usr/nslookup.c @@ -71,6 +71,7 @@ static void nslookup_close ( struct nslookup *nslookup, int rc ) { static void nslookup_resolv_done ( struct nslookup *nslookup, struct sockaddr *sa ) { struct sockaddr_in *sin; + struct sockaddr_in6 *sin6; const struct setting_type *default_type; struct settings *settings; struct setting setting; @@ -86,6 +87,12 @@ static void nslookup_resolv_done ( struct nslookup *nslookup, len = sizeof ( sin->sin_addr ); default_type = &setting_type_ipv4; break; + case AF_INET6: + sin6 = ( ( struct sockaddr_in6 * ) sa ); + data = &sin6->sin6_addr; + len = sizeof ( sin6->sin6_addr ); + default_type = &setting_type_ipv6; + break; default: rc = -ENOTSUP; goto err; |