Fixes for VPLS app
- fix intent installion on re-activation
- don't send ARP requests to inport
- send ARP requests to interfaces instead of connect point
Change-Id: I8f9185d174160adb605b8b44e7d7ebddb49bd027
diff --git a/apps/vpls/src/main/java/org/onosproject/vpls/IntentInstaller.java b/apps/vpls/src/main/java/org/onosproject/vpls/IntentInstaller.java
index d1d1d1a..79ed713 100644
--- a/apps/vpls/src/main/java/org/onosproject/vpls/IntentInstaller.java
+++ b/apps/vpls/src/main/java/org/onosproject/vpls/IntentInstaller.java
@@ -16,7 +16,6 @@
package org.onosproject.vpls;
import com.google.common.collect.SetMultimap;
-
import org.apache.commons.lang3.tuple.Pair;
import org.onlab.packet.MacAddress;
import org.onlab.packet.VlanId;
@@ -101,22 +100,21 @@
.collect(Collectors.toSet());
Key brcKey = buildKey(PREFIX_BROADCAST, src, vlanId);
- if (intentService.getIntent(brcKey) == null && dsts.size() > 0) {
- intents.add(buildBrcIntent(brcKey, src, dsts, vlanId));
+ if (dsts.isEmpty()) {
+ return;
}
- if (mac != null && countMacInCPoints(cPoints) > 1 &&
- dsts.size() > 0) {
+ intents.add(buildBrcIntent(brcKey, src, dsts, vlanId));
+
+ if (mac != null && countMacInCPoints(cPoints) > 1) {
Key uniKey = buildKey(PREFIX_UNICAST, src, vlanId);
- if (intentService.getIntent(uniKey) == null) {
- MultiPointToSinglePointIntent uniIntent =
- buildUniIntent(uniKey,
- dsts,
- src,
- vlanId,
- mac);
- intents.add(uniIntent);
- }
+ MultiPointToSinglePointIntent uniIntent =
+ buildUniIntent(uniKey,
+ dsts,
+ src,
+ vlanId,
+ mac);
+ intents.add(uniIntent);
}
});
});
diff --git a/apps/vpls/src/main/java/org/onosproject/vpls/Vpls.java b/apps/vpls/src/main/java/org/onosproject/vpls/Vpls.java
index 298615b..2951d13 100644
--- a/apps/vpls/src/main/java/org/onosproject/vpls/Vpls.java
+++ b/apps/vpls/src/main/java/org/onosproject/vpls/Vpls.java
@@ -100,13 +100,13 @@
setupConnectivity();
- log.debug("Activated");
+ log.info("Activated");
}
@Deactivate
public void deactivate() {
intentSynchronizer.removeIntentsByAppId(appId);
- log.debug("Deactivated");
+ log.info("Deactivated");
}
protected void setupConnectivity() {
diff --git a/apps/vpls/src/main/java/org/onosproject/vpls/VplsNeighbourHandler.java b/apps/vpls/src/main/java/org/onosproject/vpls/VplsNeighbourHandler.java
index dad993b..69b8e34 100644
--- a/apps/vpls/src/main/java/org/onosproject/vpls/VplsNeighbourHandler.java
+++ b/apps/vpls/src/main/java/org/onosproject/vpls/VplsNeighbourHandler.java
@@ -126,7 +126,7 @@
case REQUEST:
interfaceService.getInterfacesByVlan(context.vlan())
.stream()
- .map(Interface::connectPoint)
+ .filter(intf -> !context.inPort().equals(intf.connectPoint()))
.forEach(context::forward);
break;
case REPLY: