- public static org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.Interface getInterfaceStateFromDS(
- String interfaceName) {
- org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.Interface ifState = null;
- for (Map.Entry<String, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.Interface>
- entry : interfaceStateMap.entrySet()) {
- if (entry.getKey().contains(interfaceName)) {
- ifState = entry.getValue();
- }
+ public static org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.Interface.OperStatus removeBfdStateFromCache(String interfaceName){
+ return bfdStateMap.remove(interfaceName);
+ }
+
+ public static boolean isNovaOrTunnelPort(String portName) {
+
+ Matcher matcher = pattern.matcher(portName);
+ return matcher.matches();
+ }
+
+
+ public static void createOrUpdateDpnToInterface(BigInteger dpId, String infName, WriteTransaction transaction) {
+ DpnToInterfaceKey dpnToInterfaceKey = new DpnToInterfaceKey(dpId);
+ InterfaceNameEntryKey interfaceNameEntryKey = new InterfaceNameEntryKey(infName);
+ InstanceIdentifier<InterfaceNameEntry> intfid = InstanceIdentifier.builder(DpnToInterfaceList.class)
+ .child(DpnToInterface.class, dpnToInterfaceKey)
+ .child(InterfaceNameEntry.class, interfaceNameEntryKey)
+ .build();
+ InterfaceNameEntryBuilder entryBuilder = new InterfaceNameEntryBuilder().setKey(interfaceNameEntryKey).setInterfaceName(infName);
+ transaction.put(LogicalDatastoreType.OPERATIONAL, intfid, entryBuilder.build(), true);
+ }
+
+ public static void deleteDpnToInterface(DataBroker dataBroker, BigInteger dpId, String infName, WriteTransaction transaction) {
+ DpnToInterfaceKey dpnToInterfaceKey = new DpnToInterfaceKey(dpId);
+ InstanceIdentifier<DpnToInterface> dpnToInterfaceId = InstanceIdentifier.builder(DpnToInterfaceList.class)
+ .child(DpnToInterface.class, dpnToInterfaceKey).build();
+ Optional<DpnToInterface> dpnToInterfaceOptional = IfmUtil.read(LogicalDatastoreType.OPERATIONAL, dpnToInterfaceId, dataBroker);
+ if (!dpnToInterfaceOptional.isPresent()) {
+ LOG.debug("DPN {} is already removed from the Operational DS", dpId);
+ return;
+ }
+
+ List<InterfaceNameEntry> interfaceNameEntries = dpnToInterfaceOptional.get().getInterfaceNameEntry();
+ InterfaceNameEntryKey interfaceNameEntryKey = new InterfaceNameEntryKey(infName);
+ InstanceIdentifier<InterfaceNameEntry> intfid = InstanceIdentifier.builder(DpnToInterfaceList.class)
+ .child(DpnToInterface.class, dpnToInterfaceKey)
+ .child(InterfaceNameEntry.class, interfaceNameEntryKey)
+ .build();
+ transaction.delete(LogicalDatastoreType.OPERATIONAL, intfid);
+
+ if (interfaceNameEntries.size() <=1) {
+ transaction.delete(LogicalDatastoreType.OPERATIONAL, dpnToInterfaceId);