diff options
author | Ashlee Young <ashlee@wildernessvoice.com> | 2015-12-01 05:49:27 -0800 |
---|---|---|
committer | Ashlee Young <ashlee@wildernessvoice.com> | 2015-12-01 05:49:27 -0800 |
commit | e63291850fd0795c5700e25e67e5dee89ba54c5f (patch) | |
tree | 9707289536ad95bb739c9856761ad43275e07d8c /framework/src/onos/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/IPv4AddressTlv.java | |
parent | 671823e12bc13be9a8b87a5d7de33da1bb7a44e8 (diff) |
onos commit hash c2999f30c69e50df905a9d175ef80b3f23a98514
Change-Id: I2bb8562c4942b6d6a6d60b663db2e17540477b81
Signed-off-by: Ashlee Young <ashlee@wildernessvoice.com>
Diffstat (limited to 'framework/src/onos/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/IPv4AddressTlv.java')
-rw-r--r-- | framework/src/onos/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/IPv4AddressTlv.java | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/framework/src/onos/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/IPv4AddressTlv.java b/framework/src/onos/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/IPv4AddressTlv.java index d5f03268..4efde70e 100644 --- a/framework/src/onos/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/IPv4AddressTlv.java +++ b/framework/src/onos/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/IPv4AddressTlv.java @@ -20,9 +20,8 @@ import java.util.Objects; import org.jboss.netty.buffer.ChannelBuffer; import org.onlab.packet.Ip4Address; -import org.onosproject.bgpio.exceptions.BGPParseException; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.onosproject.bgpio.exceptions.BgpParseException; +import org.onosproject.bgpio.util.Validation; import com.google.common.base.MoreObjects; import com.google.common.base.Preconditions; @@ -30,8 +29,7 @@ import com.google.common.base.Preconditions; /** * Provides Implementation of IPv4AddressTlv. */ -public class IPv4AddressTlv implements BGPValueType { - private static final Logger log = LoggerFactory.getLogger(IPv4AddressTlv.class); +public class IPv4AddressTlv implements BgpValueType { private static final int LENGTH = 4; private Ip4Address address; @@ -53,7 +51,7 @@ public class IPv4AddressTlv implements BGPValueType { * * @return Ipv4 address of interface/neighbor */ - public Ip4Address getValue() { + public Ip4Address address() { return address; } @@ -94,13 +92,12 @@ public class IPv4AddressTlv implements BGPValueType { * @param cb channelBuffer * @param type address type * @return object of IPv4AddressTlv - * @throws BGPParseException while parsing IPv4AddressTlv + * @throws BgpParseException while parsing IPv4AddressTlv */ - public static IPv4AddressTlv read(ChannelBuffer cb, short type) throws BGPParseException { - //TODO: use Validation.toInetAddress once Validation is merged - InetAddress ipAddress = (InetAddress) cb.readBytes(LENGTH); + public static IPv4AddressTlv read(ChannelBuffer cb, short type) throws BgpParseException { + InetAddress ipAddress = Validation.toInetAddress(LENGTH, cb); if (ipAddress.isMulticastAddress()) { - throw new BGPParseException(BGPErrorType.UPDATE_MESSAGE_ERROR, (byte) 0, null); + throw new BgpParseException(BgpErrorType.UPDATE_MESSAGE_ERROR, (byte) 0, null); } Ip4Address address = Ip4Address.valueOf(ipAddress); return IPv4AddressTlv.of(address, type); @@ -118,6 +115,14 @@ public class IPv4AddressTlv implements BGPValueType { } @Override + public int compareTo(Object o) { + if (this.equals(o)) { + return 0; + } + return ((Ip4Address) (this.address)).compareTo((Ip4Address) (((IPv4AddressTlv) o).address)); + } + + @Override public String toString() { return MoreObjects.toStringHelper(getClass()) .add("type", type) |