Initial commit for snf-network package

Provide all software components needed by synnefo and ganeti to
support networking inside the cluster.

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
Add basic files

Include nfdhcpd and tools handling vlans

Include basic scripts for configuring networks in nodes

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
Support gateway-less networks in nfdhcpd

Networks without gateway are needed for private networks among VMs.

To this end routing table will only have one enrty for subnet.

Default via gateway is optional.

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
Allow dhcp responce in ebtables

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
Standardize interfaces

Asume standard interfaces per nodegroup.

First define a network.

Then define a nodegroup.

Then define connection.

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
Remove routing tables from nfdhcpd

Put all info inside binding files

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
Various changes

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
Support automated infa configuration with hooks

New hook for node-add that configures the interfaces in the
new node depending on nodegroup configuration.

After adding a nodegroup snf-network-add-group should be
invoked.

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
Add a script for managing mac prefixes

Mac prefixes are used for private networks.

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
Add snf-network-reconfige

Useful script after node reboot.

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
Automate config via hooks

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
Fix IPv6 responses in nfdhcpd

Search the interface of incomming request and find binding info
(IPv6 subnet) via traversing all clients configuration and matching
cl.ifname (tap0) with the interface above.

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
Modify hooks to use node infra details.

When connecting a network in routed mode pass the routing table
and not the vlan as link. The link will be choosen depending the
network type and the cluster/node infrastructure.

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
Modify nfdhcpd to distinguish tap form indev.

DHCPv6 should work fine.

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
Fix IPv6 support for nfdhcpd

Supply all the neccessary fields for dhcp in binding file (created
by kvm-vid-bridge). Reference every dhcp client via the mac or eui64
of the incomming packet on the nfqueue.

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
Code refactoring in kvm-vif-bridge and nfdhcpd

Allow binding files in form of
GATEWAY6=
in case not defined.

Modify kvm-vif-bridge that clears the pending rules before
handling the tap.

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
Fix proxy ndp issue

Add a ganeti post hook when a tap gets removed
instance-{migrate, failover, remove, stop}-post.d

Check if the first NIC that usually is the public interface
that gets routed and does proxy ntp in ipv6 has any orphan
rule and remove it.

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
Support routed ipv6 when connecting a network

Modify hook to support grnet specific ip-less routing and
proxy ndp for ipv6.

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
Fix proxy ndp configuration

uplink should be public vlan not gateway6

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
Fix broken ns_responce in nfdhcpd

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>