diff --git a/HACKING.txt b/HACKING.txt
index 6c142e13f..9f45903a7 100644
--- a/HACKING.txt
+++ b/HACKING.txt
@@ -81,7 +81,6 @@ libc/
   private/
     # These are private header files meant for use within bionic itself.
 
-  netbsd/
   stdio/
   stdlib/
   unistd/
@@ -89,9 +88,8 @@ libc/
     # mess of random versions of random files from all three of FreeBSD, NetBSD,
     # and OpenBSD! We've been working to clean that up, but these directories
     # are basically where all the stuff we haven't got to yet lives.
-    # The 'netbsd' directory misleadingly contains the DNS resolver (which will
-    # probably be forked sometime soon, and that directory simply renamed).
-    # The other directories contain stuff that still needs to be sorted.
+  dns/
+    # Contains the DNS resolver (originates from NetBSD code).
 
   upstream-dlmalloc/
   upstream-freebsd/
diff --git a/libc/Android.mk b/libc/Android.mk
index ea020548b..25de501f5 100644
--- a/libc/Android.mk
+++ b/libc/Android.mk
@@ -508,7 +508,7 @@ include $(BUILD_STATIC_LIBRARY)
 
 include $(CLEAR_VARS)
 
-LOCAL_SRC_FILES := $(call all-c-files-under,netbsd)
+LOCAL_SRC_FILES := $(call all-c-files-under,dns)
 LOCAL_CFLAGS := \
     $(libc_common_cflags) \
     -DINET6 \
