if (created.getValue() != null && created.getValue() instanceof EvcAugmentation) {
EvcAugmentation evc = (EvcAugmentation) created.getValue();
InstanceIdentifier<?> evcKey = created.getKey();
- LOG.trace("New EVC created, source IP: {} destination IP {}.",
- evc.getUniSource().iterator().next().getIpAddress().getIpv4Address(),
- evc.getUniDest().iterator().next().getIpAddress().getIpv4Address());
// For now, we assume that there is 1 uni per source/destination
if (evc.getUniDest() == null || evc.getUniDest().isEmpty()) {
LOG.error("Destination UNI cannot be null.");
LOG.error("Source UNI cannot be null.");
break;
}
+ LOG.trace("New EVC created, source IP: {} destination IP {}.",
+ evc.getUniSource().iterator().next().getIpAddress().getIpv4Address(),
+ evc.getUniDest().iterator().next().getIpAddress().getIpv4Address());
InstanceIdentifier<Node> sourceUniIid;
InstanceIdentifier<Node> destinationUniIid;
//FIXME we are assuming that there is only 1 UNI source and destination
// per evc
- if (evc.getUniSource().iterator().next().getUni() != null) {
- sourceUniIid = evc.getUniSource().iterator().next().getUni().firstIdentifierOf(Node.class);
+ InstanceIdentifier<?> iidSource = evc.getUniSource().iterator().next().getUni();
+ if (iidSource != null) {
+ sourceUniIid = iidSource.firstIdentifierOf(Node.class);
} else {
sourceUniIid = UnimgrMapper.getUniIid(dataBroker,
evc.getUniSource().iterator().next().getIpAddress(),
LogicalDatastoreType.OPERATIONAL);
}
- if (evc.getUniDest().iterator().next().getUni() != null) {
- destinationUniIid = evc.getUniDest().iterator().next().getUni().firstIdentifierOf(Node.class);
+ InstanceIdentifier<?> iidDest = evc.getUniDest().iterator().next().getUni();
+ if (iidDest != null) {
+ destinationUniIid = iidDest.firstIdentifierOf(Node.class);
} else {
destinationUniIid = UnimgrMapper.getUniIid(dataBroker,
evc.getUniDest().iterator().next().getIpAddress(),
uniSource.getAugmentation(UniAugmentation.class),
sourceBr,
UnimgrConstants.DEFAULT_BRIDGE_NAME,
- UnimgrConstants.DEFAULT_TUNNEL_IFACE,
- UnimgrConstants.DEFAULT_GRE_NAME);
+ UnimgrConstants.DEFAULT_TUNNEL_IFACE);
UnimgrUtils.createGreTunnel(dataBroker,
uniSource.getAugmentation(UniAugmentation.class),
uniDestination.getAugmentation(UniAugmentation.class),
sourceBr,
UnimgrConstants.DEFAULT_BRIDGE_NAME,
- "gre0");
- UnimgrUtils.createTerminationPointNode(dataBroker,
+ UnimgrConstants.DEFAULT_GRE_TUNNEL_NAME);
+ UnimgrUtils.createTerminationPointNode(dataBroker,
uniSource.getAugmentation(UniAugmentation.class),
destinationBr,
UnimgrConstants.DEFAULT_BRIDGE_NAME,
- UnimgrConstants.DEFAULT_TUNNEL_IFACE,
- UnimgrConstants.DEFAULT_GRE_NAME);
+ UnimgrConstants.DEFAULT_TUNNEL_IFACE);
UnimgrUtils.createGreTunnel(dataBroker,
uniDestination.getAugmentation(UniAugmentation.class),
uniSource.getAugmentation(UniAugmentation.class), destinationBr,
UnimgrConstants.DEFAULT_BRIDGE_NAME,
- "gre0");
+ UnimgrConstants.DEFAULT_GRE_TUNNEL_NAME);
UnimgrUtils.updateEvcNode(LogicalDatastoreType.CONFIGURATION,
evcKey,
evc,
transaction.submit();
}
+ /**
+ * Creates and Submit a termination point Node without specifying its interface type.
+ * @param dataBroker The instance of the data broker to create transactions
+ * @param uni The UNI's data
+ * @param bridgeNode The Bridge node
+ * @param bridgeName The Bridge name (example: br0)
+ * @param portName The Port name (example: eth0)
+ */
+ public static void createTerminationPointNode(DataBroker dataBroker,
+ Uni uni,
+ Node bridgeNode,
+ String bridgeName,
+ String portName) {
+ InstanceIdentifier<TerminationPoint> tpIid = UnimgrMapper
+ .getTerminationPointIid(bridgeNode,
+ portName);
+ OvsdbTerminationPointAugmentationBuilder tpAugmentationBuilder =
+ new OvsdbTerminationPointAugmentationBuilder();
+ tpAugmentationBuilder.setName(portName);
+ tpAugmentationBuilder.setInterfaceType(null);
+ TerminationPointBuilder tpBuilder = new TerminationPointBuilder();
+ tpBuilder.setKey(InstanceIdentifier.keyOf(tpIid));
+ tpBuilder.addAugmentation(OvsdbTerminationPointAugmentation.class,
+ tpAugmentationBuilder.build());
+ WriteTransaction transaction = dataBroker.newWriteOnlyTransaction();
+ transaction.put(LogicalDatastoreType.CONFIGURATION,
+ tpIid,
+ tpBuilder.build());
+ transaction.submit();
+ }
+
/**
* Deletes a generic node
* @param dataBroker The instance of the data broker to create transactions