+
+ public static InstanceIdentifier<Tunnels> createInstanceIdentifier( InstanceIdentifier<Node> nodeIid,
+ InstanceIdentifier<TerminationPoint> localTpIid, InstanceIdentifier<TerminationPoint> remoteTpIid) {
+
+ TunnelsKey tunnelsKey = new TunnelsKey(new HwvtepPhysicalLocatorRef(localTpIid),
+ new HwvtepPhysicalLocatorRef(remoteTpIid));
+ InstanceIdentifier<Tunnels> tunnelInstanceId = nodeIid.builder().augmentation(PhysicalSwitchAugmentation.class)
+ .child(Tunnels.class, tunnelsKey).build();
+ return tunnelInstanceId;
+ }
+
+ public static Class<? extends EncapsulationTypeBase> createEncapsulationType(String type) {
+ Preconditions.checkNotNull(type);
+ if (type.isEmpty()) {
+ return EncapsulationTypeVxlanOverIpv4.class;
+ } else {
+ ImmutableBiMap<String, Class<? extends EncapsulationTypeBase>> mapper =
+ HwvtepSouthboundConstants.ENCAPS_TYPE_MAP.inverse();
+ return mapper.get(type);
+ }
+ }
+
+ public static InstanceIdentifier<TerminationPoint> createInstanceIdentifier(InstanceIdentifier<Node> nodeIid,
+ PhysicalLocator physicalLocator) {
+ return nodeIid.child(TerminationPoint.class, getTerminationPointKey(physicalLocator));
+ }
+
+ public static TerminationPointKey getTerminationPointKey(PhysicalLocator pLoc) {
+ TerminationPointKey tpKey = null;
+ if(pLoc.getEncapsulationTypeColumn().getData() != null &&
+ pLoc.getDstIpColumn().getData() != null) {
+ String tpKeyStr = pLoc.getEncapsulationTypeColumn().getData()+':'+pLoc.getDstIpColumn().getData();
+ tpKey = new TerminationPointKey(new TpId(tpKeyStr));
+ }
+ return tpKey;
+ }
+
+ public static String getRandomUUID() {
+ return "Random_" + java.util.UUID.randomUUID().toString().replace("-", "");
+ }
+
+ public static InstanceIdentifier<VlanBindings> createInstanceIdentifier(HwvtepConnectionInstance client,
+ InstanceIdentifier<TerminationPoint> tpPath, VlanBindings vBindings) {
+ return tpPath.augmentation(HwvtepPhysicalPortAugmentation.class) .child(VlanBindings.class,
+ new VlanBindingsKey(vBindings.getKey()));
+
+ }