Index: uspace/srv/net/inetsrv/inetsrv.c
===================================================================
--- uspace/srv/net/inetsrv/inetsrv.c	(revision d8b47eca6f42cb0337bbfbbd1fcd114ae523a897)
+++ uspace/srv/net/inetsrv/inetsrv.c	(revision db71e2af5cdfe169de296e6f39b3e5eda7a966f6)
@@ -62,4 +62,15 @@
 #define NAME "inetsrv"
 
+static inet_naddr_t solicited_node_mask = {
+	.family = AF_INET6,
+	.addr6 = {0xff, 0x02, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x01, 0xff, 0, 0, 0},
+	.prefix = 104
+};
+
+static inet_addr_t multicast_all_nodes = {
+	.family = AF_INET,
+	.addr6 = {0xff, 0x02, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x01}
+};
+
 static void inet_client_conn(ipc_callid_t iid, ipc_call_t *icall, void *arg);
 
@@ -514,5 +525,7 @@
 
 	addr = inet_addrobj_find(&packet->dest, iaf_addr);
-	if (addr != NULL) {
+	if ((addr != NULL) ||
+	    (inet_naddr_compare_mask(&solicited_node_mask, &packet->dest)) ||
+	    (inet_addr_compare(&multicast_all_nodes, &packet->dest))) {
 		/* Destined for one of the local addresses */
 
