Index: trunk/src/VBox/Frontends/VBoxManage/VBoxManage.cpp
===================================================================
--- trunk/src/VBox/Frontends/VBoxManage/VBoxManage.cpp	(revision 94211)
+++ trunk/src/VBox/Frontends/VBoxManage/VBoxManage.cpp	(revision 94212)
@@ -242,5 +242,5 @@
     { "signova",            USAGE_S_NEWCMD,      HELP_CMD_SIGNOVA, handleSignAppliance,        VBMG_CMD_F_NO_COM },
 #ifdef VBOX_WITH_NETFLT
-    { "hostonlyif",         USAGE_HOSTONLYIFS,      VBMG_CMD_TODO, handleHostonlyIf,           0 },
+    { "hostonlyif",         USAGE_S_NEWCMD,   HELP_CMD_HOSTONLYIF, handleHostonlyIf,           0 },
 #endif
 #ifdef VBOX_WITH_VMNET
Index: trunk/src/VBox/Frontends/VBoxManage/VBoxManage.h
===================================================================
--- trunk/src/VBox/Frontends/VBoxManage/VBoxManage.h	(revision 94211)
+++ trunk/src/VBox/Frontends/VBoxManage/VBoxManage.h	(revision 94212)
@@ -111,5 +111,4 @@
     USAGE_I_CONVERTTORAW,
     USAGE_I_CONVERTHD,
-    USAGE_HOSTONLYIFS,
     USAGE_I_DUMPHDINFO,
     USAGE_STORAGEATTACH,
Index: trunk/src/VBox/Frontends/VBoxManage/VBoxManageHelp.cpp
===================================================================
--- trunk/src/VBox/Frontends/VBoxManage/VBoxManageHelp.cpp	(revision 94211)
+++ trunk/src/VBox/Frontends/VBoxManage/VBoxManageHelp.cpp	(revision 94212)
@@ -641,26 +641,4 @@
                      "\n", SEP);
 
-#if defined(VBOX_WITH_NETFLT)
-    if (enmCommand == USAGE_HOSTONLYIFS || enmCommand == USAGE_S_ALL)
-    {
-        RTStrmPrintf(pStrm,
-                           "%s hostonlyif %s      ipconfig <name>\n"
-                     "                            [--dhcp |\n"
-                     "                            --ip <ipv4> [--netmask <ipv4> (def:255.255.255.0)]|\n"
-                     "                            --ipv6 <ipv6> [--netmasklengthv6 <N> (def:64)]]", SEP);
-# if !defined(RT_OS_SOLARIS) || defined(VBOX_ONLY_DOCS)
-        RTStrmPrintf(pStrm,
-                     " |\n"
-                     "                            create |\n"
-                     "                            remove <name>\n");
-# else
-        RTStrmPrintf(pStrm,
-                     "\n");
-# endif
-        RTStrmPrintf(pStrm,
-                     "\n");
-    }
-#endif
-
     if (enmCommand == USAGE_USBDEVSOURCE || enmCommand == USAGE_S_ALL)
     {
Index: trunk/src/VBox/Frontends/VBoxManage/VBoxManageHostonly.cpp
===================================================================
--- trunk/src/VBox/Frontends/VBoxManage/VBoxManageHostonly.cpp	(revision 94211)
+++ trunk/src/VBox/Frontends/VBoxManage/VBoxManageHostonly.cpp	(revision 94212)
@@ -72,5 +72,5 @@
 
             default:
-                return errorGetOpt(USAGE_HOSTONLYIFS, c, &ValueUnion);
+                return errorGetOpt(c, &ValueUnion);
         }
     }
@@ -123,13 +123,13 @@
             case VINF_GETOPT_NOT_OPTION:
                 if (pszName)
-                    return errorSyntax(USAGE_HOSTONLYIFS, HostOnly::tr("Only one interface name can be specified"));
+                    return errorSyntax(HostOnly::tr("Only one interface name can be specified"));
                 pszName = ValueUnion.psz;
                 break;
 
             default:
