diff options
author | Michael Brown <mcb30@ipxe.org> | 2013-12-05 01:52:34 +0000 |
---|---|---|
committer | Michael Brown <mcb30@ipxe.org> | 2013-12-05 01:53:25 +0000 |
commit | 2f1c7e386b79d9c4d78706d8a8f169b753e6bc5a (patch) | |
tree | bd52cdba24a1d732da860f9d52eab47662d65922 /src/usr | |
parent | 44a0dc78485e52676c550f5e824e518a62dce665 (diff) | |
download | ipxe-2f1c7e386b79d9c4d78706d8a8f169b753e6bc5a.zip ipxe-2f1c7e386b79d9c4d78706d8a8f169b753e6bc5a.tar.gz ipxe-2f1c7e386b79d9c4d78706d8a8f169b753e6bc5a.tar.bz2 |
[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 66818d1..eb2b08b 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; |