• Leigh Stoller's avatar
    Add support for experimental networks on the control network. · df048b11
    Leigh Stoller authored
    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.
    df048b11
Name
Last commit
Last update
account Loading commit data...
apache Loading commit data...
assign Loading commit data...
autoconf Loading commit data...
backend Loading commit data...
bugdb Loading commit data...
capture Loading commit data...
cdrom Loading commit data...
clientside Loading commit data...
collab Loading commit data...
daikon Loading commit data...
db Loading commit data...
delay Loading commit data...
dhcpd Loading commit data...
discvr Loading commit data...
doc Loading commit data...
event Loading commit data...
firewall Loading commit data...
flash Loading commit data...
hw_config Loading commit data...
hyperviewer Loading commit data...
image-test Loading commit data...
install Loading commit data...
ipod Loading commit data...
mote Loading commit data...
named Loading commit data...
node_usage Loading commit data...
os Loading commit data...
patches Loading commit data...
pelab Loading commit data...
protogeni Loading commit data...
pxe Loading commit data...
rc.d Loading commit data...
robots Loading commit data...
rpms Loading commit data...
security Loading commit data...
sensors Loading commit data...
sql Loading commit data...
ssl Loading commit data...
sysadmin Loading commit data...
tbsetup Loading commit data...
testsuite Loading commit data...
tip Loading commit data...
tmcd Loading commit data...
tools Loading commit data...
utils Loading commit data...
vis Loading commit data...
wiki Loading commit data...
www Loading commit data...
xmlrpc Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.gitmodules Loading commit data...
.loc-ignore Loading commit data...
AGPL-COPYING Loading commit data...
GNUmakefile.in Loading commit data...
GNUmakerules Loading commit data...
GPL-COPYING Loading commit data...
LGPL-COPYING Loading commit data...
MOVED-TO-WIKI Loading commit data...
Makeconf.in Loading commit data...
README Loading commit data...
TODO Loading commit data...
TODO.plab Loading commit data...
VERSION Loading commit data...
WEBtemplate.in Loading commit data...
config.h.in Loading commit data...
configure Loading commit data...
configure.in Loading commit data...
defs-aerolab Loading commit data...
defs-calfeld-emulab Loading commit data...
defs-davidand-emulab Loading commit data...
defs-default Loading commit data...
defs-duerig-emulab Loading commit data...
defs-elabinelab Loading commit data...
defs-example Loading commit data...
defs-example-privatecnet Loading commit data...
defs-fbsd7 Loading commit data...
defs-fish-emulab Loading commit data...
defs-gatech Loading commit data...
defs-gtw-emulab Loading commit data...
defs-johnsond-emulab Loading commit data...
defs-kevina-emulab Loading commit data...
defs-kwebb-emulab Loading commit data...
defs-mike-emulab Loading commit data...
defs-newbold-emulab Loading commit data...
defs-newbold-macdb Loading commit data...
defs-ricci-emulab Loading commit data...
defs-shash-emulab Loading commit data...
defs-stoller-emulab Loading commit data...
defs-stoller-home Loading commit data...
defs-stoller-lbsdb Loading commit data...
defs-uky Loading commit data...
defs-utahclient Loading commit data...
defs-wbsun-emulab Loading commit data...
defs-wide Loading commit data...