// Create of-port interface for this neutron port
createOfPortInterface(port, portVlanId);
LOG.debug("Creating ELAN Interface");
- createElanInterface(port, portVlanId);
+ createElanInterface(port);
LOG.debug("Add port to subnet");
// add port to local Subnets DS
Uuid vpnId = addPortToSubnets(port);
private void handleNeutronPortUpdated(Port portoriginal, Port portupdate) {
LOG.debug("Add port to subnet");
- // add port FixedIPs to local Subnets DS
+ // add port FixedIP to local Subnets DS
Uuid vpnIdup = addPortToSubnets(portupdate);
if (vpnIdup != null) {
nvpnManager.createVpnInterface(vpnIdup, portupdate);
}
- // remove port FixedIPs from local Subnets DS
+ // remove port FixedIP from local Subnets DS
Uuid vpnIdor = removePortFromSubnets(portoriginal);
if (vpnIdor != null) {
// handle these for trunkport extensions : portVlanId, isVlanTransparent
IfL2vlan l2vlan = new IfL2vlanBuilder().setL2vlanMode(IfL2vlan.L2vlanMode.Trunk).build();
ParentRefs parentRefs = new ParentRefsBuilder().setParentInterface(name).build();
- Interface inf = new InterfaceBuilder().setEnabled(true).setName(name).setType(L2vlan.class).
- addAugmentation(IfL2vlan.class, l2vlan).addAugmentation(ParentRefs.class, parentRefs).build();
+ Interface inf = new InterfaceBuilder().setEnabled(true).setName(name).setType(L2vlan.class)
+ .addAugmentation(IfL2vlan.class, l2vlan).addAugmentation(ParentRefs.class, parentRefs).build();
MDSALUtil.syncWrite(broker, LogicalDatastoreType.CONFIGURATION, interfaceIdentifier, inf);
} else {
LOG.error("Interface {} is already present", name);
.getUuid());
}
- private void createElanInterface(Port port, int portVlanId) {
+ private void createElanInterface(Port port) {
String name = NeutronvpnUtils.uuidToTapPortName(port.getUuid());
String elanInstanceName = port.getNetworkId().getValue();
List<PhysAddress> physAddresses = new ArrayList<>();
InstanceIdentifier<ElanInterface> id = InstanceIdentifier.builder(ElanInterfaces.class).child(ElanInterface
.class, new ElanInterfaceKey(name)).build();
ElanInterface elanInterface = new ElanInterfaceBuilder().setElanInstanceName(elanInstanceName)
- .setName(name).setStaticMacEntries(physAddresses).
- setKey(new ElanInterfaceKey(name)).build();
+ .setName(name).setStaticMacEntries(physAddresses).setKey(new ElanInterfaceKey(name)).build();
MDSALUtil.syncWrite(broker, LogicalDatastoreType.CONFIGURATION, id, elanInterface);
LOG.debug("Creating new ELan Interface {}", elanInterface);
}
private Uuid addPortToSubnets(Port port) {
Uuid subnetId = null;
Uuid vpnId = null;
- String name = NeutronvpnUtils.uuidToTapPortName(port.getUuid());
-
- // find all subnets to which this port is associated
- List<FixedIps> ips = port.getFixedIps();
- for (FixedIps ip : ips) {
- String ipValue = ip.getIpAddress().getIpv4Address().getValue();
-
- InstanceIdentifier id = NeutronvpnUtils.buildFixedIpToPortNameIdentifier(ipValue);
- PortFixedipToPortNameBuilder builder = new PortFixedipToPortNameBuilder().setPortFixedip(ipValue)
- .setPortName(name);
- MDSALUtil.syncWrite(broker, LogicalDatastoreType.CONFIGURATION, id, builder.build());
- LOG.debug("fixedIp-name map for neutron port with fixedIp: {}, name: {} added to NeutronPortData DS",
- ipValue, name);
-
- subnetId = ip.getSubnetId();
- Subnetmap subnetmap = nvpnManager.updateSubnetNode(subnetId, null, null, null, null, port.getUuid());
- if (vpnId == null && subnetmap != null) {
- vpnId = subnetmap.getVpnId();
- }
+ Subnetmap subnetmap = null;
+ String infName = port.getUuid().getValue();
+
+ // find the subnet to which this port is associated
+ FixedIps ip = port.getFixedIps().get(0);
+ String ipValue = ip.getIpAddress().getIpv4Address().getValue();
+ InstanceIdentifier id = NeutronvpnUtils.buildFixedIpToPortNameIdentifier(ipValue);
+ PortFixedipToPortNameBuilder builder = new PortFixedipToPortNameBuilder().setPortFixedip(ipValue)
+ .setPortName(infName);
+ MDSALUtil.syncWrite(broker, LogicalDatastoreType.CONFIGURATION, id, builder.build());
+ LOG.debug("fixedIp-name map for neutron port with fixedIp: {}, name: {} added to NeutronPortData DS",
+ ipValue, infName);
+ subnetId = ip.getSubnetId();
+ subnetmap = nvpnManager.updateSubnetNode(subnetId, null, null, null, null, null, port.getUuid());
+ if (subnetmap != null) {
+ vpnId = subnetmap.getVpnId();
}
return vpnId;
}
private Uuid removePortFromSubnets(Port port) {
Uuid subnetId = null;
Uuid vpnId = null;
-
- // find all Subnets to which this port is associated
- List<FixedIps> ips = port.getFixedIps();
- for (FixedIps ip : ips) {
- String ipValue = ip.getIpAddress().getIpv4Address().getValue();
-
- InstanceIdentifier id = NeutronvpnUtils.buildFixedIpToPortNameIdentifier(ipValue);
- MDSALUtil.syncDelete(broker, LogicalDatastoreType.CONFIGURATION, id);
- LOG.debug("fixedIp-name map for neutron port with fixedIp: {} deleted from NeutronPortData DS", ipValue);
-
- subnetId = ip.getSubnetId();
- Subnetmap subnetmap = nvpnManager.removeFromSubnetNode(subnetId, null, null, null, port.getUuid());
- if (vpnId == null && subnetmap != null) {
- vpnId = subnetmap.getVpnId();
- }
+ Subnetmap subnetmap = null;
+
+ // find the subnet to which this port is associated
+ FixedIps ip = port.getFixedIps().get(0);
+ String ipValue = ip.getIpAddress().getIpv4Address().getValue();
+ InstanceIdentifier id = NeutronvpnUtils.buildFixedIpToPortNameIdentifier(ipValue);
+ MDSALUtil.syncDelete(broker, LogicalDatastoreType.CONFIGURATION, id);
+ LOG.debug("fixedIp-name map for neutron port with fixedIp: {} deleted from NeutronPortData DS", ipValue);
+ subnetId = ip.getSubnetId();
+ subnetmap = nvpnManager.removeFromSubnetNode(subnetId, null, null, null, port.getUuid());
+ if (subnetmap != null) {
+ vpnId = subnetmap.getVpnId();
}
return vpnId;
}