diff --git a/libc/netbsd/gethnamaddr.c b/libc/dns/gethnamaddr.c
similarity index 100%
rename from libc/netbsd/gethnamaddr.c
rename to libc/dns/gethnamaddr.c
diff --git a/libc/netbsd/inet/nsap_addr.c b/libc/dns/inet/nsap_addr.c
similarity index 100%
rename from libc/netbsd/inet/nsap_addr.c
rename to libc/dns/inet/nsap_addr.c
diff --git a/libc/netbsd/nameser/ns_name.c b/libc/dns/nameser/ns_name.c
similarity index 100%
rename from libc/netbsd/nameser/ns_name.c
rename to libc/dns/nameser/ns_name.c
diff --git a/libc/netbsd/nameser/ns_netint.c b/libc/dns/nameser/ns_netint.c
similarity index 100%
rename from libc/netbsd/nameser/ns_netint.c
rename to libc/dns/nameser/ns_netint.c
diff --git a/libc/netbsd/nameser/ns_parse.c b/libc/dns/nameser/ns_parse.c
similarity index 100%
rename from libc/netbsd/nameser/ns_parse.c
rename to libc/dns/nameser/ns_parse.c
diff --git a/libc/netbsd/nameser/ns_print.c b/libc/dns/nameser/ns_print.c
similarity index 100%
rename from libc/netbsd/nameser/ns_print.c
rename to libc/dns/nameser/ns_print.c
diff --git a/libc/netbsd/nameser/ns_samedomain.c b/libc/dns/nameser/ns_samedomain.c
similarity index 100%
rename from libc/netbsd/nameser/ns_samedomain.c
rename to libc/dns/nameser/ns_samedomain.c
diff --git a/libc/netbsd/nameser/ns_ttl.c b/libc/dns/nameser/ns_ttl.c
similarity index 100%
rename from libc/netbsd/nameser/ns_ttl.c
rename to libc/dns/nameser/ns_ttl.c
diff --git a/libc/netbsd/net/base64.c b/libc/dns/net/base64.c
similarity index 100%
rename from libc/netbsd/net/base64.c
rename to libc/dns/net/base64.c
diff --git a/libc/netbsd/net/getaddrinfo.c b/libc/dns/net/getaddrinfo.c
similarity index 100%
rename from libc/netbsd/net/getaddrinfo.c
rename to libc/dns/net/getaddrinfo.c
diff --git a/libc/netbsd/net/getnameinfo.c b/libc/dns/net/getnameinfo.c
similarity index 100%
rename from libc/netbsd/net/getnameinfo.c
rename to libc/dns/net/getnameinfo.c
diff --git a/libc/netbsd/net/getservbyname.c b/libc/dns/net/getservbyname.c
similarity index 100%
rename from libc/netbsd/net/getservbyname.c
rename to libc/dns/net/getservbyname.c
diff --git a/libc/netbsd/net/getservbyport.c b/libc/dns/net/getservbyport.c
similarity index 100%
rename from libc/netbsd/net/getservbyport.c
rename to libc/dns/net/getservbyport.c
diff --git a/libc/netbsd/net/getservent.c b/libc/dns/net/getservent.c
similarity index 100%
rename from libc/netbsd/net/getservent.c
rename to libc/dns/net/getservent.c
diff --git a/libc/netbsd/net/nsdispatch.c b/libc/dns/net/nsdispatch.c
similarity index 100%
rename from libc/netbsd/net/nsdispatch.c
rename to libc/dns/net/nsdispatch.c
diff --git a/libc/netbsd/net/reentrant.h b/libc/dns/net/reentrant.h
similarity index 100%
rename from libc/netbsd/net/reentrant.h
rename to libc/dns/net/reentrant.h
diff --git a/libc/netbsd/net/servent.h b/libc/dns/net/servent.h
similarity index 100%
rename from libc/netbsd/net/servent.h
rename to libc/dns/net/servent.h
diff --git a/libc/netbsd/net/services.h b/libc/dns/net/services.h
similarity index 100%
rename from libc/netbsd/net/services.h
rename to libc/dns/net/services.h
diff --git a/libc/netbsd/resolv/__dn_comp.c b/libc/dns/resolv/__dn_comp.c
similarity index 100%
rename from libc/netbsd/resolv/__dn_comp.c
rename to libc/dns/resolv/__dn_comp.c
diff --git a/libc/netbsd/resolv/__res_close.c b/libc/dns/resolv/__res_close.c
similarity index 100%
rename from libc/netbsd/resolv/__res_close.c
rename to libc/dns/resolv/__res_close.c
diff --git a/libc/netbsd/resolv/__res_send.c b/libc/dns/resolv/__res_send.c
similarity index 100%
rename from libc/netbsd/resolv/__res_send.c
rename to libc/dns/resolv/__res_send.c
diff --git a/libc/netbsd/resolv/herror.c b/libc/dns/resolv/herror.c
similarity index 100%
rename from libc/netbsd/resolv/herror.c
rename to libc/dns/resolv/herror.c
diff --git a/libc/netbsd/resolv/res_cache.c b/libc/dns/resolv/res_cache.c
similarity index 100%
rename from libc/netbsd/resolv/res_cache.c
rename to libc/dns/resolv/res_cache.c
diff --git a/libc/netbsd/resolv/res_comp.c b/libc/dns/resolv/res_comp.c
similarity index 100%
rename from libc/netbsd/resolv/res_comp.c
rename to libc/dns/resolv/res_comp.c
diff --git a/libc/netbsd/resolv/res_data.c b/libc/dns/resolv/res_data.c
similarity index 100%
rename from libc/netbsd/resolv/res_data.c
rename to libc/dns/resolv/res_data.c
diff --git a/libc/netbsd/resolv/res_debug.c b/libc/dns/resolv/res_debug.c
similarity index 100%
rename from libc/netbsd/resolv/res_debug.c
rename to libc/dns/resolv/res_debug.c
diff --git a/libc/netbsd/resolv/res_debug.h b/libc/dns/resolv/res_debug.h
similarity index 100%
rename from libc/netbsd/resolv/res_debug.h
rename to libc/dns/resolv/res_debug.h
diff --git a/libc/netbsd/resolv/res_init.c b/libc/dns/resolv/res_init.c
similarity index 100%
rename from libc/netbsd/resolv/res_init.c
rename to libc/dns/resolv/res_init.c
diff --git a/libc/netbsd/resolv/res_mkquery.c b/libc/dns/resolv/res_mkquery.c
similarity index 100%
rename from libc/netbsd/resolv/res_mkquery.c
rename to libc/dns/resolv/res_mkquery.c
diff --git a/libc/netbsd/resolv/res_private.h b/libc/dns/resolv/res_private.h
similarity index 100%
rename from libc/netbsd/resolv/res_private.h
rename to libc/dns/resolv/res_private.h
diff --git a/libc/netbsd/resolv/res_query.c b/libc/dns/resolv/res_query.c
similarity index 100%
rename from libc/netbsd/resolv/res_query.c
rename to libc/dns/resolv/res_query.c
diff --git a/libc/netbsd/resolv/res_send.c b/libc/dns/resolv/res_send.c
similarity index 100%
rename from libc/netbsd/resolv/res_send.c
rename to libc/dns/resolv/res_send.c
diff --git a/libc/netbsd/resolv/res_state.c b/libc/dns/resolv/res_state.c
similarity index 100%
rename from libc/netbsd/resolv/res_state.c
rename to libc/dns/resolv/res_state.c