BUG-2982 : moved path-attributes container to grouping
[bgpcep.git] / bgp / parser-spi / src / main / java / org / opendaylight / protocol / bgp / parser / spi / pojo / SimpleNlriRegistry.java
index 40b6c2e457fc26b975f62e52b810e54543ec0030..dea47e4e38f77a8f05a7374b22a72aa1c8cdeb18 100644 (file)
@@ -9,14 +9,10 @@ package org.opendaylight.protocol.bgp.parser.spi.pojo;
 
 import com.google.common.base.Preconditions;
 import com.google.common.collect.Iterables;
-import com.google.common.primitives.UnsignedBytes;
-
 import io.netty.buffer.ByteBuf;
 import io.netty.buffer.Unpooled;
-
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
-
 import org.opendaylight.bgp.concepts.NextHopUtil;
 import org.opendaylight.protocol.bgp.parser.BGPParsingException;
 import org.opendaylight.protocol.bgp.parser.BgpTableTypeImpl;
@@ -27,10 +23,10 @@ import org.opendaylight.protocol.bgp.parser.spi.NlriSerializer;
 import org.opendaylight.protocol.bgp.parser.spi.SubsequentAddressFamilyRegistry;
 import org.opendaylight.protocol.concepts.AbstractRegistration;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.BgpTableType;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.update.path.attributes.MpReachNlri;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.update.path.attributes.MpReachNlriBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.update.path.attributes.MpUnreachNlri;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.update.path.attributes.MpUnreachNlriBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.update.attributes.MpReachNlri;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.update.attributes.MpReachNlriBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.update.attributes.MpUnreachNlri;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.update.attributes.MpUnreachNlriBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev130919.AddressFamily;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev130919.SubsequentAddressFamily;
 import org.opendaylight.yangtools.yang.binding.DataObject;
@@ -100,7 +96,7 @@ final class SimpleNlriRegistry implements NlriRegistry {
     }
 
     private Class<? extends SubsequentAddressFamily> getSafi(final ByteBuf buffer) throws BGPParsingException {
-        final int safiVal = UnsignedBytes.toInt(buffer.readByte());
+        final int safiVal = buffer.readUnsignedByte();
         final Class<? extends SubsequentAddressFamily> safi = this.safiReg.classForFamily(safiVal);
         if (safi == null) {
             throw new BGPParsingException("Subsequent Address Family Identifier: '" + safiVal + "' not supported.");
@@ -121,7 +117,7 @@ final class SimpleNlriRegistry implements NlriRegistry {
     }
 
     @Override
-    public void serializeMpReach(MpReachNlri mpReachNlri, ByteBuf byteAggregator) {
+    public void serializeMpReach(final MpReachNlri mpReachNlri, final ByteBuf byteAggregator) {
         byteAggregator.writeShort(this.afiReg.numberForClass(mpReachNlri.getAfi()));
         byteAggregator.writeByte(this.safiReg.numberForClass(mpReachNlri.getSafi()));
 
@@ -134,7 +130,7 @@ final class SimpleNlriRegistry implements NlriRegistry {
     }
 
     @Override
-    public void serializeMpUnReach(MpUnreachNlri mpUnreachNlri, ByteBuf byteAggregator) {
+    public void serializeMpUnReach(final MpUnreachNlri mpUnreachNlri, final ByteBuf byteAggregator) {
         byteAggregator.writeShort(this.afiReg.numberForClass(mpUnreachNlri.getAfi()));
         byteAggregator.writeByte(this.safiReg.numberForClass(mpUnreachNlri.getSafi()));
     }
@@ -152,9 +148,9 @@ final class SimpleNlriRegistry implements NlriRegistry {
 
         final NlriParser parser = this.handlers.get(createKey(builder.getAfi(), builder.getSafi()));
 
-        final int nextHopLength = UnsignedBytes.toInt(buffer.readByte());
-        builder.setCNextHop(NextHopUtil.parseNextHop(buffer.slice(buffer.readerIndex(), nextHopLength)));
-        buffer.skipBytes(nextHopLength + RESERVED);
+        final int nextHopLength = buffer.readUnsignedByte();
+        builder.setCNextHop(NextHopUtil.parseNextHop(buffer.readSlice(nextHopLength)));
+        buffer.skipBytes(RESERVED);
 
         final ByteBuf nlri = buffer.slice();
         parser.parseNlri(nlri, builder);