On Thu, Apr 29, 2010 at 08:12:44PM +1000, James Lucas wrote:
> In terms of adding it to VBoxManage, I'm guess that modifyvm --nic<1-N> needs 
> to
> be modified and the switch --vdenet<1-N> needs to be added.
> 
> VBoxManage modifyvm         <uuid|name>
>                             [--nic<1-N>
> none|null|nat|bridged|intnet|hostonly|vde]
>                             [--vdenet<1-N> <network>|default]
The patch here attached implements exactly the syntax here above.

        renzo

Signed-off-by: renzo davoli <[email protected]>
-----
Index: src/VBox/Frontends/VBoxManage/VBoxManageHelp.cpp
===================================================================
--- src/VBox/Frontends/VBoxManage/VBoxManageHelp.cpp    (revision 28943)
+++ src/VBox/Frontends/VBoxManage/VBoxManageHelp.cpp    (working copy)
@@ -184,11 +184,14 @@
                  "                            [--biossystemtimeoffset 
<msec>]\n"
                  "                            [--biospxedebug on|off]\n"
                  "                            [--boot<1-4> 
none|floppy|dvd|disk|net>]\n"
-#if defined(VBOX_WITH_NETFLT)
-                 "                            [--nic<1-N> 
none|null|nat|bridged|intnet|hostonly]\n"
-#else /* !RT_OS_LINUX && !RT_OS_DARWIN */
-                 "                            [--nic<1-N> 
none|null|nat|bridged|intnet]\n"
-#endif /* !RT_OS_LINUX && !RT_OS_DARWIN  */
+                 "                            [--nic<1-N> 
none|null|nat|bridged|intnet"
+#if defined(VBOX_WITH_NETFLT) /* RT_OS_LINUX || RT_OS_DARWIN */
+                                                                "|hostonly"
+#endif
+#ifdef VBOX_WITH_VDE
+                                                                "|vde"
+#endif
+                                                                "]\n"
                  "                            [--nictype<1-N> 
Am79C970A|Am79C973"
 #ifdef VBOX_WITH_E1000
               "|\n                                            
82540EM|82543GC|82545EM"
@@ -208,6 +211,9 @@
 #endif
                  "                            [--intnet<1-N> <network name>]\n"
                  "                            [--natnet<1-N> 
<network>|default]\n"
+#ifdef VBOX_WITH_VDE
+                 "                            [--vdenet<1-N> 
<network>|default]\n"
+#endif
                  "                            [--natsettings<1-N> 
\"[<mtu>],[<socksnd>],[<sockrcv>],\n"
                  "                                                         
[<tcpsnd>],[<tcprcv>]\"]\n"
                  "                            [--natpf<1-N> 
\"[<rulename>],tcp|udp,\n"
Index: src/VBox/Frontends/VBoxManage/VBoxManageModifyVM.cpp
===================================================================
--- src/VBox/Frontends/VBoxManage/VBoxManageModifyVM.cpp        (revision 28943)
+++ src/VBox/Frontends/VBoxManage/VBoxManageModifyVM.cpp        (working copy)
@@ -111,6 +111,9 @@
     MODIFYVM_HOSTONLYADAPTER,
     MODIFYVM_INTNET,
     MODIFYVM_NATNET,
+#ifdef VBOX_WITH_VDE
+               MODIFYVM_VDENET,
+#endif
     MODIFYVM_NATBINDIP,
     MODIFYVM_NATSETTINGS,
     MODIFYVM_NATPF,
@@ -219,6 +222,9 @@
     { "--hostonlyadapter",          MODIFYVM_HOSTONLYADAPTER,           
RTGETOPT_REQ_STRING | RTGETOPT_FLAG_INDEX },
     { "--intnet",                   MODIFYVM_INTNET,                    
RTGETOPT_REQ_STRING | RTGETOPT_FLAG_INDEX },
     { "--natnet",                   MODIFYVM_NATNET,                    
RTGETOPT_REQ_STRING | RTGETOPT_FLAG_INDEX },
+#ifdef VBOX_WITH_VDE
+    { "--vdenet",                   MODIFYVM_VDENET,                    
RTGETOPT_REQ_STRING | RTGETOPT_FLAG_INDEX },
+#endif
     { "--natbindip",                MODIFYVM_NATBINDIP,                 
RTGETOPT_REQ_STRING | RTGETOPT_FLAG_INDEX },
     { "--natsettings",              MODIFYVM_NATSETTINGS,               
RTGETOPT_REQ_STRING | RTGETOPT_FLAG_INDEX },
     { "--natpf",                    MODIFYVM_NATPF,                     
RTGETOPT_REQ_STRING | RTGETOPT_FLAG_INDEX },
@@ -1190,6 +1196,14 @@
                     CHECK_ERROR(nic, AttachToHostOnlyInterface());
                 }
 #endif
