X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=neutronvpn%2Fneutronvpn-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fvpnservice%2Fneutronvpn%2FNeutronvpnUtils.java;h=d161f97dfdde3441ca4dd97e18128a7c795ee77c;hb=refs%2Fchanges%2F09%2F38009%2F4;hp=b23120e4508aa645fb2e1b5994f5cec75b1cce0d;hpb=338d547060c53eff8d0a13f94059b86d8b52bbca;p=vpnservice.git diff --git a/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/vpnservice/neutronvpn/NeutronvpnUtils.java b/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/vpnservice/neutronvpn/NeutronvpnUtils.java index b23120e4..d161f97d 100644 --- a/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/vpnservice/neutronvpn/NeutronvpnUtils.java +++ b/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/vpnservice/neutronvpn/NeutronvpnUtils.java @@ -20,13 +20,20 @@ import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces. import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.Interface; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.InterfaceKey; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid; +import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.binding.rev150712.PortBindingExtension; import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l3.rev150712.routers.attributes.Routers; import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l3.rev150712.routers.attributes.routers.Router; import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l3.rev150712.routers.attributes.routers.RouterKey; +import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.networks.rev150712.NetworkTypeBase; +import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.networks.rev150712.NetworkTypeVxlan; import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.networks.rev150712.networks.attributes.Networks; import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.networks.rev150712.networks.attributes.networks.Network; import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.networks.rev150712.networks.attributes.networks.NetworkKey; +import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.provider.ext.rev150712.NetworkProviderExtension; +import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.provider.ext.rev150712.neutron.networks.network.Segments; +import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.Ports; import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.Port; +import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.PortKey; import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.rev150712.Neutron; import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.subnets.rev150712.subnets.attributes.Subnets; import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.subnets.rev150712.subnets.attributes.subnets.Subnet; @@ -47,10 +54,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.vpnservice.neutronvpn.rev15 .PortFixedipToPortName; import org.opendaylight.yang.gen.v1.urn.opendaylight.vpnservice.neutronvpn.rev150602.neutron.port.data .PortFixedipToPortNameKey; -import org.opendaylight.yang.gen.v1.urn.opendaylight.vpnservice.neutronvpn.rev150602.neutron.port.data - .PortNameToPortUuid; -import org.opendaylight.yang.gen.v1.urn.opendaylight.vpnservice.neutronvpn.rev150602.neutron.port.data - .PortNameToPortUuidKey; import org.opendaylight.yang.gen.v1.urn.opendaylight.vpnservice.neutronvpn.rev150602.subnetmaps.Subnetmap; import org.opendaylight.yang.gen.v1.urn.opendaylight.vpnservice.neutronvpn.rev150602.subnetmaps.SubnetmapKey; import org.opendaylight.yang.gen.v1.urn.opendaylight.vpnservice.neutronvpn.rev150602.vpnmaps.VpnMap; @@ -66,13 +69,10 @@ import java.util.List; import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; -//import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.port.ext.rev151125.TrunkportExt; -//import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.port.ext.rev151125.TrunkportTypeBase; -//import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.port.ext.rev151125.TrunkportTypeSubport; - public class NeutronvpnUtils { private static final Logger logger = LoggerFactory.getLogger(NeutronvpnUtils.class); + public static final String VNIC_TYPE_NORMAL = "normal"; protected static Subnetmap getSubnetmap(DataBroker broker, Uuid subnetId) { InstanceIdentifier id = buildSubnetMapIdentifier(subnetId); @@ -101,7 +101,8 @@ public class NeutronvpnUtils { if (optionalVpnMaps.isPresent() && optionalVpnMaps.get().getVpnMap() != null) { List allMaps = optionalVpnMaps.get().getVpnMap(); for (VpnMap vpnMap : allMaps) { - if (vpnMap.getNetworkIds().contains(network)) { + List netIds = vpnMap.getNetworkIds(); + if ((netIds != null) && (netIds.contains(network))) { return vpnMap.getVpnId(); } } @@ -146,15 +147,6 @@ public class NeutronvpnUtils { return null; } - protected static Uuid getNeutronPortIdfromPortName(DataBroker broker, String portname) { - InstanceIdentifier id = buildPortNameToPortUuidIdentifier(portname); - Optional portNameToPortUuidData = read(broker, LogicalDatastoreType.CONFIGURATION, id); - if (portNameToPortUuidData.isPresent()) { - return portNameToPortUuidData.get().getPortId(); - } - return null; - } - protected static String getNeutronPortNamefromPortFixedIp(DataBroker broker, String fixedIp) { InstanceIdentifier id = buildFixedIpToPortNameIdentifier(fixedIp); Optional portFixedipToPortNameData = read(broker, LogicalDatastoreType.CONFIGURATION, @@ -174,22 +166,6 @@ public class NeutronvpnUtils { return null; } - //TODO - //Will be done once integrated with TrunkPort Extensions - protected static int getVlanFromNeutronPort(Port port) { - int vlanId = 0; - /* - TrunkportExt trunkportExt = port.getAugmentation(TrunkportExt.class); - if (trunkportExt != null) { - Class trunkportType = trunkportExt.getType(); - if (trunkportType != null && trunkportType.isAssignableFrom(TrunkportTypeSubport.class)) { - vlanId = trunkportExt.getVid(); - } - } - */ - return vlanId; - } - protected static Router getNeutronRouter(DataBroker broker, Uuid routerId) { InstanceIdentifier inst = InstanceIdentifier.create(Neutron.class).child(Routers.class).child(Router @@ -231,6 +207,17 @@ public class NeutronvpnUtils { return subnetIdList; } + protected static Port getNeutronPort(DataBroker broker, Uuid portId) { + logger.debug("getNeutronPort for {}", portId.getValue()); + InstanceIdentifier inst = InstanceIdentifier.create(Neutron.class).child(Ports.class).child(Port.class, + new PortKey(portId)); + Optional port = read(broker, LogicalDatastoreType.CONFIGURATION, inst); + if (port.isPresent()) { + return port.get(); + } + return null; + } + protected static String uuidToTapPortName(Uuid id) { String tapId = id.getValue().substring(0, 11); return new StringBuilder().append("tap").append(tapId).toString(); @@ -304,12 +291,6 @@ public class NeutronvpnUtils { return null; } - static InstanceIdentifier buildPortNameToPortUuidIdentifier(String portname) { - InstanceIdentifier id = InstanceIdentifier.builder(NeutronPortData.class).child - (PortNameToPortUuid.class, new PortNameToPortUuidKey(portname)).build(); - return id; - } - static InstanceIdentifier buildFixedIpToPortNameIdentifier(String fixedIp) { InstanceIdentifier id = InstanceIdentifier.builder(NeutronPortData.class).child (PortFixedipToPortName.class, new PortFixedipToPortNameKey(fixedIp)).build(); @@ -354,5 +335,4 @@ public class NeutronvpnUtils { return result; } - }