-                return errorGetOpt(USAGE_HOSTONLYIFS, ch, &ValueUnion);
+                return errorGetOpt(ch, &ValueUnion);
         }
     if (!pszName)
-        return errorSyntax(USAGE_HOSTONLYIFS, HostOnly::tr("No interface name was specified"));
+        return errorSyntax(HostOnly::tr("No interface name was specified"));
 
     /*
@@ -214,9 +214,9 @@
             case VINF_GETOPT_NOT_OPTION:
                 if (pszName)
-                    return errorSyntax(USAGE_HOSTONLYIFS, HostOnly::tr("Only one interface name can be specified"));
+                    return errorSyntax(HostOnly::tr("Only one interface name can be specified"));
                 pszName = ValueUnion.psz;
                 break;
             default:
-                return errorGetOpt(USAGE_HOSTONLYIFS, c, &ValueUnion);
+                return errorGetOpt(c, &ValueUnion);
         }
     }
@@ -224,9 +224,7 @@
     /* parameter sanity check */
     if (fDhcp && (fNetmasklengthv6 || pszIpv6 || pszIp || pszNetmask))
-        return errorSyntax(USAGE_HOSTONLYIFS,
-                           HostOnly::tr("You can not use --dhcp with static ip configuration parameters: --ip, --netmask, --ipv6 and --netmasklengthv6."));
+        return errorSyntax(HostOnly::tr("You can not use --dhcp with static ip configuration parameters: --ip, --netmask, --ipv6 and --netmasklengthv6."));
     if ((pszIp || pszNetmask) && (fNetmasklengthv6 || pszIpv6))
-        return errorSyntax(USAGE_HOSTONLYIFS,
-                           HostOnly::tr("You can not use ipv4 configuration (--ip and --netmask) with ipv6 (--ipv6 and --netmasklengthv6) simultaneously."));
+        return errorSyntax(HostOnly::tr("You can not use ipv4 configuration (--ip and --netmask) with ipv6 (--ipv6 and --netmasklengthv6) simultaneously."));
 
     ComPtr<IHost> host;
@@ -261,5 +259,5 @@
     }
     else
-        return errorSyntax(USAGE_HOSTONLYIFS, HostOnly::tr("Neither -dhcp nor -ip nor -ipv6 was specfified"));
+        return errorSyntax(HostOnly::tr("Neither -dhcp nor -ip nor -ipv6 was specfified"));
 
     return RTEXITCODE_SUCCESS;
@@ -270,17 +268,26 @@
 {
     if (a->argc < 1)
-        return errorSyntax(USAGE_HOSTONLYIFS, HostOnly::tr("No sub-command specified"));
+        return errorSyntax(HostOnly::tr("No sub-command specified"));
 
     RTEXITCODE rcExit;
     if (!strcmp(a->argv[0], "ipconfig"))
+    {
+        setCurrentSubcommand(HELP_SCOPE_HOSTONLYIF_IPCONFIG);
         rcExit = handleIpConfig(a);
+    }
 #if defined(VBOX_WITH_NETFLT) && !defined(RT_OS_SOLARIS)
     else if (!strcmp(a->argv[0], "create"))
+    {
+        setCurrentSubcommand(HELP_SCOPE_HOSTONLYIF_CREATE);
         rcExit = handleCreate(a);
+    }
     else if (!strcmp(a->argv[0], "remove"))
+    {
+        setCurrentSubcommand(HELP_SCOPE_HOSTONLYIF_REMOVE);
         rcExit = handleRemove(a);
+    }
 #endif
     else
-        rcExit = errorSyntax(USAGE_HOSTONLYIFS, HostOnly::tr("Unknown sub-command '%s'"), a->argv[0]);
+        rcExit = errorSyntax(HostOnly::tr("Unknown sub-command '%s'"), a->argv[0]);
     return rcExit;
 }
