public static List<ListenableFuture<Void>> removeConfiguration(DataBroker dataBroker, ParentRefs parentRefs,
Interface interfaceOld, IfL2vlan ifL2vlan,
IdManagerService idManager) {
+ LOG.debug("remove vlan member configuration {}",interfaceOld.getName());
List<ListenableFuture<Void>> futures = new ArrayList<>();
WriteTransaction t = dataBroker.newWriteOnlyTransaction();
InterfaceParentEntry interfaceParentEntry =
InterfaceMetaUtils.getInterfaceParentEntryFromConfigDS(interfaceParentEntryIid, dataBroker);
+ if(interfaceParentEntry == null){
+ return futures;
+ }
+
List<InterfaceChildEntry> interfaceChildEntries = interfaceParentEntry.getInterfaceChildEntry();
if (interfaceChildEntries.size() <= 1) {
- t.delete(LogicalDatastoreType.CONFIGURATION, interfaceParentEntryIid);
+ // FIXME..some boundary problem during vlan member deletion..need to revisit
+ //t.delete(LogicalDatastoreType.CONFIGURATION, interfaceParentEntryIid);
} else {
InterfaceChildEntryKey interfaceChildEntryKey = new InterfaceChildEntryKey(interfaceOld.getName());
InstanceIdentifier<InterfaceChildEntry> interfaceChildEntryIid =
}
} */
+ LOG.debug("delete vlan member interface state {}",interfaceOld.getName());
String ncStr = ifState.getLowerLayerIf().get(0);
NodeConnectorId nodeConnectorId = new NodeConnectorId(ncStr);
BigInteger dpId = new BigInteger(IfmUtil.getDpnFromNodeConnectorId(nodeConnectorId));
InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.Interface> ifStateId =
IfmUtil.buildStateInterfaceId(interfaceOld.getName());
t.delete(LogicalDatastoreType.OPERATIONAL, ifStateId);
- FlowBasedServicesUtils.removeIngressFlow(interfaceOld, dpId, t);
+ FlowBasedServicesUtils.removeIngressFlow(interfaceOld.getName(), dpId, t);
}
futures.add(t.submit());