import org.opendaylight.genius.mdsalutil.NwConstants;
import org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager;
import org.opendaylight.genius.utils.ServiceIndex;
+import org.opendaylight.netvirt.elan.ElanException;
import org.opendaylight.netvirt.elan.l2gw.utils.ElanL2GatewayUtils;
import org.opendaylight.netvirt.elan.utils.ElanConstants;
import org.opendaylight.netvirt.elan.utils.ElanForwardingEntriesHandler;
* ElanInterfaces.
*
* @see org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.elan.interfaces.ElanInterface
- *
*/
@SuppressWarnings("deprecation")
public class ElanInterfaceManager extends AsyncDataTreeChangeListenerBase<ElanInterface, ElanInterfaceManager>
private final IInterfaceManager interfaceManager;
private final IdManagerService idManager;
private final ElanForwardingEntriesHandler elanForwardingEntriesHandler;
- private final ElanL2GatewayUtils elanL2GatewayUtils;
- private final ElanUtils elanUtils;
+ private ElanL2GatewayUtils elanL2GatewayUtils;
+ private ElanUtils elanUtils;
- private static final long waitTimeForSyncInstall = Long.getLong("wait.time.sync.install", 300L);
+ private static final long WAIT_TIME_FOR_SYNC_INSTALL = Long.getLong("wait.time.sync.install", 300L);
private Map<String, ConcurrentLinkedQueue<ElanInterface>> unProcessedElanInterfaces = new ConcurrentHashMap<>();
- private static final Logger logger = LoggerFactory.getLogger(ElanInterfaceManager.class);
+ private static final Logger LOG = LoggerFactory.getLogger(ElanInterfaceManager.class);
public ElanInterfaceManager(final DataBroker dataBroker,
final IdManagerService managerService,
final IMdsalApiManager mdsalApiManager,
IInterfaceManager interfaceManager,
- final ElanForwardingEntriesHandler elanForwardingEntriesHandler,
- final ElanL2GatewayUtils elanL2GatewayUtils, ElanUtils elanUtils) {
+ final ElanForwardingEntriesHandler elanForwardingEntriesHandler) {
super(ElanInterface.class, ElanInterfaceManager.class);
this.broker = dataBroker;
this.idManager = managerService;
this.mdsalManager = mdsalApiManager;
this.interfaceManager = interfaceManager;
this.elanForwardingEntriesHandler = elanForwardingEntriesHandler;
- this.elanL2GatewayUtils = elanL2GatewayUtils;
+ }
+
+ public void setElanUtils(ElanUtils elanUtils) {
this.elanUtils = elanUtils;
+ this.elanL2GatewayUtils = elanUtils.getElanL2GatewayUtils();
+ this.elanForwardingEntriesHandler.setElanUtils(elanUtils);
}
public void init() {
@Override
protected void remove(InstanceIdentifier<ElanInterface> identifier, ElanInterface del) {
String interfaceName = del.getName();
- ElanInstance elanInfo = elanUtils.getElanInstanceByName(del.getElanInstanceName());
+ ElanInstance elanInfo = ElanUtils.getElanInstanceByName(broker, del.getElanInstanceName());
/*
* Handling in case the elan instance is deleted.If the Elan instance is
* deleted, there is no need to explicitly delete the elan interfaces
coordinator.enqueueJob(elanInstanceName, configWorker, ElanConstants.JOB_MAX_RETRIES);
}
- public void removeElanInterface(List<ListenableFuture<Void>> futures, ElanInstance elanInfo, String interfaceName, InterfaceInfo interfaceInfo,
- boolean isInterfaceStateRemoved) {
+ public void removeElanInterface(List<ListenableFuture<Void>> futures, ElanInstance elanInfo, String interfaceName,
+ InterfaceInfo interfaceInfo, boolean isInterfaceStateRemoved) {
String elanName = elanInfo.getElanInstanceName();
boolean isLastElanInterface = false;
long elanTag = elanInfo.getElanTag();
if (dpnInterfaces == null || dpnInterfaces.getInterfaces() == null
|| dpnInterfaces.getInterfaces().isEmpty()) {
// No more Elan Interfaces in this DPN
- logger.debug("deleting the elan: {} present on dpId: {}", elanInfo.getElanInstanceName(), dpId);
+ LOG.debug("deleting the elan: {} present on dpId: {}", elanInfo.getElanInstanceName(), dpId);
removeDefaultTermFlow(dpId, elanInfo.getElanTag());
removeUnknownDmacFlow(dpId, elanInfo, deleteFlowGroupTx, elanInfo.getElanTag());
removeEtreeUnknownDmacFlow(dpId, elanInfo, deleteFlowGroupTx);
EtreeInstance etreeInstance = elanInfo.getAugmentation(EtreeInstance.class);
if (etreeInstance != null) {
BigInteger dpnId = interfaceInfo.getDpId();
- long groupId = ElanUtils.getEtreeLeafLocalBCGID(etreeInstance.getEtreeLeafTagVal().getValue());
+ long groupId = ElanUtils.getEtreeLeafLocalBCGId(etreeInstance.getEtreeLeafTagVal().getValue());
List<Bucket> listBuckets = new ArrayList<>();
int bucketId = 0;
listBuckets.add(getLocalBCGroupBucketInfo(interfaceInfo, bucketId));
Group group = MDSALUtil.buildGroup(groupId, elanInfo.getElanInstanceName(), GroupTypes.GroupAll,
MDSALUtil.buildBucketLists(listBuckets));
- logger.trace("deleted the localBroadCast Group:{}", group);
+ LOG.trace("deleted the localBroadCast Group:{}", group);
mdsalManager.removeGroupToTx(dpnId, group, deleteFlowGroupTx);
}
}
int bucketId = 0;
int actionKey = 0;
List<Bucket> listBuckets = new ArrayList<>();
- List<Action> listAction = new ArrayList<Action>();
- listAction.add((new ActionInfo(ActionType.group,
- new String[] { String.valueOf(ElanUtils.getEtreeLeafLocalBCGID(etreeTag)) }, ++actionKey))
+ List<Action> listAction = new ArrayList<>();
+ listAction.add(new ActionInfo(ActionType.group,
+ new String[] { String.valueOf(ElanUtils.getEtreeLeafLocalBCGId(etreeTag)) }, ++actionKey)
.buildAction());
listBuckets.add(MDSALUtil.buildBucket(listAction, MDSALUtil.GROUP_WEIGHT, bucketId, MDSALUtil.WATCH_PORT,
MDSALUtil.WATCH_GROUP));
bucketId++;
listBuckets.addAll(getRemoteBCGroupBucketInfos(elanInfo, bucketId, interfaceInfo, etreeTag));
BigInteger dpnId = interfaceInfo.getDpId();
- long groupId = ElanUtils.getEtreeLeafRemoteBCGID(etreeTag);
+ long groupId = ElanUtils.getEtreeLeafRemoteBCGId(etreeTag);
Group group = MDSALUtil.buildGroup(groupId, elanInfo.getElanInstanceName(), GroupTypes.GroupAll,
MDSALUtil.buildBucketLists(listBuckets));
- logger.trace("deleting the remoteBroadCast group:{}", group);
+ LOG.trace("deleting the remoteBroadCast group:{}", group);
mdsalManager.removeGroupToTx(dpnId, group, deleteFlowGroupTx);
}
}
private Elan removeElanStateForInterface(ElanInstance elanInfo, String interfaceName, WriteTransaction tx) {
String elanName = elanInfo.getElanInstanceName();
- Elan elanState = elanUtils.getElanByName(elanName);
+ Elan elanState = ElanUtils.getElanByName(broker, elanName);
if (elanState == null) {
return elanState;
}
}
}
- void removeEntriesForElanInterface(List<ListenableFuture<Void>> futures, ElanInstance elanInfo, InterfaceInfo interfaceInfo, String interfaceName,
- boolean isInterfaceStateRemoved, boolean isLastElanInterface) {
+ void removeEntriesForElanInterface(List<ListenableFuture<Void>> futures, ElanInstance elanInfo,
+ InterfaceInfo interfaceInfo, String interfaceName, boolean isInterfaceStateRemoved,
+ boolean isLastElanInterface) {
String elanName = elanInfo.getElanInstanceName();
WriteTransaction tx = broker.newWriteOnlyTransaction();
WriteTransaction deleteFlowGroupTx = broker.newWriteOnlyTransaction();
InstanceIdentifier<ElanInterfaceMac> elanInterfaceId = ElanUtils
.getElanInterfaceMacEntriesOperationalDataPath(interfaceName);
- logger.debug("Removing the Interface:{} from elan:{}", interfaceName, elanName);
+ LOG.debug("Removing the Interface:{} from elan:{}", interfaceName, elanName);
if (interfaceInfo != null) {
Optional<ElanInterfaceMac> existingElanInterfaceMac = elanUtils.read(broker,
LogicalDatastoreType.OPERATIONAL, elanInterfaceId);
if (existingElanInterfaceMac.isPresent()) {
- List<PhysAddress> macAddresses = new ArrayList<PhysAddress>();
+ List<PhysAddress> macAddresses = new ArrayList<>();
List<MacEntry> existingMacEntries = existingElanInterfaceMac.get().getMacEntry();
List<MacEntry> macEntries = new ArrayList<>();
if (existingMacEntries != null && !existingMacEntries.isEmpty()) {
}
if (!macEntries.isEmpty()) {
for (MacEntry macEntry : macEntries) {
- logger.debug("removing the mac-entry:{} present on elanInterface:{}",
+ LOG.debug("removing the mac-entry:{} present on elanInterface:{}",
macEntry.getMacAddress().getValue(), interfaceName);
if (!isLastElanInterface) {
tx.delete(LogicalDatastoreType.OPERATIONAL,
tx);
} else {
elanForwardingEntriesHandler.addElanInterfaceForwardingTableList(
- elanUtils.getElanInstanceByName(elanName), interfaceName, physAddress, tx);
+ ElanUtils.getElanInstanceByName(broker, elanName), interfaceName, physAddress, tx);
}
ElanUtils.waitForTransactionToComplete(tx);
}
String interfaceName = elanInterfaceAdded.getName();
InterfaceInfo interfaceInfo = interfaceManager.getInterfaceInfo(interfaceName);
if (interfaceInfo == null) {
- logger.warn("Interface {} is removed from Interface Oper DS due to port down ", interfaceName);
+ LOG.warn("Interface {} is removed from Interface Oper DS due to port down ", interfaceName);
return;
}
- ElanInstance elanInstance = elanUtils.getElanInstanceByName(elanInstanceName);
+ ElanInstance elanInstance = ElanUtils.getElanInstanceByName(broker, elanInstanceName);
if (elanInstance == null) {
elanInstance = new ElanInstanceBuilder().setElanInstanceName(elanInstanceName)
.setDescription(elanInterfaceAdded.getDescription()).build();
// Add the ElanInstance in the Configuration data-store
WriteTransaction tx = broker.newWriteOnlyTransaction();
- List<String> elanInterfaces = new ArrayList<String>();
+ List<String> elanInterfaces = new ArrayList<>();
elanInterfaces.add(interfaceName);
ElanUtils.updateOperationalDataStore(broker, idManager,
elanInstance, elanInterfaces, tx);
ElanUtils.waitForTransactionToComplete(tx);
- elanInstance = elanUtils.getElanInstanceByName(elanInstanceName);
+ elanInstance = ElanUtils.getElanInstanceByName(broker, elanInstanceName);
}
Long elanTag = elanInstance.getElanTag();
if (elanTag == null) {
ConcurrentLinkedQueue<ElanInterface> elanInterfaces = unProcessedElanInterfaces.get(elanInstanceName);
if (elanInterfaces == null) {
- elanInterfaces = new ConcurrentLinkedQueue<ElanInterface>();
+ elanInterfaces = new ConcurrentLinkedQueue<>();
}
elanInterfaces.add(elanInterfaceAdded);
unProcessedElanInterfaces.put(elanInstanceName, elanInterfaces);
coordinator.enqueueJob(elanInstanceName, addWorker, ElanConstants.JOB_MAX_RETRIES);
}
- void handleunprocessedElanInterfaces(ElanInstance elanInstance) {
+ void handleunprocessedElanInterfaces(ElanInstance elanInstance) throws ElanException {
List<ListenableFuture<Void>> futures = new ArrayList<>();
Queue<ElanInterface> elanInterfaces = unProcessedElanInterfaces.get(elanInstance.getElanInstanceName());
if (elanInterfaces == null || elanInterfaces.isEmpty()) {
}
void programRemoteDmacFlow(ElanInstance elanInstance, InterfaceInfo interfaceInfo,
- WriteTransaction writeFlowGroupTx) {
+ WriteTransaction writeFlowGroupTx) throws ElanException {
ElanDpnInterfacesList elanDpnInterfacesList = elanUtils
.getElanDpnInterfacesList(elanInstance.getElanInstanceName());
List<DpnInterfaces> dpnInterfaceLists = null;
dpnInterfaceLists = elanDpnInterfacesList.getDpnInterfaces();
}
if (dpnInterfaceLists == null) {
- dpnInterfaceLists = new ArrayList<DpnInterfaces>();
+ dpnInterfaceLists = new ArrayList<>();
}
for (DpnInterfaces dpnInterfaces : dpnInterfaceLists) {
if (dpnInterfaces.getDpId().equals(interfaceInfo.getDpId())) {
PhysAddress physAddress = macEntry.getMacAddress();
elanUtils.setupRemoteDmacFlow(interfaceInfo.getDpId(), remoteInterface.getDpId(),
remoteInterface.getInterfaceTag(), elanInstance.getElanTag(), physAddress.getValue(),
- elanInstance.getElanInstanceName(), writeFlowGroupTx, remoteIf);
+ elanInstance.getElanInstanceName(), writeFlowGroupTx, remoteIf, elanInstance);
}
}
}
}
}
- void addElanInterface(List<ListenableFuture<Void>> futures, ElanInterface elanInterface, InterfaceInfo interfaceInfo, ElanInstance elanInstance) {
+ void addElanInterface(List<ListenableFuture<Void>> futures, ElanInterface elanInterface,
+ InterfaceInfo interfaceInfo, ElanInstance elanInstance) throws ElanException {
Preconditions.checkNotNull(elanInstance, "elanInstance cannot be null");
Preconditions.checkNotNull(interfaceInfo, "interfaceInfo cannot be null");
Preconditions.checkNotNull(elanInterface, "elanInterface cannot be null");
String interfaceName = elanInterface.getName();
String elanInstanceName = elanInterface.getElanInstanceName();
- Elan elanInfo = elanUtils.getElanByName(elanInstanceName);
+ Elan elanInfo = ElanUtils.getElanByName(broker, elanInstanceName);
WriteTransaction tx = broker.newWriteOnlyTransaction();
if (elanInfo == null) {
- List<String> elanInterfaces = new ArrayList<String>();
+ List<String> elanInterfaces = new ArrayList<>();
elanInterfaces.add(interfaceName);
ElanUtils.updateOperationalDataStore(broker, idManager,
elanInstance, elanInterfaces, tx);
// for example, programming the
// External tunnel table if needed or adding the ElanInterface to the
// DpnInterfaces in the operational DS.
- BigInteger dpId = (interfaceInfo != null) ? dpId = interfaceInfo.getDpId() : null;
+ BigInteger dpId = interfaceInfo != null ? dpId = interfaceInfo.getDpId() : null;
DpnInterfaces dpnInterfaces = null;
if (dpId != null && !dpId.equals(ElanConstants.INVALID_DPN)) {
InstanceIdentifier<DpnInterfaces> elanDpnInterfaces = ElanUtils
} else {
List<String> elanInterfaces = existingElanDpnInterfaces.get().getInterfaces();
elanInterfaces.add(interfaceName);
- if (elanInterfaces.size() == 1) {// 1st dpn interface
+ if (elanInterfaces.size() == 1) { // 1st dpn interface
elanL2GatewayUtils.installElanL2gwDevicesLocalMacsInDpn(dpId, elanInstance, interfaceName);
}
dpnInterfaces = updateElanDpnInterfacesList(elanInstanceName, dpId, elanInterfaces, tx);
coordinator.enqueueJob(interfaceName, addWorker, ElanConstants.JOB_MAX_RETRIES);
}
- void setupEntriesForElanInterface(List<ListenableFuture<Void>> futures, ElanInstance elanInstance, ElanInterface elanInterface,
- InterfaceInfo interfaceInfo, boolean isFirstInterfaceInDpn) {
+ void setupEntriesForElanInterface(List<ListenableFuture<Void>> futures, ElanInstance elanInstance,
+ ElanInterface elanInterface, InterfaceInfo interfaceInfo, boolean isFirstInterfaceInDpn)
+ throws ElanException {
String elanInstanceName = elanInstance.getElanInstanceName();
String interfaceName = elanInterface.getName();
WriteTransaction tx = broker.newWriteOnlyTransaction();
.setKey(new MacEntryKey(physAddress)).build();
WriteTransaction tx = broker.newWriteOnlyTransaction();
elanForwardingEntriesHandler.deleteElanInterfaceForwardingEntries(
- elanUtils.getElanInstanceByName(elanInstanceName), interfaceInfo, macEntry, tx);
+ ElanUtils.getElanInstanceByName(broker, elanInstanceName), interfaceInfo, macEntry, tx);
elanForwardingEntriesHandler.deleteElanInterfaceMacForwardingEntries(interfaceName,
physAddress, tx);
ElanUtils.waitForTransactionToComplete(tx);
}
private void installEntriesForElanInterface(ElanInstance elanInstance, InterfaceInfo interfaceInfo,
- boolean isFirstInterfaceInDpn, WriteTransaction tx, WriteTransaction writeFlowGroupTx) {
+ boolean isFirstInterfaceInDpn, WriteTransaction tx, WriteTransaction writeFlowGroupTx)
+ throws ElanException {
if (!isOperational(interfaceInfo)) {
return;
}
setupTerminateServiceTable(elanInstance, dpId, writeFlowGroupTx);
setupUnknownDMacTable(elanInstance, dpId, writeFlowGroupTx);
// update the remote-DPNs remoteBC group entry with Tunnels
- setElanBCGrouponOtherDpns(elanInstance, elanInstance.getElanTag().longValue(), dpId, writeFlowGroupTx);
+ if (ElanUtils.isVxlan(elanInstance)) {
+ setElanBCGrouponOtherDpns(elanInstance, elanInstance.getElanTag().longValue(), dpId, writeFlowGroupTx);
+ }
/*
* Install remote DMAC flow. This is required since this DPN is
* added later to the elan instance and remote DMACs of other
programRemoteDmacFlow(elanInstance, interfaceInfo, writeFlowGroupTx);
}
// bind the Elan service to the Interface
- bindService(elanInstance, elanUtils.getElanInterfaceByElanInterfaceName(interfaceInfo.getInterfaceName()), tx);
+ bindService(elanInstance,
+ ElanUtils.getElanInterfaceByElanInterfaceName(broker, interfaceInfo.getInterfaceName()), tx);
}
public void installEntriesForFirstInterfaceonDpn(ElanInstance elanInfo, InterfaceInfo interfaceInfo,
// LocalBroadcast Group creation with elan-Interfaces
setupLocalBroadcastGroups(elanInfo, dpnInterfaces, interfaceInfo);
if (isFirstInterfaceInDpn) {
- logger.trace("waitTimeForSyncInstall is {}", waitTimeForSyncInstall);
+ LOG.trace("waitTimeForSyncInstall is {}", WAIT_TIME_FOR_SYNC_INSTALL);
BigInteger dpId = interfaceInfo.getDpId();
// RemoteBroadcast Group creation
try {
- Thread.sleep(waitTimeForSyncInstall);
+ Thread.sleep(WAIT_TIME_FOR_SYNC_INSTALL);
} catch (InterruptedException e1) {
- logger.warn("Error while waiting for local BC group for ELAN {} to install", elanInfo);
+ LOG.warn("Error while waiting for local BC group for ELAN {} to install", elanInfo);
}
setupElanBroadcastGroups(elanInfo, dpnInterfaces, dpId);
try {
- Thread.sleep(waitTimeForSyncInstall);
+ Thread.sleep(WAIT_TIME_FOR_SYNC_INSTALL);
} catch (InterruptedException e1) {
- logger.warn("Error while waiting for local BC group for ELAN {} to install", elanInfo);
+ LOG.warn("Error while waiting for local BC group for ELAN {} to install", elanInfo);
}
}
}
private List<Bucket> getRemoteBCGroupBuckets(ElanInstance elanInfo, DpnInterfaces dpnInterfaces, BigInteger dpnId,
int bucketId, long elanTag) {
- List<Bucket> listBucketInfo = new ArrayList<Bucket>();
+ List<Bucket> listBucketInfo = new ArrayList<>();
ElanDpnInterfacesList elanDpns = elanUtils.getElanDpnInterfacesList(elanInfo.getElanInstanceName());
listBucketInfo.addAll(getRemoteBCGroupTunnelBuckets(elanDpns, dpnId, bucketId, elanTag));
listBucketInfo.addAll(getRemoteBCGroupExternalPortBuckets(elanDpns, dpnInterfaces, dpnId, bucketId));
return listBucketInfo;
}
+ @SuppressWarnings("checkstyle:IllegalCatch")
private List<Bucket> getRemoteBCGroupTunnelBuckets(ElanDpnInterfacesList elanDpns, BigInteger dpnId, int bucketId,
long elanTag) {
- List<Bucket> listBucketInfo = new ArrayList<Bucket>();
+ List<Bucket> listBucketInfo = new ArrayList<>();
if (elanDpns != null) {
for (DpnInterfaces dpnInterface : elanDpns.getDpnInterfaces()) {
if (elanUtils.isDpnPresent(dpnInterface.getDpId()) && dpnInterface.getDpId() != dpnId
MDSALUtil.WATCH_PORT, MDSALUtil.WATCH_GROUP));
bucketId++;
} catch (Exception ex) {
- logger.error("Logical Group Interface not found between source Dpn - {}, destination Dpn - {} ",
- dpnId, dpnInterface.getDpId());
+ LOG.error("Logical Group Interface not found between source Dpn - {}, destination Dpn - {} ",
+ dpnId, dpnInterface.getDpId(), ex);
}
}
}
return Collections.emptyList();
}
- List<Bucket> listBucketInfo = new ArrayList<Bucket>();
+ List<Bucket> listBucketInfo = new ArrayList<>();
for (String interfaceName : currDpnInterfaces.getInterfaces()) {
if (elanUtils.isExternal(interfaceName)) {
List<Action> listActionInfo = elanUtils.getExternalPortItmEgressAction(interfaceName);
return null;
}
+ @SuppressWarnings("checkstyle:IllegalCatch")
private void setElanBCGrouponOtherDpns(ElanInstance elanInfo, long elanTag, BigInteger dpId, WriteTransaction tx) {
- long groupId = ElanUtils.getElanRemoteBCGID(elanTag);
- List<Bucket> listBucket = new ArrayList<Bucket>();
+ long groupId = ElanUtils.getElanRemoteBCGId(elanTag);
+ List<Bucket> listBucket = new ArrayList<>();
int bucketId = 0;
ElanDpnInterfacesList elanDpns = elanUtils.getElanDpnInterfacesList(elanInfo.getElanInstanceName());
if (elanDpns != null) {
List<DpnInterfaces> dpnInterfaceses = elanDpns.getDpnInterfaces();
for (DpnInterfaces dpnInterface : dpnInterfaceses) {
- List<Bucket> remoteListBucketInfo = new ArrayList<Bucket>();
+ List<Bucket> remoteListBucketInfo = new ArrayList<>();
if (elanUtils.isDpnPresent(dpnInterface.getDpId()) && !dpnInterface.getDpId().equals(dpId)
&& dpnInterface.getInterfaces() != null && !dpnInterface.getInterfaces().isEmpty()) {
- List<Action> listAction = new ArrayList<Action>();
+ List<Action> listAction = new ArrayList<>();
int actionKey = 0;
- listAction.add((new ActionInfo(ActionType.group,
- new String[] { String.valueOf(ElanUtils.getElanLocalBCGID(elanTag)) }, ++actionKey))
+ listAction.add(new ActionInfo(ActionType.group,
+ new String[] { String.valueOf(ElanUtils.getElanLocalBCGId(elanTag)) }, ++actionKey)
.buildAction());
listBucket.add(MDSALUtil.buildBucket(listAction, MDSALUtil.GROUP_WEIGHT, bucketId,
MDSALUtil.WATCH_PORT, MDSALUtil.WATCH_GROUP));
bucketId++;
}
} catch (Exception ex) {
- logger.error(
- "Logical Group Interface not found between source Dpn - {}, destination Dpn - {} ",
- dpnInterface.getDpId(), otherFes.getDpId());
+ LOG.error("setElanBCGrouponOtherDpns failed due to Exception caught; "
+ + "Logical Group Interface not found between source Dpn - {}, "
+ + "destination Dpn - {} ", dpnInterface.getDpId(), otherFes.getDpId(), ex);
return;
}
}
remoteListBucketInfo.addAll(elanL2GwDevicesBuckets);
if (remoteListBucketInfo.size() == 0) {
- logger.debug("No ITM is present on Dpn - {} ", dpnInterface.getDpId());
+ LOG.debug("No ITM is present on Dpn - {} ", dpnInterface.getDpId());
continue;
}
Group group = MDSALUtil.buildGroup(groupId, elanInfo.getElanInstanceName(), GroupTypes.GroupAll,
}
private List<MatchInfo> getMatchesForElanTag(long elanTag, boolean isSHFlagSet) {
- List<MatchInfo> mkMatches = new ArrayList<MatchInfo>();
+ List<MatchInfo> mkMatches = new ArrayList<>();
// Matching metadata
mkMatches.add(new MatchInfo(MatchFieldType.metadata, new BigInteger[] {
ElanUtils.getElanMetadataLabel(elanTag, isSHFlagSet), MetaDataUtil.METADATA_MASK_SERVICE_SH_FLAG }));
/**
* Builds the list of instructions to be installed in the External Tunnel
* table (38), which so far consists in writing the elanTag in metadata and
- * send packet to the new DHCP table
+ * send packet to the new DHCP table.
*
* @param elanTag
* elanTag to be written in metadata when flow is selected
* @return the instructions ready to be installed in a flow
*/
private List<InstructionInfo> getInstructionsExtTunnelTable(Long elanTag) {
- List<InstructionInfo> mkInstructions = new ArrayList<InstructionInfo>();
+ List<InstructionInfo> mkInstructions = new ArrayList<>();
mkInstructions.add(new InstructionInfo(InstructionType.write_metadata,
new BigInteger[] { ElanUtils.getElanMetadataLabel(elanTag), ElanUtils.getElanMetadataMask() }));
// TODO: We should point to SMAC or DMAC depending on a configuration
}
// Install DMAC entry on dst DPN
- public void installDMacAddressTables(ElanInstance elanInfo, InterfaceInfo interfaceInfo, BigInteger dstDpId) {
+ public void installDMacAddressTables(ElanInstance elanInfo, InterfaceInfo interfaceInfo, BigInteger dstDpId)
+ throws ElanException {
String interfaceName = interfaceInfo.getInterfaceName();
ElanInterfaceMac elanInterfaceMac = elanUtils.getElanInterfaceMacByInterfaceName(interfaceName);
if (elanInterfaceMac != null && elanInterfaceMac.getMacEntry() != null) {
}
public void setupStandardElanBroadcastGroups(ElanInstance elanInfo, DpnInterfaces dpnInterfaces, BigInteger dpnId) {
- List<Bucket> listBucket = new ArrayList<Bucket>();
+ List<Bucket> listBucket = new ArrayList<>();
int bucketId = 0;
int actionKey = 0;
Long elanTag = elanInfo.getElanTag();
- List<Action> listAction = new ArrayList<Action>();
- listAction.add((new ActionInfo(ActionType.group,
- new String[] { String.valueOf(ElanUtils.getElanLocalBCGID(elanTag)) }, ++actionKey)).buildAction());
+ List<Action> listAction = new ArrayList<>();
+ listAction.add(new ActionInfo(ActionType.group,
+ new String[] { String.valueOf(ElanUtils.getElanLocalBCGId(elanTag)) }, ++actionKey).buildAction());
listBucket.add(MDSALUtil.buildBucket(listAction, MDSALUtil.GROUP_WEIGHT, bucketId, MDSALUtil.WATCH_PORT,
MDSALUtil.WATCH_GROUP));
bucketId++;
List<Bucket> listBucketInfoRemote = getRemoteBCGroupBuckets(elanInfo, dpnInterfaces, dpnId, bucketId,
elanInfo.getElanTag());
listBucket.addAll(listBucketInfoRemote);
- long groupId = ElanUtils.getElanRemoteBCGID(elanTag);
+ long groupId = ElanUtils.getElanRemoteBCGId(elanTag);
Group group = MDSALUtil.buildGroup(groupId, elanInfo.getElanInstanceName(), GroupTypes.GroupAll,
MDSALUtil.buildBucketLists(listBucket));
- logger.trace("Installing the remote BroadCast Group:{}", group);
+ LOG.trace("Installing the remote BroadCast Group:{}", group);
mdsalManager.syncInstallGroup(dpnId, group, ElanConstants.DELAY_TIME_IN_MILLISECOND);
}
EtreeInstance etreeInstance = elanInfo.getAugmentation(EtreeInstance.class);
if (etreeInstance != null) {
long etreeLeafTag = etreeInstance.getEtreeLeafTagVal().getValue();
- List<Bucket> listBucket = new ArrayList<Bucket>();
+ List<Bucket> listBucket = new ArrayList<>();
int bucketId = 0;
int actionKey = 0;
- List<Action> listAction = new ArrayList<Action>();
- listAction.add((new ActionInfo(ActionType.group,
- new String[] { String.valueOf(ElanUtils.getEtreeLeafLocalBCGID(etreeLeafTag)) }, ++actionKey))
+ List<Action> listAction = new ArrayList<>();
+ listAction.add(new ActionInfo(ActionType.group,
+ new String[] { String.valueOf(ElanUtils.getEtreeLeafLocalBCGId(etreeLeafTag)) }, ++actionKey)
.buildAction());
listBucket.add(MDSALUtil.buildBucket(listAction, MDSALUtil.GROUP_WEIGHT, bucketId, MDSALUtil.WATCH_PORT,
MDSALUtil.WATCH_GROUP));
List<Bucket> listBucketInfoRemote = getRemoteBCGroupBuckets(elanInfo, dpnInterfaces, dpnId, bucketId,
etreeLeafTag);
listBucket.addAll(listBucketInfoRemote);
- long groupId = ElanUtils.getEtreeLeafRemoteBCGID(etreeLeafTag);
+ long groupId = ElanUtils.getEtreeLeafRemoteBCGId(etreeLeafTag);
Group group = MDSALUtil.buildGroup(groupId, elanInfo.getElanInstanceName(), GroupTypes.GroupAll,
MDSALUtil.buildBucketLists(listBucket));
- logger.trace("Installing the remote BroadCast Group:{}", group);
+ LOG.trace("Installing the remote BroadCast Group:{}", group);
mdsalManager.syncInstallGroup(dpnId, group,
ElanConstants.DELAY_TIME_IN_MILLISECOND);
}
}
private void createDropBucket(List<Bucket> listBucket) {
- List<Action> actionsInfos = new ArrayList<Action>();
+ List<Action> actionsInfos = new ArrayList<>();
actionsInfos.add(new ActionInfo(ActionType.drop_action, new String[] {}).buildAction());
Bucket dropBucket = MDSALUtil.buildBucket(actionsInfos, MDSALUtil.GROUP_WEIGHT, 0, MDSALUtil.WATCH_PORT,
MDSALUtil.WATCH_GROUP);
public void setupStandardLocalBroadcastGroups(ElanInstance elanInfo, DpnInterfaces newDpnInterface,
InterfaceInfo interfaceInfo) {
- List<Bucket> listBucket = new ArrayList<Bucket>();
+ List<Bucket> listBucket = new ArrayList<>();
int bucketId = 0;
- long groupId = ElanUtils.getElanLocalBCGID(elanInfo.getElanTag());
+ long groupId = ElanUtils.getElanLocalBCGId(elanInfo.getElanTag());
- List<String> interfaces = new ArrayList<String>();
+ List<String> interfaces = new ArrayList<>();
if (newDpnInterface != null) {
interfaces = newDpnInterface.getInterfaces();
}
Group group = MDSALUtil.buildGroup(groupId, elanInfo.getElanInstanceName(), GroupTypes.GroupAll,
MDSALUtil.buildBucketLists(listBucket));
- logger.trace("installing the localBroadCast Group:{}", group);
+ LOG.trace("installing the localBroadCast Group:{}", group);
mdsalManager.syncInstallGroup(interfaceInfo.getDpId(), group,
ElanConstants.DELAY_TIME_IN_MILLISECOND);
}
InterfaceInfo interfaceInfo) {
EtreeInstance etreeInstance = elanInfo.getAugmentation(EtreeInstance.class);
if (etreeInstance != null) {
- long etreeLeafTag = etreeInstance.getEtreeLeafTagVal().getValue();
- List<Bucket> listBucket = new ArrayList<Bucket>();
+ List<Bucket> listBucket = new ArrayList<>();
int bucketId = 0;
- long groupId = ElanUtils.getEtreeLeafLocalBCGID(etreeLeafTag);
- List<String> interfaces = new ArrayList<String>();
+ List<String> interfaces = new ArrayList<>();
if (newDpnInterface != null) {
interfaces = newDpnInterface.getInterfaces();
}
createDropBucket(listBucket);
}
+ long etreeLeafTag = etreeInstance.getEtreeLeafTagVal().getValue();
+ long groupId = ElanUtils.getEtreeLeafLocalBCGId(etreeLeafTag);
Group group = MDSALUtil.buildGroup(groupId, elanInfo.getElanInstanceName(), GroupTypes.GroupAll,
MDSALUtil.buildBucketLists(listBucket));
- logger.trace("installing the localBroadCast Group:{}", group);
+ LOG.trace("installing the localBroadCast Group:{}", group);
mdsalManager.syncInstallGroup(interfaceInfo.getDpId(), group,
ElanConstants.DELAY_TIME_IN_MILLISECOND);
}
private int addInterfaceIfRootInterface(int bucketId, String ifName, List<Bucket> listBucket,
InterfaceInfo ifInfo) {
- EtreeInterface etreeInterface = elanUtils.getEtreeInterfaceByElanInterfaceName(ifName);
+ EtreeInterface etreeInterface = ElanUtils.getEtreeInterfaceByElanInterfaceName(broker, ifName);
if (etreeInterface != null && etreeInterface.getEtreeInterfaceType() == EtreeInterfaceType.Root) {
listBucket.add(MDSALUtil.buildBucket(getInterfacePortActions(ifInfo), MDSALUtil.GROUP_WEIGHT, bucketId,
MDSALUtil.WATCH_PORT, MDSALUtil.WATCH_GROUP));
public void removeLocalBroadcastGroup(ElanInstance elanInfo, InterfaceInfo interfaceInfo,
WriteTransaction deleteFlowGroupTx) {
BigInteger dpnId = interfaceInfo.getDpId();
- long groupId = ElanUtils.getElanLocalBCGID(elanInfo.getElanTag());
+ long groupId = ElanUtils.getElanLocalBCGId(elanInfo.getElanTag());
List<Bucket> listBuckets = new ArrayList<>();
int bucketId = 0;
listBuckets.add(getLocalBCGroupBucketInfo(interfaceInfo, bucketId));
// interfaceInfo));
Group group = MDSALUtil.buildGroup(groupId, elanInfo.getElanInstanceName(), GroupTypes.GroupAll,
MDSALUtil.buildBucketLists(listBuckets));
- logger.trace("deleted the localBroadCast Group:{}", group);
+ LOG.trace("deleted the localBroadCast Group:{}", group);
mdsalManager.removeGroupToTx(dpnId, group, deleteFlowGroupTx);
}
int actionKey = 0;
Long elanTag = elanInfo.getElanTag();
List<Bucket> listBuckets = new ArrayList<>();
- List<Action> listAction = new ArrayList<Action>();
- listAction.add((new ActionInfo(ActionType.group,
- new String[] { String.valueOf(ElanUtils.getElanLocalBCGID(elanTag)) }, ++actionKey)).buildAction());
+ List<Action> listAction = new ArrayList<>();
+ listAction.add(new ActionInfo(ActionType.group,
+ new String[] { String.valueOf(ElanUtils.getElanLocalBCGId(elanTag)) }, ++actionKey).buildAction());
listBuckets.add(MDSALUtil.buildBucket(listAction, MDSALUtil.GROUP_WEIGHT, bucketId, MDSALUtil.WATCH_PORT,
MDSALUtil.WATCH_GROUP));
bucketId++;
listBuckets.addAll(getRemoteBCGroupBucketInfos(elanInfo, bucketId, interfaceInfo, elanInfo.getElanTag()));
BigInteger dpnId = interfaceInfo.getDpId();
- long groupId = ElanUtils.getElanRemoteBCGID(elanInfo.getElanTag());
+ long groupId = ElanUtils.getElanRemoteBCGId(elanInfo.getElanTag());
Group group = MDSALUtil.buildGroup(groupId, elanInfo.getElanInstanceName(), GroupTypes.GroupAll,
MDSALUtil.buildBucketLists(listBuckets));
- logger.trace("deleting the remoteBroadCast group:{}", group);
+ LOG.trace("deleting the remoteBroadCast group:{}", group);
mdsalManager.removeGroupToTx(dpnId, group, deleteFlowGroupTx);
}
setupEtreeTerminateServiceTable(elanInfo, dpId, writeFlowGroupTx);
}
- private void setupEtreeTerminateServiceTable(ElanInstance elanInfo, BigInteger dpId,
- WriteTransaction writeFlowGroupTx) {
- EtreeInstance etreeInstance = elanInfo.getAugmentation(EtreeInstance.class);
- if (etreeInstance != null) {
- setupTerminateServiceTable(elanInfo, dpId, etreeInstance.getEtreeLeafTagVal().getValue(), writeFlowGroupTx);
- }
- }
-
public void setupTerminateServiceTable(ElanInstance elanInfo, BigInteger dpId, long elanTag,
WriteTransaction writeFlowGroupTx) {
Flow flowEntity = MDSALUtil.buildFlowNew(NwConstants.INTERNAL_TUNNEL_TABLE,
String.format("%s:%d", "ITM Flow Entry ", elanTag), 0, 0,
ITMConstants.COOKIE_ITM.add(BigInteger.valueOf(elanTag)),
ElanUtils.getTunnelMatchesForServiceId((int) elanTag),
- getInstructionsForOutGroup(ElanUtils.getElanLocalBCGID(elanTag)));
+ getInstructionsForOutGroup(ElanUtils.getElanLocalBCGId(elanTag)));
mdsalManager.addFlowToTx(dpId, flowEntity, writeFlowGroupTx);
}
+ private void setupEtreeTerminateServiceTable(ElanInstance elanInfo, BigInteger dpId,
+ WriteTransaction writeFlowGroupTx) {
+ EtreeInstance etreeInstance = elanInfo.getAugmentation(EtreeInstance.class);
+ if (etreeInstance != null) {
+ setupTerminateServiceTable(elanInfo, dpId, etreeInstance.getEtreeLeafTagVal().getValue(), writeFlowGroupTx);
+ }
+ }
+
public void setupUnknownDMacTable(ElanInstance elanInfo, BigInteger dpId, WriteTransaction writeFlowGroupTx) {
long elanTag = elanInfo.getElanTag();
installLocalUnknownFlow(elanInfo, dpId, elanTag, writeFlowGroupTx);
5, elanInfo.getElanInstanceName(), 0, 0,
ElanConstants.COOKIE_ELAN_UNKNOWN_DMAC.add(BigInteger.valueOf(elanTag)),
getMatchesForElanTag(elanTag, /* SH flag */false),
- getInstructionsForOutGroup(ElanUtils.getElanRemoteBCGID(elanTag)));
+ getInstructionsForOutGroup(ElanUtils.getElanRemoteBCGId(elanTag)));
mdsalManager.addFlowToTx(dpId, flowEntity, writeFlowGroupTx);
}
5, elanInfo.getElanInstanceName(), 0, 0,
ElanConstants.COOKIE_ELAN_UNKNOWN_DMAC.add(BigInteger.valueOf(elanTag)),
getMatchesForElanTag(elanTag, /* SH flag */true),
- getInstructionsForOutGroup(ElanUtils.getElanLocalBCGID(elanTag)));
+ getInstructionsForOutGroup(ElanUtils.getElanLocalBCGId(elanTag)));
mdsalManager.addFlowToTx(dpId, flowEntity2, writeFlowGroupTx);
}
}
private void bindElanService(long elanTag, String elanInstanceName, String interfaceName, WriteTransaction tx) {
int priority = ElanConstants.ELAN_SERVICE_PRIORITY;
int instructionKey = 0;
- List<Instruction> instructions = new ArrayList<Instruction>();
+ List<Instruction> instructions = new ArrayList<>();
instructions.add(MDSALUtil.buildAndGetWriteMetadaInstruction(ElanUtils.getElanMetadataLabel(elanTag),
MetaDataUtil.METADATA_MASK_SERVICE, ++instructionKey));
instructions.add(MDSALUtil.buildAndGetGotoTableInstruction(NwConstants.ELAN_SMAC_TABLE, ++instructionKey));
- short elan_service_index = ServiceIndex.getIndex(NwConstants.ELAN_SERVICE_NAME, NwConstants.ELAN_SERVICE_INDEX);
+ short elanServiceIndex = ServiceIndex.getIndex(NwConstants.ELAN_SERVICE_NAME, NwConstants.ELAN_SERVICE_INDEX);
BoundServices serviceInfo = ElanUtils.getBoundServices(
- String.format("%s.%s.%s", "vpn", elanInstanceName, interfaceName), elan_service_index,
+ String.format("%s.%s.%s", "vpn", elanInstanceName, interfaceName), elanServiceIndex,
priority, NwConstants.COOKIE_ELAN_INGRESS_TABLE, instructions);
tx.put(LogicalDatastoreType.CONFIGURATION,
- ElanUtils.buildServiceId(interfaceName, elan_service_index), serviceInfo, true);
+ ElanUtils.buildServiceId(interfaceName, elanServiceIndex), serviceInfo, true);
}
private void bindEtreeService(ElanInstance elanInfo, ElanInterface elanInterface, WriteTransaction tx) {
} else {
EtreeInstance etreeInstance = elanInfo.getAugmentation(EtreeInstance.class);
if (etreeInstance == null) {
- logger.error("EtreeInterface " + elanInterface.getName() + " is associated with a non EtreeInstance: "
+ LOG.error("EtreeInterface " + elanInterface.getName() + " is associated with a non EtreeInstance: "
+ elanInfo.getElanInstanceName());
} else {
bindElanService(etreeInstance.getEtreeLeafTagVal().getValue(), elanInfo.getElanInstanceName(),
}
private void unbindService(ElanInstance elanInfo, String interfaceName, WriteTransaction tx) {
- tx.delete(LogicalDatastoreType.CONFIGURATION,
- ElanUtils.buildServiceId(interfaceName, ServiceIndex.getIndex(NwConstants.ELAN_SERVICE_NAME, NwConstants.ELAN_SERVICE_INDEX)));
+ tx.delete(LogicalDatastoreType.CONFIGURATION, ElanUtils.buildServiceId(interfaceName,
+ ServiceIndex.getIndex(NwConstants.ELAN_SERVICE_NAME, NwConstants.ELAN_SERVICE_INDEX)));
}
private String getFlowRef(long tableId, long elanTag) {
}
private List<Action> getInterfacePortActions(InterfaceInfo interfaceInfo) {
- List<Action> listAction = new ArrayList<Action>();
+ List<Action> listAction = new ArrayList<>();
int actionKey = 0;
- listAction.add((new ActionInfo(ActionType.set_field_tunnel_id,
- new BigInteger[] { BigInteger.valueOf(interfaceInfo.getInterfaceTag()) }, actionKey)).buildAction());
+ listAction.add(new ActionInfo(ActionType.set_field_tunnel_id,
+ new BigInteger[] { BigInteger.valueOf(interfaceInfo.getInterfaceTag()) }, actionKey).buildAction());
actionKey++;
- listAction.add((new ActionInfo(ActionType.nx_resubmit,
- new String[] { String.valueOf(NwConstants.ELAN_FILTER_EQUALS_TABLE) }, actionKey)).buildAction());
+ listAction.add(new ActionInfo(ActionType.nx_resubmit,
+ new String[] { String.valueOf(NwConstants.ELAN_FILTER_EQUALS_TABLE) }, actionKey).buildAction());
return listAction;
}
private DpnInterfaces createElanInterfacesList(String elanInstanceName, String interfaceName, BigInteger dpId,
WriteTransaction tx) {
- List<String> interfaceNames = new ArrayList<String>();
+ List<String> interfaceNames = new ArrayList<>();
interfaceNames.add(interfaceName);
DpnInterfaces dpnInterface = new DpnInterfacesBuilder().setDpId(dpId).setInterfaces(interfaceNames)
.setKey(new DpnInterfacesKey(dpId)).build();
return interfaceInfo.getAdminState() == InterfaceInfo.InterfaceAdminState.ENABLED;
}
- public void handleInternalTunnelStateEvent(BigInteger srcDpId, BigInteger dstDpId) {
+ public void handleInternalTunnelStateEvent(BigInteger srcDpId, BigInteger dstDpId) throws ElanException {
ElanDpnInterfaces dpnInterfaceLists = elanUtils.getElanDpnInterfacesList();
if (dpnInterfaceLists == null) {
return;
}
}
if (cnt == 2) {
- logger.debug("Elan instance:{} is present b/w srcDpn:{} and dstDpn:{}", elanName, srcDpId, dstDpId);
- ElanInstance elanInfo = elanUtils.getElanInstanceByName(elanName);
+ LOG.debug("Elan instance:{} is present b/w srcDpn:{} and dstDpn:{}", elanName, srcDpId, dstDpId);
+ ElanInstance elanInfo = ElanUtils.getElanInstanceByName(broker, elanName);
// update Remote BC Group
setupElanBroadcastGroups(elanInfo, srcDpId);
* the external tunnel
* @param intrf
* the interface
+ * @throws ElanException in case of issues creating the flow objects
*/
- public void handleExternalTunnelStateEvent(ExternalTunnel externalTunnel, Interface intrf) {
+ public void handleExternalTunnelStateEvent(ExternalTunnel externalTunnel, Interface intrf) throws ElanException {
if (!validateExternalTunnelStateEvent(externalTunnel, intrf)) {
return;
}
externalNodeId = new NodeId(externalTunnel.getSourceDevice());
}
if (dpId == null || externalNodeId == null) {
- logger.error("Dp ID / externalNodeId not found in external tunnel {}", externalTunnel);
+ LOG.error("Dp ID / externalNodeId not found in external tunnel {}", externalTunnel);
return;
}
List<ElanDpnInterfacesList> elanDpnIf = dpnInterfaceLists.getElanDpnInterfacesList();
for (ElanDpnInterfacesList elanDpns : elanDpnIf) {
String elanName = elanDpns.getElanInstanceName();
- ElanInstance elanInfo = elanUtils.getElanInstanceByName(elanName);
+ ElanInstance elanInfo = ElanUtils.getElanInstanceByName(broker, elanName);
DpnInterfaces dpnInterfaces = elanUtils.getElanInterfaceInfoByElanDpn(elanName, dpId);
if (dpnInterfaces == null || dpnInterfaces.getInterfaces() == null
|| dpnInterfaces.getInterfaces().isEmpty()) {
continue;
}
- logger.debug("Elan instance:{} is present in Dpn:{} ", elanName, dpId);
+ LOG.debug("Elan instance:{} is present in Dpn:{} ", elanName, dpId);
setupElanBroadcastGroups(elanInfo, dpId);
// install L2gwDevices local macs in dpn.
elanL2GatewayUtils.installDpnMacsInL2gwDevice(elanName, new HashSet<>(dpnInterfaces.getInterfaces()), dpId,
externalNodeId);
}
- logger.info("Handled ExternalTunnelStateEvent for {}", externalTunnel);
+ LOG.info("Handled ExternalTunnelStateEvent for {}", externalTunnel);
}
/**
String destDevice = externalTunnel.getSourceDevice();
ExternalTunnel otherEndPointExtTunnel = elanUtils.getExternalTunnel(srcDevice, destDevice,
LogicalDatastoreType.CONFIGURATION);
- if (logger.isTraceEnabled()) {
- logger.trace("Validating external tunnel state: src tunnel {}, dest tunnel {}", externalTunnel,
+ if (LOG.isTraceEnabled()) {
+ LOG.trace("Validating external tunnel state: src tunnel {}, dest tunnel {}", externalTunnel,
otherEndPointExtTunnel);
}
if (otherEndPointExtTunnel != null) {
if (otherEndPointInterfaceOperational) {
return true;
} else {
- logger.debug("Other end [{}] of the external tunnel is not yet UP for {}",
+ LOG.debug("Other end [{}] of the external tunnel is not yet UP for {}",
otherEndPointExtTunnel.getTunnelInterfaceName(), externalTunnel);
}
}
return false;
}
- private List<MatchInfo> getMatchesForFilterEqualsLPortTag(int LportTag) {
- List<MatchInfo> mkMatches = new ArrayList<MatchInfo>();
+ private List<MatchInfo> getMatchesForFilterEqualsLPortTag(int lportTag) {
+ List<MatchInfo> mkMatches = new ArrayList<>();
// Matching metadata
mkMatches.add(new MatchInfo(MatchFieldType.metadata,
- new BigInteger[] { MetaDataUtil.getLportTagMetaData(LportTag), MetaDataUtil.METADATA_MASK_LPORT_TAG }));
- mkMatches.add(new MatchInfo(MatchFieldType.tunnel_id, new BigInteger[] { BigInteger.valueOf(LportTag) }));
+ new BigInteger[] { MetaDataUtil.getLportTagMetaData(lportTag), MetaDataUtil.METADATA_MASK_LPORT_TAG }));
+ mkMatches.add(new MatchInfo(MatchFieldType.tunnel_id, new BigInteger[] { BigInteger.valueOf(lportTag) }));
return mkMatches;
}
- private List<MatchInfo> getTunnelIdMatchForFilterEqualsLPortTag(int LportTag) {
- List<MatchInfo> mkMatches = new ArrayList<MatchInfo>();
+ private List<MatchInfo> getTunnelIdMatchForFilterEqualsLPortTag(int lportTag) {
+ List<MatchInfo> mkMatches = new ArrayList<>();
// Matching metadata
- mkMatches.add(new MatchInfo(MatchFieldType.tunnel_id, new BigInteger[] { BigInteger.valueOf(LportTag) }));
+ mkMatches.add(new MatchInfo(MatchFieldType.tunnel_id, new BigInteger[] { BigInteger.valueOf(lportTag) }));
return mkMatches;
}
public List<Bucket> getRemoteBCGroupBucketsOfElanL2GwDevices(ElanInstance elanInfo, BigInteger dpnId,
int bucketId) {
- List<Bucket> listBucketInfo = new ArrayList<Bucket>();
+ List<Bucket> listBucketInfo = new ArrayList<>();
ConcurrentMap<String, L2GatewayDevice> map = ElanL2GwCacheUtils
.getInvolvedL2GwDevices(elanInfo.getElanInstanceName());
for (L2GatewayDevice device : map.values()) {