From: Abhinav Gupta Date: Thu, 11 Jun 2015 12:30:09 +0000 (+0530) Subject: Cherry Pick to Master - Fix for Bug3644 X-Git-Tag: release/beryllium~112 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=vpnservice.git;a=commitdiff_plain;h=52c17b5579cf896ed425604ee744190fc710540e Cherry Pick to Master - Fix for Bug3644 Fix for Bug3644 - Same labels for route in diff vpns Overlapping IPs in separate VPNs were assigned same label based on nexthopip. Fix modifies the way label is created using key as rd+nexthopip info Change-Id: I4a0717c0c3f69975284294be7af445b380f409bc Signed-off-by: Abhinav Gupta (cherry picked from commit 7ece688c41702efe0c4e4c5b8be0785f4622848c) --- diff --git a/vpnmanager/vpnmanager-impl/src/main/java/org/opendaylight/vpnservice/VpnConstants.java b/vpnmanager/vpnmanager-impl/src/main/java/org/opendaylight/vpnservice/VpnConstants.java index 3fc28972..601f17c7 100644 --- a/vpnmanager/vpnmanager-impl/src/main/java/org/opendaylight/vpnservice/VpnConstants.java +++ b/vpnmanager/vpnmanager-impl/src/main/java/org/opendaylight/vpnservice/VpnConstants.java @@ -17,4 +17,5 @@ public class VpnConstants { public static final short FIB_TABLE = 21; public static final short DEFAULT_FLOW_PRIORITY = 10; public static final long INVALID_ID = -1; + public static final String SEPARATOR = "."; } diff --git a/vpnmanager/vpnmanager-impl/src/main/java/org/opendaylight/vpnservice/VpnInterfaceManager.java b/vpnmanager/vpnmanager-impl/src/main/java/org/opendaylight/vpnservice/VpnInterfaceManager.java index 92f990df..02d77ad4 100644 --- a/vpnmanager/vpnmanager-impl/src/main/java/org/opendaylight/vpnservice/VpnInterfaceManager.java +++ b/vpnmanager/vpnmanager-impl/src/main/java/org/opendaylight/vpnservice/VpnInterfaceManager.java @@ -201,7 +201,7 @@ public class VpnInterfaceManager extends AbstractDataChangeListener interfaceId = VpnUtil.getVpnInterfaceIdentifier(intfName); syncWrite(LogicalDatastoreType.OPERATIONAL, interfaceId, opInterface, DEFAULT_CALLBACK); for (Adjacency nextHop : nextHops) { - String key = nextHop.getIpAddress(); + String key = rd + VpnConstants.SEPARATOR + nextHop.getIpAddress(); long label = getUniqueId(key); updatePrefixToBGP(rd, nextHop, nextHopIp, label); } @@ -494,7 +494,8 @@ public class VpnInterfaceManager extends AbstractDataChangeListener