[ONOS-3606] update vtn's bug: if ovs has a plurality of bridge, the code
should filter br-int and get the ports via deviceService.
Change-Id: I3112f1fa5e72460fed77f03ad6cc21858d110276
diff --git a/apps/vtn/vtnmgr/src/main/java/org/onosproject/vtn/manager/impl/VTNManager.java b/apps/vtn/vtnmgr/src/main/java/org/onosproject/vtn/manager/impl/VTNManager.java
index 9213a84..53fa64a 100644
--- a/apps/vtn/vtnmgr/src/main/java/org/onosproject/vtn/manager/impl/VTNManager.java
+++ b/apps/vtn/vtnmgr/src/main/java/org/onosproject/vtn/manager/impl/VTNManager.java
@@ -583,19 +583,22 @@
.behaviour(BridgeConfig.class);
Collection<BridgeDescription> bridgeDescriptions = bridgeConfig
.getBridges();
- Set<PortNumber> ports = bridgeConfig.getPortNumbers();
Iterator<BridgeDescription> it = bridgeDescriptions
.iterator();
- if (it.hasNext()) {
+ while (it.hasNext()) {
BridgeDescription sw = it.next();
- ports.stream()
- .filter(p -> p.name()
- .equalsIgnoreCase(tunnelName))
- .forEach(p -> {
- l2ForwardService.programTunnelOut(sw.deviceId(),
- segmentationId, p,
- dstMac, type, ipAddress);
- });
+ if (sw.bridgeName().name().equals(VtnConfig.DEFAULT_BRIDGE_NAME)) {
+ List<Port> ports = deviceService.getPorts(sw.deviceId());
+ ports.stream()
+ .filter(p -> p.annotations().value(AnnotationKeys.PORT_NAME)
+ .equalsIgnoreCase(tunnelName))
+ .forEach(p -> {
+ l2ForwardService.programTunnelOut(sw.deviceId(),
+ segmentationId, p.number(),
+ dstMac, type, ipAddress);
+ });
+ break;
+ }
}
});
}
diff --git a/apps/vtn/vtnmgr/src/main/java/org/onosproject/vtn/util/VtnConfig.java b/apps/vtn/vtnmgr/src/main/java/org/onosproject/vtn/util/VtnConfig.java
index 5ac0466..0b743a8 100644
--- a/apps/vtn/vtnmgr/src/main/java/org/onosproject/vtn/util/VtnConfig.java
+++ b/apps/vtn/vtnmgr/src/main/java/org/onosproject/vtn/util/VtnConfig.java
@@ -37,7 +37,7 @@
*/
public final class VtnConfig {
- private static final String DEFAULT_BRIDGE_NAME = "br-int";
+ public static final String DEFAULT_BRIDGE_NAME = "br-int";
private static final String DEFAULT_TUNNEL = "vxlan-0.0.0.0";
private static final Map<String, String> DEFAULT_TUNNEL_OPTIONS = new HashMap<String, String>() {
{