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