My attempt to improve swapmod ...
Previously, any error in assign wrapper would cause the experiment to swap out because the "DB had been modified" ... well I have isolated all of the changes that are made, and errors in assign_wrapper proper no longer do that. tbswap now restores the experiment back the way it was. Not that errors after assign_wrapper (like in os_setup) are still a problem. In addition, rather then kill off all of the vlans, leave them in place and then do a comparison after assign wrapper, removing obsolete and modified vlans only. I have made use of the obsolete vlans table for this by having snmpit track its changes in that table. There is a bunch of new code in Lan.pm for doing the comparisons.