Index: /trunk/src/VBox/HostDrivers/VBoxNetFlt/solaris/VBoxNetFlt-solaris.c
===================================================================
--- /trunk/src/VBox/HostDrivers/VBoxNetFlt/solaris/VBoxNetFlt-solaris.c	(revision 22798)
+++ /trunk/src/VBox/HostDrivers/VBoxNetFlt/solaris/VBoxNetFlt-solaris.c	(revision 22799)
@@ -42,4 +42,5 @@
 #ifdef VBOXNETFLT_SOLARIS_IPV6_POLLING
 # include <iprt/timer.h>
+# include <iprt/time.h>
 #endif
 
@@ -386,5 +387,5 @@
 
 #ifdef VBOXNETFLT_SOLARIS_IPV6_POLLING
-/** Globla IPv6 polling interval */
+/** Global IPv6 polling interval */
 static int g_VBoxNetFltSolarisPollInterval = 0;
 #endif
@@ -526,6 +527,5 @@
                 if (Interval == -1)
                     LogFlow((DEVICE_NAME ":vboxNetFltSolarisSetupIp6Polling: no poll interval property specified. Skipping Ipv6 polling.\n"));
-
-                if (Interval < 1 || Interval > 120)
+                else if (Interval < 1 || Interval > 120)
                 {
                     LogRel((DEVICE_NAME ":vboxNetFltSolarisSetupIp6Polling: Invalid polling interval %d. Expected between 1 and 120 secs.\n",
@@ -2426,8 +2426,11 @@
              * Setup kernel poll timer.
              */
-            rc = RTTimerCreateEx(&pPromiscStream->pIp6Timer, Interval * (uint64_t)1000000000, RTTIMER_FLAGS_CPU_ALL,
+            rc = RTTimerCreateEx(&pPromiscStream->pIp6Timer, Interval * (uint64_t)1000000000, RTTIMER_FLAGS_CPU_ANY,
                                 vboxNetFltSolarispIp6Timer, (void *)pThis);
             if (RT_SUCCESS(rc))
-                rc = RTTimerStart(pPromiscStream->pIp6Timer, 0 /* fire ASAP */);
+            {
+                rc = RTTimerStart(pPromiscStream->pIp6Timer, 10 * (uint64_t)1000000000 /* 10 seconds to blastoff */);
+                LogFlow((DEVICE_NAME ":vboxNetFltSolarisSetupIp6Polling: Ipv6 %d second timer begins firing in 10 seconds.\n", Interval));
+            }
             else
                 LogRel((DEVICE_NAME ":vboxNetFltSolarisSetupIp6Polling: Failed to create timer. rc=%d\n", rc));
@@ -2491,5 +2494,6 @@
             int rc2 = vboxNetFltSolarisAttachIp6(pThis, true /* fAttach */);
 #ifdef VBOXNETFLT_SOLARIS_IPV6_POLLING
-            if (rc2 == VERR_INTNET_FLT_IF_NOT_FOUND)
+            if (   rc2 == VERR_INTNET_FLT_IF_NOT_FOUND
+                && g_VBoxNetFltSolarisPollInterval != -1)
             {
                 rc = vboxNetFltSolarisSetupIp6Polling(pThis);
