Add support for experimental networks on the control network.
So what if your testbed has a control network but no experimental network? In the past you were SOL, but with this commit you can now create links and lans on the control network that look just like an experimental network link/lan. To make this work, ptopgen sports a new option (-C) that will put the control network links and wires and switches into the ptop file. libvtop generally operates as normal, but need to arrange for the physical ports to be put into dual tag/trunk mode, where the native vlan is the Control network. This is done with by setting attributes on the lan table entry that indicate dual and what to use for the native vlan. snmpit looks for these attributes. There are a couple of places that use the stack name (Control or Experiment) to determine if a vlan is control or experimental. This is not longer truu, and so need to use an attribute in the lan table entry. The last bit of the puzzle is that snmpit has to be careful when disabling trunking on these ports. When this happens, all vlans are cleard from the ports (by the device layer), including the Control network itself, which would make the node unreachable. I had to add some special cases to watch for that, and return the ports to the control network. To turn this on, create a ControlNetVlans and enable it. The mapper looks for this and passes the -C argument to ptopgen. Nothing special in the NS file, except you have to turn on vlan encapsulation; tb-set-vlan-emulation vlan No delay nodes, but linkdelays work okay. Works for openvz containers as well.
Showing with 501 additions and 182 deletions