+#ifdef VBOX_WITH_VDE
+                                                               else if 
(!strcmp(ValueUnion.psz, "vde"))
+                                                               {
+
+                                                                       
CHECK_ERROR(nic, COMSETTER(Enabled)(TRUE));
+                                                                       
CHECK_ERROR(nic, AttachToVDE());
+                                                               }
+#endif
                 else
                 {
                     errorArgument("Invalid type '%s' specfied for NIC %u", 
ValueUnion.psz, GetOptState.uIndex);
@@ -1248,6 +1262,25 @@
                 break;
             }
 
+#ifdef VBOX_WITH_VDE
+                                               case MODIFYVM_VDENET:
+                                               {
+                                                       ComPtr<INetworkAdapter> 
nic;
+
+                                                       
CHECK_ERROR_BREAK(machine, GetNetworkAdapter(GetOptState.uIndex - 1, 
nic.asOutParam()));
+                                                       ASSERT(nic);
+
+                                                       if 
(!strcmp(ValueUnion.psz, "default"))
+                                                       {
+                                                               
CHECK_ERROR(nic, COMSETTER(VDENetwork)(NULL));
+                                                       }
+                                                       else
+                                                       {
+                                                               
CHECK_ERROR(nic, COMSETTER(VDENetwork)(Bstr(ValueUnion.psz)));
+                                                       }
+                                                       break;
+                                               }
+#endif
             case MODIFYVM_NATNET:
             {
                 ComPtr<INetworkAdapter> nic;
Index: src/VBox/Frontends/VBoxManage/VBoxManageInfo.cpp
===================================================================
--- src/VBox/Frontends/VBoxManage/VBoxManageInfo.cpp    (revision 28943)
+++ src/VBox/Frontends/VBoxManage/VBoxManageInfo.cpp    (working copy)
@@ -892,6 +892,21 @@
                         break;
                     }
 #endif
+#ifdef VBOX_WITH_VDE
+                                                                               
case NetworkAttachmentType_VDE:
+                                                                               
{
+                                                                               
        Bstr strVDEAdp;
+                                                                               
        nic->COMGETTER(VDENetwork)(strVDEAdp.asOutParam());
+                                                                               
        if (details == VMINFO_MACHINEREADABLE)
+                                                                               
        {
+                                                                               
                RTPrintf("vdenet%d=\"%lS\"\n", currentNIC + 1, strVDEAdp.raw());
+                                                                               
                strAttachment = "VDE";
+                                                                               
        }
+                                                                               
        else
+                                                                               
                strAttachment = Utf8StrFmt("VDE Network '%lS'", 
strVDEAdp.raw());
+                                                                               
        break;
+                                                                               
}
+#endif
                     default:
                         strAttachment = "unknown";
                         break;
Index: src/VBox/Frontends/VBoxManage/Makefile.kmk
===================================================================
--- src/VBox/Frontends/VBoxManage/Makefile.kmk  (revision 28943)
+++ src/VBox/Frontends/VBoxManage/Makefile.kmk  (working copy)
@@ -41,7 +41,8 @@
        $(if $(VBOX_WITH_SCSI), VBOX_WITH_SCSI) \
        $(if $(VBOX_WITH_GUEST_PROPS),VBOX_WITH_GUEST_PROPS) \
        $(if $(VBOX_WITH_GUEST_CONTROL),VBOX_WITH_GUEST_CONTROL) \
-       $(if $(VBOX_WITH_HOSTNETIF_API), VBOX_WITH_HOSTNETIF_API)
+       $(if $(VBOX_WITH_HOSTNETIF_API), VBOX_WITH_HOSTNETIF_API) \
+       $(if $(VBOX_WITH_VDE), VBOX_WITH_VDE)
  VBoxManage_DEFS.win   = _WIN32_WINNT=0x0500
  ifdef VBOX_DYNAMIC_NET_ATTACH
   VBoxManage_DEFS += VBOX_DYNAMIC_NET_ATTACH

_______________________________________________
vbox-dev mailing list
[email protected]
http://vbox.innotek.de/mailman/listinfo/vbox-dev

Reply via email to