From: Daniel Henrique Barboza <danielhb(a)linux.vnet.ibm.com>
This patch makes changes in docs/API.md, API.json and i18n.py
to add a new libvirt network mode called 'passthrough'.
This new network type works as a direct macvtap network that
assigns a physical device in passthrough mode. Only one
physical is allowed for each VM.
It also allows for multiple interfaces, similar as the current
VEPA network implementation does while libvirt controls the
availability of the devices.
Signed-off-by: Daniel Henrique Barboza <danielhb(a)linux.vnet.ibm.com>
---
API.json | 2 +-
docs/API.md | 8 ++++++++
i18n.py | 2 +-
3 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/API.json b/API.json
index 40278bb..8d4f725 100644
--- a/API.json
+++ b/API.json
@@ -376,7 +376,7 @@
"connection": {
"description": "Specifies how this network should be
connected to the other networks",
"type": "string",
- "pattern": "^isolated|nat|bridge|macvtap|vepa$",
+ "pattern":
"^isolated|nat|bridge|macvtap|vepa|passthrough$",
"required": true,
"error": "KCHNET0012E"
},
diff --git a/docs/API.md b/docs/API.md
index 83f9d38..7072ab2 100644
--- a/docs/API.md
+++ b/docs/API.md
@@ -692,6 +692,14 @@ A interface represents available interface on host.
specified interface.
* vepa: All traffic will be forward to one or more physical devices
directly connected to a VEPA-enabled switch.
+ * passthrough: A connection of this type uses a "direct" connection in
+ "passthrough" mode to connect each guest to the
network.
+ Each guest will use one of the available physical
+ devices included in this network. Only one device can
+ be used for each guest - libvirt will keep track of which
+ interfaces are in use. Thus, a network of type
'passthrough'
+ with N devices will support the maximum of N guests
+ running at the same time.
* bridge: All traffic on this network will be bridged through a Linux
bridged, which is created upon specified interface in case
it is not already a Linux bridge.
diff --git a/i18n.py b/i18n.py
index cfbc81e..1fb128b 100644
--- a/i18n.py
+++ b/i18n.py
@@ -263,7 +263,7 @@ messages = {
"KCHNET0009E": _("Unable to find a free IP address for network
'%(name)s'"),
"KCHNET0010E": _("The interface %(iface)s already exists."),
"KCHNET0011E": _("Network name must be a string without slashes (/) or
quotes (\")"),
- "KCHNET0012E": _("Supported network types are isolated, NAT, macvtap,
bridge and vepa"),
+ "KCHNET0012E": _("Supported network types are isolated, NAT, macvtap,
bridge, vepa and passthrough."),
"KCHNET0013E": _("Network subnet must be a string with IP address and
prefix or netmask"),
"KCHNET0014E": _("Network interfaces must be an array."),
"KCHNET0015E": _("Network VLAN ID must be an integer between 1 and
4094"),
--
2.5.5