Bug-6084: get restart time from open message error 15/41915/1
authorAjay <ajayl.bro@gmail.com>
Tue, 12 Jul 2016 17:55:09 +0000 (17:55 +0000)
committerMilos Fabian <milfabia@cisco.com>
Sat, 16 Jul 2016 09:29:32 +0000 (09:29 +0000)
- fix size of left-shift while calculating graceful restart capability restart time

Change-Id: I3a286b6e6a4550846e22d3ecc1adf2d7a5fc6c6f
Signed-off-by: Ajay <ajayl.bro@gmail.com>
(cherry picked from commit 47d4ef11c3d12612b990eed107d4a4494953ea47)

bgp/parser-impl/src/main/java/org/opendaylight/protocol/bgp/parser/impl/message/open/GracefulCapabilityHandler.java
bgp/parser-impl/src/test/java/org/opendaylight/protocol/bgp/parser/impl/GracefulCapabilityHandlerTest.java

index 560a53a29a3b53a693e2c2322712660aa9aba481..507460ae4973dc39a6e05a843b943b1557550df5 100644 (file)
@@ -128,7 +128,7 @@ public final class GracefulCapabilityHandler implements CapabilityParser, Capabi
         final int flagBits = (buffer.getByte(0) >> RESTART_FLAGS_SIZE);
         cb.setRestartFlags(new RestartFlags((flagBits & Byte.SIZE) != 0));
 
-        final int timer = ((buffer.readUnsignedByte() & TIMER_TOPBITS_MASK) << RESTART_FLAGS_SIZE) + buffer.readUnsignedByte();
+        final int timer = ((buffer.readUnsignedByte() & TIMER_TOPBITS_MASK) << Byte.SIZE) + buffer.readUnsignedByte();
         cb.setRestartTime(timer);
 
         final List<Tables> tables = new ArrayList<>();
index 8c8981ae1002815600dba6c973dd13cc6a5ad663..95341fb1e20619f42dc900fb50562106c7df5029 100644 (file)
@@ -48,13 +48,13 @@ public class GracefulCapabilityHandlerTest {
             this.ctx.getAddressFamilyRegistry(),this.ctx.getSubsequentAddressFamilyRegistry());
 
         final byte[] capaBytes = {
-            (byte) 0x40, (byte) 0x06, (byte) 0x80, (byte) 0x32,
+            (byte) 0x40, (byte) 0x06, (byte) 0x81, (byte) 0xf4,
             (byte) 0x00, (byte) 0x01, (byte) 0x01, (byte) 0x80
         };
 
         final GracefulRestartCapabilityBuilder capaBuilder = new GracefulRestartCapabilityBuilder();
         capaBuilder.setRestartFlags(new RestartFlags(true));
-        capaBuilder.setRestartTime(50);
+        capaBuilder.setRestartTime(500);
         final TablesBuilder tablesBuilder = new TablesBuilder();
         tablesBuilder.setAfiFlags(new AfiFlags(true));
         tablesBuilder.setAfi(Ipv4AddressFamily.class);