Index: uspace/lib/c/generic/net/inet.c
===================================================================
--- uspace/lib/c/generic/net/inet.c	(revision 3e664287e034298711db95506e3d6e3f1a348b8a)
+++ uspace/lib/c/generic/net/inet.c	(revision 7901ac8ed5470b03fdbc7ed1cd7a6bdfc01c7dab)
@@ -39,5 +39,5 @@
 #include <net/in6.h>
 #include <net/inet.h>
-
+#include <inet/addr.h>
 #include <errno.h>
 #include <mem.h>
Index: uspace/lib/c/generic/net/socket_client.c
===================================================================
--- uspace/lib/c/generic/net/socket_client.c	(revision 3e664287e034298711db95506e3d6e3f1a348b8a)
+++ uspace/lib/c/generic/net/socket_client.c	(revision 7901ac8ed5470b03fdbc7ed1cd7a6bdfc01c7dab)
@@ -87,4 +87,6 @@
 	/** Parent module service. */
 	services_t service;
+	/** Socket family */
+	int family;
 
 	/**
@@ -395,4 +397,5 @@
 	switch (domain) {
 	case PF_INET:
+	case PF_INET6:
 		switch (type) {
 		case SOCK_STREAM:
@@ -433,5 +436,4 @@
 		break;
 
-	case PF_INET6:
 	default:
 		return EPFNOSUPPORT;
@@ -447,4 +449,5 @@
 
 	memset(socket, 0, sizeof(*socket));
+	socket->family = domain;
 	fibril_rwlock_write_lock(&socket_globals.lock);
 
Index: uspace/lib/c/generic/net/socket_parse.c
===================================================================
--- uspace/lib/c/generic/net/socket_parse.c	(revision 3e664287e034298711db95506e3d6e3f1a348b8a)
+++ uspace/lib/c/generic/net/socket_parse.c	(revision 7901ac8ed5470b03fdbc7ed1cd7a6bdfc01c7dab)
@@ -79,11 +79,11 @@
 int socket_parse_protocol_family(const char *name, int *pf)
 {
+	if (str_lcmp(name, "PF_INET6", 8) == 0) {
+		*pf = PF_INET6;
+		return EOK;
+	}
+
 	if (str_lcmp(name, "PF_INET", 7) == 0) {
 		*pf = PF_INET;
-		return EOK;
-	}
-	
-	if (str_lcmp(name, "PF_INET6", 8) == 0) {
-		*pf = PF_INET6;
 		return EOK;
 	}
