public void addNetwork(String networkUUID, OpenDoveNetwork network) { networkMap.putIfAbsent(networkUUID, network); IfOpenDoveDomainCRUD sbInterface = OpenDoveCRUDInterfaces.getIfDoveDomainCRU(this); if (sbInterface != null) { sbInterface.addNetworkToDomain(network.getDomain_uuid(), network); } }
OpenDoveSubnet oDS = i.next(); if (oDS.getAssociatedOSSubnetUUID().equalsIgnoreCase(oldNeutronSubnet.getID()) && oDS.getDomainUUID() == oldODN.getDomain_uuid()) { IfOpenDoveServiceApplianceCRUD serviceApplianceDB = OpenDoveCRUDInterfaces.getIfDoveServiceApplianceCRUD(this); IfSBDoveGwIpv4CRUD gatewayIPDB = OpenDoveCRUDInterfaces.getIfSBDoveGwIpv4CRUD(this); OpenDoveSubnet oDS = i.next(); if (oDS.getAssociatedOSSubnetUUID().equalsIgnoreCase(neutronSubnet.getID()) && oDS.getDomainUUID() == newODN.getDomain_uuid()) { IfOpenDoveServiceApplianceCRUD serviceApplianceDB = OpenDoveCRUDInterfaces.getIfDoveServiceApplianceCRUD(this); IfSBDoveGwIpv4CRUD gatewayIPDB = OpenDoveCRUDInterfaces.getIfSBDoveGwIpv4CRUD(this); if (newODN.getDomain_uuid().equalsIgnoreCase(oldODN.getDomain_uuid())) { OpenDovePolicy.createAllowPolicies(dovePolicyDB, newODN, oldODN);
OpenDoveGwIpv4 egwExternalIP = oDSA.getEGWExtIP(); OpenDoveEGWSNATPool snatPool = new OpenDoveEGWSNATPool(oDSA.getUUID(), ip_low, ip_high, oldODN.getDomain_uuid(), domainID, extMCastNet.getVnid(), oldODN.getVnid(), egwExternalIP, 8000, 9000);//TODO add control for low and high
OpenDoveSubnet oDS = i.next(); if (oDS.getAssociatedOSSubnetUUID().equalsIgnoreCase(oldNeutronSubnet.getID()) && oDS.getDomainUUID() == oldODN.getDomain_uuid()) { OpenDoveEGWSNATPool.removeEGWSNATPool(neutronSubnet, snatPoolDB, controlBlock, oldODN); for ( OpenDoveSubnet oDS: doveSubnetDB.getSubnets()) { if (oDS.getAssociatedOSSubnetUUID().equalsIgnoreCase(neutronSubnet.getID()) && oDS.getDomainUUID() == newODN.getDomain_uuid()) { OpenDoveEGWSNATPool.removeEGWSNATPool(oldNeutronSubnet, snatPoolDB, controlBlock, newODN); if (newODN.getDomain_uuid().equalsIgnoreCase(oldODN.getDomain_uuid())) { OpenDovePolicy.removeAllowPolicies(dovePolicyDB, newODN, oldODN);
OpenDoveNetwork doveNetwork = doveNetworkIterator.next(); if (doveNetwork.getName().equalsIgnoreCase(doveNetworkName) && doveNetwork.getDomain_uuid().equalsIgnoreCase(doveDomainUUID)) {
private static void createAllowPolicy(IfSBDovePolicyCRUD dovePolicyDB, OpenDoveNetwork newODN, OpenDoveNetwork oldODN, int traffic_type) { List<OpenDovePolicy> policies = dovePolicyDB.getPolicies(); Iterator<OpenDovePolicy> policyIterator = policies.iterator(); boolean found = false; while (policyIterator.hasNext() && !found) { OpenDovePolicy policy = policyIterator.next(); if (policy.getSourceVNID() == newODN.getVnid() && policy.getDestinationVNID() == oldODN.getVnid() && policy.getPolicyAction() == 0 && policy.getTrafficType() == traffic_type) { OpenDovePolicy delta = new OpenDovePolicy(); delta.setPolicyAction(1); found = true; dovePolicyDB.updatePolicy(policy, delta); } } if (!found) { OpenDovePolicy newPolicy = new OpenDovePolicy(newODN.getVnid(), oldODN.getVnid(), newODN.getDomain_uuid(), newODN.getDomain_id(), traffic_type); newPolicy.setTombstoneFlag(false); dovePolicyDB.addPolicy(newPolicy.getUUID(), newPolicy); } }