private static Adjacencies buildInterfaceAdjacency(String ipAddress, MacAddress macAddress, boolean primary,
String nextHopIp) {
AdjacenciesBuilder builder = new AdjacenciesBuilder();
- List<Adjacency> list = new ArrayList<Adjacency>();
+ List<Adjacency> list = new ArrayList<>();
AdjacencyBuilder aBuilder = new AdjacencyBuilder();
aBuilder.setIpAddress(ipAddress);
- aBuilder.setMacAddress(macAddress.getValue());
+ if (macAddress != null) {
+ aBuilder.setMacAddress(macAddress.getValue());
+ }
aBuilder.setPrimaryAdjacency(primary);
if (nextHopIp != null) {
aBuilder.setNextHopIpList(Arrays.asList(nextHopIp));
logger.info("Publish subnet {}", subnetName);
publishSubnetAddNotification(notificationPublishService, subnetId, subnetIp, vpnName, elanTag);
+ logger.info("Finished Working on subnet {}", subnetName);
}
if (null != portId) {
List<Uuid> portList = builder.getPortList();
if (null == portList) {
- portList = new ArrayList<Uuid>();
+ portList = new ArrayList<>();
}
portList.add(portId);
builder.setPortList(portList);
MacAddress macAddress = null;
int retries = MaxRetries;
while (retries > 0 && macAddress == null) {
+ logger.info("Sending ARP request to dstIp {} take {}", dstIpAddress, MaxRetries - retries + 1);
sendArpRequest(arpUtilService, srcIpAddress, dstIpAddress, interf);
macAddress = waitForArpReplyProcessing(dataBroker, vpnName, dstIpAddress, MaxRetries);
retries--;
public static MacAddress waitForArpReplyProcessing(DataBroker dataBroker, String vpnName, IpAddress dstIpAddress,
int retries) {
while (retries > 0) {
+ logger.info("Waiting for ARP reply from dstIp {} take {}", dstIpAddress, MaxRetries - retries + 1);
InstanceIdentifier<VpnPortipToPort> optionalPortIpId = buildVpnPortipToPortIdentifier(vpnName,
MefUtils.ipAddressToString(dstIpAddress));
Optional<VpnPortipToPort> optionalPortIp = MdsalUtils.read(dataBroker, LogicalDatastoreType.OPERATIONAL,
} else {
sleep();
}
+ retries--;
}
return null;
}