Feature #37
Virtual Network Manager
Status: | Closed | Start date: | ||
---|---|---|---|---|
Priority: | High | Due date: | ||
Assignee: | Tino Vázquez | % Done: | 0% | |
Category: | Core & System | |||
Target version: | Release 1.2 | |||
Resolution: | fixed | Pull request: |
Description
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)
History
#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:
----8<------
oned.conf
NETWORK = [
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
]
---->8------
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:
-----8<------
NIC = [
NETWORK ="nw name",
TYPE ={private,public}
]
---->8-------
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
- NAME of the VirtualNetwork
- PHYSICAL NETWORK to bind
- CLASS B,C
- NETWORK ADDRESS
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.