Add a method to find out if an experiment has any interfaces with trunking on. This is used by tbswap to determine if swapmod should optimize vlans setup/teardown. The optimization we currently use is that we leave the vlans in place, and then compare after assign runs. But since a trunked interface is potentially a shared resource of multiple lans, the optimization can break things pretty badly. So when an experiment has trunks, use the older method of tearing down all the vlans. I will need to come back to this at some point.
Add a method to find out if an experiment has any interfaces with
trunking on. This is used by tbswap to determine if swapmod should
optimize vlans setup/teardown. The optimization we currently use is
that we leave the vlans in place, and then compare after assign
runs. But since a trunked interface is potentially a shared resource
of multiple lans, the optimization can break things pretty badly.
So when an experiment has trunks, use the older method of tearing down
all the vlans. I will need to come back to this at some point.

When creating protovlans (as from the mapper wrapper), allow for
attributes which get passed along when creating the actual Lan
entries.

nmc-probe/emulab-nome,nmc-probe/emulab-nome,nmc-probe/emulab-nome,nmc-probe/emulab-nome,nmc-probe/emulab-nome,nmc-probe/emulab-nome,nmc-probe/emulab-nome,nmc-probe/emulab-nome,nmc-probe/emulab-nome,nmc-probe/emulab-nome,nmc-probe/emulab-nome