'Start network.'

def start(self):

    if (self.net is None):
        self.net = self.build()
        info(('****    Starting    %s    controllers\n' % len(self.net.controllers)))
        for controller in self.net.controllers:
            info((str(controller) + '    '))
            controller.start()
        info('\n')
        info(('****    Starting    %s    switches\n' % len(self.net.switches)))
        for widget in self.widgetToItem:
            name = widget['text']
            tags = self.canvas.gettags(self.widgetToItem[widget])
            if ('Switch' in tags):
                opts = self.switchOpts[name]
                switchControllers = []
                for ctrl in opts['controllers']:
                    switchControllers.append(self.net.get(ctrl))
                info((name + '    '))
                self.net.get(name).start(switchControllers)
            if ('LegacySwitch' in tags):
                self.net.get(name).start([])
                info((name + '    '))
        info('\n')
        self.postStartSetup()
