Feature #37

Virtual Network Manager

Added by Ruben S. Montero almost 13 years ago. Updated over 12 years ago.

Status:ClosedStart date:
Priority:HighDue date:
Assignee:Tino Vázquez% Done:


Category:Core & System
Target version:Release 1.2
Resolution:fixed Pull request:


The virtual network manager (VNM) is a module that will provide a simple networking support. In particular, the VNM is responsible for:

  • Manage a MAC address space
  • Manage a IP address space
  • Automatically generate Network parameters for VMs

The VNM could use the hook mechanism to perform additional network configuration steps (for example, apply ebtables filters to isolate the networks)


#1 Updated by Tino Vázquez almost 13 years ago

The Virtual Network Manager (VNM) will be responsible for the handling of IP and MAC addresses, allowing the creation of virtual networks by keeping trac of leases (a set form by one IP and one MAC valid on a particular network) and their association with virtual machines and the physical bridges the VM are using.

The data structure to articulate this manager will be a pool of networks, where each network can be either public or private and will consist on a pool of IPs and MACs.

The VNM will have a configuration file conforming with the following notation:


NAME = "name of the network",
BRIDGE = "name of the physical bridge used by this NW"
TYPE = "{private|public}", --> default is private
MAC_MASK = "XX.XX.XX.XX.XX.XX/bitsInMask",
IP_MASK = "xx.xx.xx.xx/bitsInMask"
IPS = "x1.x1.x1.x1, x2.x2.x2.x2, ....." > optional

In order to use one so defined network, a virtual machine must include a reference in their template, that can conform with the following schema:

NIC = [
NETWORK ="nw name",
TYPE ={private,public}

Upon submission, the Virtual Machine will get an IP and a MAC given by the VNM according to the network referenced in the template.

#2 Updated by Tino Vázquez almost 13 years ago

  • Status changed from New to Assigned

#3 Updated by Ruben S. Montero over 12 years ago

Defining a VirtualNetwork
  • NAME of the VirtualNetwork

NIC = [NETWORK="public",TYPE="public",IP="147.96...",MAC="..."]
NIC = [NETWORK="blue",TYPE="private"]

#4 Updated by Ruben S. Montero over 12 years ago

  • Status changed from Assigned to Closed
  • Resolution set to fixed

The VNM is now implemented and working. The code is now available in the trunk.

Also available in: Atom PDF