Do not degrate remote BGP identifier into a bytearrray 70/5470/5
authorRobert Varga <rovarga@cisco.com>
Wed, 26 Feb 2014 11:41:40 +0000 (12:41 +0100)
committerRobert Varga <rovarga@cisco.com>
Fri, 28 Feb 2014 09:31:28 +0000 (10:31 +0100)
Change-Id: I6bb3bf64445c6956adea6794f24d7fc538724d36
Signed-off-by: Robert Varga <rovarga@cisco.com>
bgp/parser-api/src/main/java/org/opendaylight/protocol/bgp/parser/BGPSession.java
bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/BGPObjectComparator.java
bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/BGPSessionImpl.java
bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/BestPathSelectionTest.java
bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/SynchronizationTest.java
bgp/rib-mock/src/main/java/org/opendaylight/protocol/bgp/rib/mock/EventBusRegistration.java

index 3c62d2f334618e39e1da989babfb3d06904c2e42..df16515ab35aed9dc681805e1647de1ed80d360e 100644 (file)
@@ -11,6 +11,7 @@ import java.util.Set;
 
 import org.opendaylight.protocol.framework.ProtocolSession;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.AsNumber;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv4Address;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.BgpTableType;
 import org.opendaylight.yangtools.yang.binding.Notification;
 
@@ -35,7 +36,7 @@ public interface BGPSession extends ProtocolSession<Notification> {
         * 
         * @return Peer's BGP Router ID.
         */
-       byte[] getBgpId();
+       Ipv4Address getBgpId();
 
        /**
         * Return the AS number which the peer advertizes.
index 9dc76fb465d60fef1094580d047c50ac155a1958..4dbde722a01efa7d6defadbfa24a648e889557c1 100644 (file)
@@ -34,10 +34,10 @@ final class BGPObjectComparator implements Comparator<PathAttributes> {
        private final byte[] localId, remoteId;
        private final AsNumber ourAS;
 
-       public BGPObjectComparator(final AsNumber ourAs, final Ipv4Address localId, final byte[] remoteId) {
+       public BGPObjectComparator(final AsNumber ourAs, final Ipv4Address localId, final Ipv4Address remoteId) {
                this.ourAS = Preconditions.checkNotNull(ourAs);
                this.localId = InetAddresses.forString(localId.getValue()).getAddress();
-               this.remoteId = Preconditions.checkNotNull(remoteId);
+               this.remoteId = InetAddresses.forString(remoteId.getValue()).getAddress();
        }
 
        @Override
index e40f60f3d3d086f3e4dbf7a421b464f072d6f799..d308fed2d91857fde6f0267a17f2851cc01356b4 100644 (file)
@@ -319,8 +319,8 @@ public class BGPSessionImpl extends AbstractProtocolSession<Notification> implem
        }
 
        @Override
-       public final byte[] getBgpId() {
-               return this.bgpId.getValue().getBytes();
+       public final Ipv4Address getBgpId() {
+               return this.bgpId;
        }
 
        @Override
index 8d47aa45b3452dd708327a96696b163e5553c898..259de92733a9e5a99376d2320e1cf4d7f006905b 100644 (file)
@@ -41,8 +41,7 @@ import com.google.common.collect.Lists;
  */
 public class BestPathSelectionTest {
 
-       private final BGPObjectComparator comparator = new BGPObjectComparator(new AsNumber(40L), new Ipv4Address("192.150.20.38"), new byte[] {
-               (byte) 192, (byte) 150, 20, 38 });
+       private final BGPObjectComparator comparator = new BGPObjectComparator(new AsNumber(40L), new Ipv4Address("192.150.20.38"), new Ipv4Address("192.150.20.38"));
 
        private PathAttributes attr1;
        private PathAttributes attr2;
index ed86ad3c616e53ffff585da4812ba2d9d7fe09d6..9f34c52b9f710f0c32478e7780d6c9f2d292b359 100644 (file)
@@ -16,6 +16,7 @@ import org.junit.Test;
 import org.opendaylight.protocol.bgp.parser.BGPSession;
 import org.opendaylight.protocol.bgp.parser.BgpTableTypeImpl;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.AsNumber;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv4Address;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv4Prefix;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev131125.LinkstateAddressFamily;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev131125.LinkstateSubsequentAddressFamily;
@@ -92,8 +93,8 @@ public class SynchronizationTest {
                        }
 
                        @Override
-                       public byte[] getBgpId() {
-                               return new byte[] { (byte) 127, 0, 0, 1 };
+                       public Ipv4Address getBgpId() {
+                               return new Ipv4Address("127.0.0.1");
                        }
 
                        @Override
index 60e8e1d933a9066e5525915454d02399a9c5728f..568c453c9edfa82a44e6c370c6c0f1ea5bdf1669 100644 (file)
@@ -14,6 +14,7 @@ import org.opendaylight.protocol.bgp.parser.BGPSession;
 import org.opendaylight.protocol.bgp.parser.BGPSessionListener;
 import org.opendaylight.protocol.bgp.parser.BgpTableTypeImpl;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.AsNumber;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv4Address;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev130919.Keepalive;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev130919.Open;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev130919.open.BgpParameters;
@@ -90,8 +91,8 @@ final class EventBusRegistration extends AbstractListenerRegistration<BGPSession
                                }
 
                                @Override
-                               public byte[] getBgpId() {
-                                       return new byte[] { (byte) 127, 0, 0, 1 };
+                               public Ipv4Address getBgpId() {
+                                       return new Ipv4Address("127.0.0.1");
                                }
 
                                @Override