Set VRF-ID metadata so it would not to override split-horizon bit 18/42918/2
authorTali <tali.ben-meir@hpe.com>
Mon, 1 Aug 2016 14:05:27 +0000 (17:05 +0300)
committerTali <tali.ben-meir@hpe.com>
Tue, 2 Aug 2016 15:46:17 +0000 (18:46 +0300)
Change-Id: I00fe8f6dd8b8828bfcda0c8d478a5a6619138f28
Signed-off-by: Tali <tali.ben-meir@hpe.com>
mdsalutil/mdsalutil-api/src/main/java/org/opendaylight/genius/mdsalutil/MetaDataUtil.java

index aec8ad685c71cbc635fdaf620000af907d6493d7..629771fa44d3483a98e158f68e3cd64e096ddf65 100644 (file)
@@ -83,11 +83,15 @@ public class MetaDataUtil {
     }
 
     public static long getNatRouterIdFromMetadata(BigInteger metadata){
-        return (metadata.and(METADATA_MASK_VRFID)).longValue();
+        return getVpnIdFromMetadata(metadata);
+    }
+
+    public static BigInteger getVpnIdMetadata(long vrfId) {
+        return METADATA_MASK_VRFID.and(BigInteger.valueOf(vrfId).shiftLeft(1));
     }
 
     public static long getVpnIdFromMetadata(BigInteger metadata) {
-        return (metadata.and(METADATA_MASK_VRFID)).longValue();
+        return (metadata.and(METADATA_MASK_VRFID).shiftRight(1)).longValue();
     }
     public static BigInteger getWriteMetaDataMaskForDispatcherTable() {
         return new BigInteger("FFFFFFFFFFFFFFFE", 16);