def create_vlan_bridge(self, req):
        cmd = jsonobject.loads(req[http.REQUEST_BODY])
        rsp = CreateVlanBridgeResponse()

        if linux.is_bridge(cmd.bridgeName):
            logger.debug('%s is a bridge device, no need to create bridge' %
                         cmd.bridgeName)
            self._ifup_device_if_down('%s.%s' %
                                      (cmd.physicalInterfaceName, cmd.vlan))
            self._configure_bridge()
            linux.set_device_uuid_alias(
                '%s.%s' % (cmd.physicalInterfaceName, cmd.vlan),
                cmd.l2NetworkUuid)
            return jsonobject.dumps(rsp)

        try:
            linux.create_vlan_bridge(cmd.bridgeName, cmd.physicalInterfaceName,
                                     cmd.vlan)
            self._configure_bridge()
            linux.set_device_uuid_alias(
                '%s.%s' % (cmd.physicalInterfaceName, cmd.vlan),
                cmd.l2NetworkUuid)
            logger.debug(
                'successfully realize vlan bridge[name:%s, vlan:%s] from device[%s]'
                % (cmd.bridgeName, cmd.vlan, cmd.physicalInterfaceName))
        except Exception as e:
            logger.warning(traceback.format_exc())
            rsp.error = 'unable to create vlan bridge[name:%s, vlan:%s] from device[%s], because %s' % (
                cmd.bridgeName, cmd.vlan, cmd.physicalInterfaceName, str(e))
            rsp.success = False

        return jsonobject.dumps(rsp)
 def create_vlan_bridge(self, req):
     cmd = jsonobject.loads(req[http.REQUEST_BODY])
     rsp = CreateVlanBridgeResponse()
     if linux.is_bridge(cmd.bridgeName):
         logger.debug('%s is a bridge device, no need to create bridge' % cmd.physicalInterfaceName)
         return jsonobject.dumps(rsp)
     
     try:
         linux.create_vlan_bridge(cmd.bridgeName, cmd.physicalInterfaceName, cmd.vlan)
         logger.debug('successfully realize vlan bridge[name:%s, vlan:%s] from device[%s]' % (cmd.bridgeName, cmd.vlan, cmd.physicalInterfaceName))
     except Exception as e:
         logger.warning(traceback.format_exc())
         rsp.error = 'unable to create vlan bridge[name:%s, vlan:%s] from device[%s], because %s' % (cmd.bridgeName, cmd.vlan, cmd.physicalInterfaceName, str(e))
         rsp.success = False
         
     return jsonobject.dumps(rsp)
 def testName(self):
     linux.create_vlan_bridge('br_eth0.99', 'eth0', 99, '10.5.5.5',
                              '255.255.255.0')
 def testName(self):
     linux.create_vlan_bridge('br_eth0.99', 'eth0', 99, '10.5.5.5', '255.255.255.0')