Updated SDN-IP to use Ip4Address and Ip4Prefix instead of IpAddress and
IpPrefix, because so far we haven't implemented IPv6. Also, some of the BGP-related attributes (e.g., BGP Speaker ID) are IPv4 by definition. The following components are updated: * BGP implementation * Router component and relevant state (e.g., RouteEntry) Other components (e.g., configuration) will continue to use the more generic IpAddress and IpPrefix. Change-Id: I1936ca9871fd5a9709cb4f2c2850d78ebc1472c4
Showing
14 changed files
with
178 additions
and
176 deletions
| ... | @@ -19,8 +19,8 @@ import static com.google.common.base.Preconditions.checkNotNull; | ... | @@ -19,8 +19,8 @@ import static com.google.common.base.Preconditions.checkNotNull; |
| 19 | 19 | ||
| 20 | import java.util.Objects; | 20 | import java.util.Objects; |
| 21 | 21 | ||
| 22 | -import org.onlab.packet.IpAddress; | 22 | +import org.onlab.packet.Ip4Address; |
| 23 | -import org.onlab.packet.IpPrefix; | 23 | +import org.onlab.packet.Ip4Prefix; |
| 24 | 24 | ||
| 25 | import com.google.common.base.MoreObjects; | 25 | import com.google.common.base.MoreObjects; |
| 26 | 26 | ||
| ... | @@ -28,8 +28,8 @@ import com.google.common.base.MoreObjects; | ... | @@ -28,8 +28,8 @@ import com.google.common.base.MoreObjects; |
| 28 | * Represents a route entry for an IP prefix. | 28 | * Represents a route entry for an IP prefix. |
| 29 | */ | 29 | */ |
| 30 | public class RouteEntry { | 30 | public class RouteEntry { |
| 31 | - private final IpPrefix prefix; // The IP prefix | 31 | + private final Ip4Prefix prefix; // The IP prefix |
| 32 | - private final IpAddress nextHop; // Next-hop IP address | 32 | + private final Ip4Address nextHop; // Next-hop IP address |
| 33 | 33 | ||
| 34 | /** | 34 | /** |
| 35 | * Class constructor. | 35 | * Class constructor. |
| ... | @@ -37,7 +37,7 @@ public class RouteEntry { | ... | @@ -37,7 +37,7 @@ public class RouteEntry { |
| 37 | * @param prefix the IP prefix of the route | 37 | * @param prefix the IP prefix of the route |
| 38 | * @param nextHop the next hop IP address for the route | 38 | * @param nextHop the next hop IP address for the route |
| 39 | */ | 39 | */ |
| 40 | - public RouteEntry(IpPrefix prefix, IpAddress nextHop) { | 40 | + public RouteEntry(Ip4Prefix prefix, Ip4Address nextHop) { |
| 41 | this.prefix = checkNotNull(prefix); | 41 | this.prefix = checkNotNull(prefix); |
| 42 | this.nextHop = checkNotNull(nextHop); | 42 | this.nextHop = checkNotNull(nextHop); |
| 43 | } | 43 | } |
| ... | @@ -47,7 +47,7 @@ public class RouteEntry { | ... | @@ -47,7 +47,7 @@ public class RouteEntry { |
| 47 | * | 47 | * |
| 48 | * @return the IP prefix of the route | 48 | * @return the IP prefix of the route |
| 49 | */ | 49 | */ |
| 50 | - public IpPrefix prefix() { | 50 | + public Ip4Prefix prefix() { |
| 51 | return prefix; | 51 | return prefix; |
| 52 | } | 52 | } |
| 53 | 53 | ||
| ... | @@ -56,7 +56,7 @@ public class RouteEntry { | ... | @@ -56,7 +56,7 @@ public class RouteEntry { |
| 56 | * | 56 | * |
| 57 | * @return the next hop IP address for the route | 57 | * @return the next hop IP address for the route |
| 58 | */ | 58 | */ |
| 59 | - public IpAddress nextHop() { | 59 | + public Ip4Address nextHop() { |
| 60 | return nextHop; | 60 | return nextHop; |
| 61 | } | 61 | } |
| 62 | 62 | ||
| ... | @@ -67,7 +67,7 @@ public class RouteEntry { | ... | @@ -67,7 +67,7 @@ public class RouteEntry { |
| 67 | * @param ip4Prefix the IPv4 prefix to use | 67 | * @param ip4Prefix the IPv4 prefix to use |
| 68 | * @return the binary string representation | 68 | * @return the binary string representation |
| 69 | */ | 69 | */ |
| 70 | - static String createBinaryString(IpPrefix ip4Prefix) { | 70 | + static String createBinaryString(Ip4Prefix ip4Prefix) { |
| 71 | if (ip4Prefix.prefixLength() == 0) { | 71 | if (ip4Prefix.prefixLength() == 0) { |
| 72 | return ""; | 72 | return ""; |
| 73 | } | 73 | } |
| ... | @@ -75,7 +75,7 @@ public class RouteEntry { | ... | @@ -75,7 +75,7 @@ public class RouteEntry { |
| 75 | StringBuilder result = new StringBuilder(ip4Prefix.prefixLength()); | 75 | StringBuilder result = new StringBuilder(ip4Prefix.prefixLength()); |
| 76 | long value = ip4Prefix.address().toInt() & 0xffffffffL; | 76 | long value = ip4Prefix.address().toInt() & 0xffffffffL; |
| 77 | for (int i = 0; i < ip4Prefix.prefixLength(); i++) { | 77 | for (int i = 0; i < ip4Prefix.prefixLength(); i++) { |
| 78 | - long mask = 1 << (IpPrefix.MAX_INET_MASK_LENGTH - 1 - i); | 78 | + long mask = 1 << (Ip4Prefix.MAX_MASK_LENGTH - 1 - i); |
| 79 | result.append(((value & mask) == 0) ? "0" : "1"); | 79 | result.append(((value & mask) == 0) ? "0" : "1"); |
| 80 | } | 80 | } |
| 81 | return result.toString(); | 81 | return result.toString(); | ... | ... |
This diff is collapsed. Click to expand it.
| ... | @@ -21,8 +21,8 @@ import java.util.ArrayList; | ... | @@ -21,8 +21,8 @@ import java.util.ArrayList; |
| 21 | import java.util.Objects; | 21 | import java.util.Objects; |
| 22 | 22 | ||
| 23 | import org.onlab.onos.sdnip.RouteEntry; | 23 | import org.onlab.onos.sdnip.RouteEntry; |
| 24 | -import org.onlab.packet.IpAddress; | 24 | +import org.onlab.packet.Ip4Address; |
| 25 | -import org.onlab.packet.IpPrefix; | 25 | +import org.onlab.packet.Ip4Prefix; |
| 26 | 26 | ||
| 27 | import com.google.common.base.MoreObjects; | 27 | import com.google.common.base.MoreObjects; |
| 28 | 28 | ||
| ... | @@ -48,8 +48,8 @@ public class BgpRouteEntry extends RouteEntry { | ... | @@ -48,8 +48,8 @@ public class BgpRouteEntry extends RouteEntry { |
| 48 | * @param asPath the AS path | 48 | * @param asPath the AS path |
| 49 | * @param localPref the route local preference | 49 | * @param localPref the route local preference |
| 50 | */ | 50 | */ |
| 51 | - public BgpRouteEntry(BgpSession bgpSession, IpPrefix prefix, | 51 | + public BgpRouteEntry(BgpSession bgpSession, Ip4Prefix prefix, |
| 52 | - IpAddress nextHop, byte origin, | 52 | + Ip4Address nextHop, byte origin, |
| 53 | BgpRouteEntry.AsPath asPath, long localPref) { | 53 | BgpRouteEntry.AsPath asPath, long localPref) { |
| 54 | super(prefix, nextHop); | 54 | super(prefix, nextHop); |
| 55 | this.bgpSession = checkNotNull(bgpSession); | 55 | this.bgpSession = checkNotNull(bgpSession); |
| ... | @@ -232,15 +232,15 @@ public class BgpRouteEntry extends RouteEntry { | ... | @@ -232,15 +232,15 @@ public class BgpRouteEntry extends RouteEntry { |
| 232 | } | 232 | } |
| 233 | 233 | ||
| 234 | // Compare the peer BGP ID: lower is better | 234 | // Compare the peer BGP ID: lower is better |
| 235 | - IpAddress peerBgpId = getBgpSession().getRemoteBgpId(); | 235 | + Ip4Address peerBgpId = getBgpSession().getRemoteBgpId(); |
| 236 | - IpAddress otherPeerBgpId = other.getBgpSession().getRemoteBgpId(); | 236 | + Ip4Address otherPeerBgpId = other.getBgpSession().getRemoteBgpId(); |
| 237 | if (!peerBgpId.equals(otherPeerBgpId)) { | 237 | if (!peerBgpId.equals(otherPeerBgpId)) { |
| 238 | return (peerBgpId.compareTo(otherPeerBgpId) < 0); | 238 | return (peerBgpId.compareTo(otherPeerBgpId) < 0); |
| 239 | } | 239 | } |
| 240 | 240 | ||
| 241 | // Compare the peer BGP address: lower is better | 241 | // Compare the peer BGP address: lower is better |
| 242 | - IpAddress peerAddress = getBgpSession().getRemoteIp4Address(); | 242 | + Ip4Address peerAddress = getBgpSession().getRemoteIp4Address(); |
| 243 | - IpAddress otherPeerAddress = | 243 | + Ip4Address otherPeerAddress = |
| 244 | other.getBgpSession().getRemoteIp4Address(); | 244 | other.getBgpSession().getRemoteIp4Address(); |
| 245 | if (!peerAddress.equals(otherPeerAddress)) { | 245 | if (!peerAddress.equals(otherPeerAddress)) { |
| 246 | return (peerAddress.compareTo(otherPeerAddress) < 0); | 246 | return (peerAddress.compareTo(otherPeerAddress) < 0); | ... | ... |
This diff is collapsed. Click to expand it.
| ... | @@ -35,8 +35,8 @@ import org.jboss.netty.channel.Channels; | ... | @@ -35,8 +35,8 @@ import org.jboss.netty.channel.Channels; |
| 35 | import org.jboss.netty.channel.socket.nio.NioServerSocketChannelFactory; | 35 | import org.jboss.netty.channel.socket.nio.NioServerSocketChannelFactory; |
| 36 | import org.onlab.onos.sdnip.RouteListener; | 36 | import org.onlab.onos.sdnip.RouteListener; |
| 37 | import org.onlab.onos.sdnip.RouteUpdate; | 37 | import org.onlab.onos.sdnip.RouteUpdate; |
| 38 | -import org.onlab.packet.IpAddress; | 38 | +import org.onlab.packet.Ip4Address; |
| 39 | -import org.onlab.packet.IpPrefix; | 39 | +import org.onlab.packet.Ip4Prefix; |
| 40 | import org.slf4j.Logger; | 40 | import org.slf4j.Logger; |
| 41 | import org.slf4j.LoggerFactory; | 41 | import org.slf4j.LoggerFactory; |
| 42 | 42 | ||
| ... | @@ -49,10 +49,10 @@ public class BgpSessionManager { | ... | @@ -49,10 +49,10 @@ public class BgpSessionManager { |
| 49 | private Channel serverChannel; // Listener for incoming BGP connections | 49 | private Channel serverChannel; // Listener for incoming BGP connections |
| 50 | private ConcurrentMap<SocketAddress, BgpSession> bgpSessions = | 50 | private ConcurrentMap<SocketAddress, BgpSession> bgpSessions = |
| 51 | new ConcurrentHashMap<>(); | 51 | new ConcurrentHashMap<>(); |
| 52 | - private IpAddress myBgpId; // Same BGP ID for all peers | 52 | + private Ip4Address myBgpId; // Same BGP ID for all peers |
| 53 | 53 | ||
| 54 | private BgpRouteSelector bgpRouteSelector = new BgpRouteSelector(); | 54 | private BgpRouteSelector bgpRouteSelector = new BgpRouteSelector(); |
| 55 | - private ConcurrentMap<IpPrefix, BgpRouteEntry> bgpRoutes = | 55 | + private ConcurrentMap<Ip4Prefix, BgpRouteEntry> bgpRoutes = |
| 56 | new ConcurrentHashMap<>(); | 56 | new ConcurrentHashMap<>(); |
| 57 | 57 | ||
| 58 | private final RouteListener routeListener; | 58 | private final RouteListener routeListener; |
| ... | @@ -105,8 +105,7 @@ public class BgpSessionManager { | ... | @@ -105,8 +105,7 @@ public class BgpSessionManager { |
| 105 | if (bgpSession.getLocalAddress() instanceof InetSocketAddress) { | 105 | if (bgpSession.getLocalAddress() instanceof InetSocketAddress) { |
| 106 | InetAddress inetAddr = | 106 | InetAddress inetAddr = |
| 107 | ((InetSocketAddress) bgpSession.getLocalAddress()).getAddress(); | 107 | ((InetSocketAddress) bgpSession.getLocalAddress()).getAddress(); |
| 108 | - IpAddress ip4Address = IpAddress.valueOf(IpAddress.Version.INET, | 108 | + Ip4Address ip4Address = Ip4Address.valueOf(inetAddr.getAddress()); |
| 109 | - inetAddr.getAddress()); | ||
| 110 | updateMyBgpId(ip4Address); | 109 | updateMyBgpId(ip4Address); |
| 111 | } | 110 | } |
| 112 | return true; | 111 | return true; |
| ... | @@ -128,7 +127,7 @@ public class BgpSessionManager { | ... | @@ -128,7 +127,7 @@ public class BgpSessionManager { |
| 128 | * | 127 | * |
| 129 | * @param ip4Address the IPv4 address to use as BGP ID | 128 | * @param ip4Address the IPv4 address to use as BGP ID |
| 130 | */ | 129 | */ |
| 131 | - private synchronized void updateMyBgpId(IpAddress ip4Address) { | 130 | + private synchronized void updateMyBgpId(Ip4Address ip4Address) { |
| 132 | if (myBgpId == null) { | 131 | if (myBgpId == null) { |
| 133 | myBgpId = ip4Address; | 132 | myBgpId = ip4Address; |
| 134 | log.debug("BGP: My BGP ID is {}", myBgpId); | 133 | log.debug("BGP: My BGP ID is {}", myBgpId); |
| ... | @@ -140,7 +139,7 @@ public class BgpSessionManager { | ... | @@ -140,7 +139,7 @@ public class BgpSessionManager { |
| 140 | * | 139 | * |
| 141 | * @return the local BGP Identifier as an IPv4 address | 140 | * @return the local BGP Identifier as an IPv4 address |
| 142 | */ | 141 | */ |
| 143 | - IpAddress getMyBgpId() { | 142 | + Ip4Address getMyBgpId() { |
| 144 | return myBgpId; | 143 | return myBgpId; |
| 145 | } | 144 | } |
| 146 | 145 | ||
| ... | @@ -352,7 +351,7 @@ public class BgpSessionManager { | ... | @@ -352,7 +351,7 @@ public class BgpSessionManager { |
| 352 | * @param prefix the prefix of the route | 351 | * @param prefix the prefix of the route |
| 353 | * @return the best route if found, otherwise null | 352 | * @return the best route if found, otherwise null |
| 354 | */ | 353 | */ |
| 355 | - private BgpRouteEntry findBestBgpRoute(IpPrefix prefix) { | 354 | + private BgpRouteEntry findBestBgpRoute(Ip4Prefix prefix) { |
| 356 | BgpRouteEntry bestRoute = null; | 355 | BgpRouteEntry bestRoute = null; |
| 357 | 356 | ||
| 358 | // Iterate across all BGP Sessions and select the best route | 357 | // Iterate across all BGP Sessions and select the best route | ... | ... |
| ... | @@ -42,7 +42,9 @@ import org.onlab.onos.net.provider.ProviderId; | ... | @@ -42,7 +42,9 @@ import org.onlab.onos.net.provider.ProviderId; |
| 42 | import org.onlab.onos.sdnip.config.Interface; | 42 | import org.onlab.onos.sdnip.config.Interface; |
| 43 | import org.onlab.packet.Ethernet; | 43 | import org.onlab.packet.Ethernet; |
| 44 | import org.onlab.packet.IpAddress; | 44 | import org.onlab.packet.IpAddress; |
| 45 | +import org.onlab.packet.Ip4Address; | ||
| 45 | import org.onlab.packet.IpPrefix; | 46 | import org.onlab.packet.IpPrefix; |
| 47 | +import org.onlab.packet.Ip4Prefix; | ||
| 46 | import org.onlab.packet.MacAddress; | 48 | import org.onlab.packet.MacAddress; |
| 47 | import org.onlab.packet.VlanId; | 49 | import org.onlab.packet.VlanId; |
| 48 | 50 | ||
| ... | @@ -209,36 +211,36 @@ public class IntentSyncTest { | ... | @@ -209,36 +211,36 @@ public class IntentSyncTest { |
| 209 | // 6. RouteEntry6 was newly added, but the intent was not submitted. | 211 | // 6. RouteEntry6 was newly added, but the intent was not submitted. |
| 210 | // | 212 | // |
| 211 | RouteEntry routeEntry1 = new RouteEntry( | 213 | RouteEntry routeEntry1 = new RouteEntry( |
| 212 | - IpPrefix.valueOf("1.1.1.0/24"), | 214 | + Ip4Prefix.valueOf("1.1.1.0/24"), |
| 213 | - IpAddress.valueOf("192.168.10.1")); | 215 | + Ip4Address.valueOf("192.168.10.1")); |
| 214 | 216 | ||
| 215 | RouteEntry routeEntry2 = new RouteEntry( | 217 | RouteEntry routeEntry2 = new RouteEntry( |
| 216 | - IpPrefix.valueOf("2.2.2.0/24"), | 218 | + Ip4Prefix.valueOf("2.2.2.0/24"), |
| 217 | - IpAddress.valueOf("192.168.20.1")); | 219 | + Ip4Address.valueOf("192.168.20.1")); |
| 218 | 220 | ||
| 219 | RouteEntry routeEntry3 = new RouteEntry( | 221 | RouteEntry routeEntry3 = new RouteEntry( |
| 220 | - IpPrefix.valueOf("3.3.3.0/24"), | 222 | + Ip4Prefix.valueOf("3.3.3.0/24"), |
| 221 | - IpAddress.valueOf("192.168.30.1")); | 223 | + Ip4Address.valueOf("192.168.30.1")); |
| 222 | 224 | ||
| 223 | RouteEntry routeEntry4 = new RouteEntry( | 225 | RouteEntry routeEntry4 = new RouteEntry( |
| 224 | - IpPrefix.valueOf("4.4.4.0/24"), | 226 | + Ip4Prefix.valueOf("4.4.4.0/24"), |
| 225 | - IpAddress.valueOf("192.168.30.1")); | 227 | + Ip4Address.valueOf("192.168.30.1")); |
| 226 | 228 | ||
| 227 | RouteEntry routeEntry4Update = new RouteEntry( | 229 | RouteEntry routeEntry4Update = new RouteEntry( |
| 228 | - IpPrefix.valueOf("4.4.4.0/24"), | 230 | + Ip4Prefix.valueOf("4.4.4.0/24"), |
| 229 | - IpAddress.valueOf("192.168.20.1")); | 231 | + Ip4Address.valueOf("192.168.20.1")); |
| 230 | 232 | ||
| 231 | RouteEntry routeEntry5 = new RouteEntry( | 233 | RouteEntry routeEntry5 = new RouteEntry( |
| 232 | - IpPrefix.valueOf("5.5.5.0/24"), | 234 | + Ip4Prefix.valueOf("5.5.5.0/24"), |
| 233 | - IpAddress.valueOf("192.168.10.1")); | 235 | + Ip4Address.valueOf("192.168.10.1")); |
| 234 | 236 | ||
| 235 | RouteEntry routeEntry6 = new RouteEntry( | 237 | RouteEntry routeEntry6 = new RouteEntry( |
| 236 | - IpPrefix.valueOf("6.6.6.0/24"), | 238 | + Ip4Prefix.valueOf("6.6.6.0/24"), |
| 237 | - IpAddress.valueOf("192.168.10.1")); | 239 | + Ip4Address.valueOf("192.168.10.1")); |
| 238 | 240 | ||
| 239 | RouteEntry routeEntry7 = new RouteEntry( | 241 | RouteEntry routeEntry7 = new RouteEntry( |
| 240 | - IpPrefix.valueOf("7.7.7.0/24"), | 242 | + Ip4Prefix.valueOf("7.7.7.0/24"), |
| 241 | - IpAddress.valueOf("192.168.10.1")); | 243 | + Ip4Address.valueOf("192.168.10.1")); |
| 242 | 244 | ||
| 243 | MultiPointToSinglePointIntent intent1 = intentBuilder( | 245 | MultiPointToSinglePointIntent intent1 = intentBuilder( |
| 244 | routeEntry1.prefix(), "00:00:00:00:00:01", SW1_ETH1); | 246 | routeEntry1.prefix(), "00:00:00:00:00:01", SW1_ETH1); |
| ... | @@ -286,7 +288,7 @@ public class IntentSyncTest { | ... | @@ -286,7 +288,7 @@ public class IntentSyncTest { |
| 286 | routeEntry7); | 288 | routeEntry7); |
| 287 | TestUtils.setField(router, "bgpRoutes", bgpRoutes); | 289 | TestUtils.setField(router, "bgpRoutes", bgpRoutes); |
| 288 | 290 | ||
| 289 | - ConcurrentHashMap<IpPrefix, MultiPointToSinglePointIntent> | 291 | + ConcurrentHashMap<Ip4Prefix, MultiPointToSinglePointIntent> |
| 290 | pushedRouteIntents = new ConcurrentHashMap<>(); | 292 | pushedRouteIntents = new ConcurrentHashMap<>(); |
| 291 | pushedRouteIntents.put(routeEntry1.prefix(), intent1); | 293 | pushedRouteIntents.put(routeEntry1.prefix(), intent1); |
| 292 | pushedRouteIntents.put(routeEntry3.prefix(), intent3); | 294 | pushedRouteIntents.put(routeEntry3.prefix(), intent3); |
| ... | @@ -355,7 +357,7 @@ public class IntentSyncTest { | ... | @@ -355,7 +357,7 @@ public class IntentSyncTest { |
| 355 | * @param egressPoint to which packets should be sent | 357 | * @param egressPoint to which packets should be sent |
| 356 | * @return the constructed MultiPointToSinglePointIntent | 358 | * @return the constructed MultiPointToSinglePointIntent |
| 357 | */ | 359 | */ |
| 358 | - private MultiPointToSinglePointIntent intentBuilder(IpPrefix ipPrefix, | 360 | + private MultiPointToSinglePointIntent intentBuilder(Ip4Prefix ipPrefix, |
| 359 | String nextHopMacAddress, ConnectPoint egressPoint) { | 361 | String nextHopMacAddress, ConnectPoint egressPoint) { |
| 360 | 362 | ||
| 361 | TrafficSelector.Builder selectorBuilder = | 363 | TrafficSelector.Builder selectorBuilder = | ... | ... |
| ... | @@ -20,8 +20,8 @@ import static org.hamcrest.Matchers.not; | ... | @@ -20,8 +20,8 @@ import static org.hamcrest.Matchers.not; |
| 20 | import static org.junit.Assert.assertThat; | 20 | import static org.junit.Assert.assertThat; |
| 21 | 21 | ||
| 22 | import org.junit.Test; | 22 | import org.junit.Test; |
| 23 | -import org.onlab.packet.IpAddress; | 23 | +import org.onlab.packet.Ip4Address; |
| 24 | -import org.onlab.packet.IpPrefix; | 24 | +import org.onlab.packet.Ip4Prefix; |
| 25 | 25 | ||
| 26 | /** | 26 | /** |
| 27 | * Unit tests for the RouteEntry class. | 27 | * Unit tests for the RouteEntry class. |
| ... | @@ -32,8 +32,8 @@ public class RouteEntryTest { | ... | @@ -32,8 +32,8 @@ public class RouteEntryTest { |
| 32 | */ | 32 | */ |
| 33 | @Test | 33 | @Test |
| 34 | public void testConstructor() { | 34 | public void testConstructor() { |
| 35 | - IpPrefix prefix = IpPrefix.valueOf("1.2.3.0/24"); | 35 | + Ip4Prefix prefix = Ip4Prefix.valueOf("1.2.3.0/24"); |
| 36 | - IpAddress nextHop = IpAddress.valueOf("5.6.7.8"); | 36 | + Ip4Address nextHop = Ip4Address.valueOf("5.6.7.8"); |
| 37 | 37 | ||
| 38 | RouteEntry routeEntry = new RouteEntry(prefix, nextHop); | 38 | RouteEntry routeEntry = new RouteEntry(prefix, nextHop); |
| 39 | assertThat(routeEntry.toString(), | 39 | assertThat(routeEntry.toString(), |
| ... | @@ -45,8 +45,8 @@ public class RouteEntryTest { | ... | @@ -45,8 +45,8 @@ public class RouteEntryTest { |
| 45 | */ | 45 | */ |
| 46 | @Test(expected = NullPointerException.class) | 46 | @Test(expected = NullPointerException.class) |
| 47 | public void testInvalidConstructorNullPrefix() { | 47 | public void testInvalidConstructorNullPrefix() { |
| 48 | - IpPrefix prefix = null; | 48 | + Ip4Prefix prefix = null; |
| 49 | - IpAddress nextHop = IpAddress.valueOf("5.6.7.8"); | 49 | + Ip4Address nextHop = Ip4Address.valueOf("5.6.7.8"); |
| 50 | 50 | ||
| 51 | new RouteEntry(prefix, nextHop); | 51 | new RouteEntry(prefix, nextHop); |
| 52 | } | 52 | } |
| ... | @@ -56,8 +56,8 @@ public class RouteEntryTest { | ... | @@ -56,8 +56,8 @@ public class RouteEntryTest { |
| 56 | */ | 56 | */ |
| 57 | @Test(expected = NullPointerException.class) | 57 | @Test(expected = NullPointerException.class) |
| 58 | public void testInvalidConstructorNullNextHop() { | 58 | public void testInvalidConstructorNullNextHop() { |
| 59 | - IpPrefix prefix = IpPrefix.valueOf("1.2.3.0/24"); | 59 | + Ip4Prefix prefix = Ip4Prefix.valueOf("1.2.3.0/24"); |
| 60 | - IpAddress nextHop = null; | 60 | + Ip4Address nextHop = null; |
| 61 | 61 | ||
| 62 | new RouteEntry(prefix, nextHop); | 62 | new RouteEntry(prefix, nextHop); |
| 63 | } | 63 | } |
| ... | @@ -67,8 +67,8 @@ public class RouteEntryTest { | ... | @@ -67,8 +67,8 @@ public class RouteEntryTest { |
| 67 | */ | 67 | */ |
| 68 | @Test | 68 | @Test |
| 69 | public void testGetFields() { | 69 | public void testGetFields() { |
| 70 | - IpPrefix prefix = IpPrefix.valueOf("1.2.3.0/24"); | 70 | + Ip4Prefix prefix = Ip4Prefix.valueOf("1.2.3.0/24"); |
| 71 | - IpAddress nextHop = IpAddress.valueOf("5.6.7.8"); | 71 | + Ip4Address nextHop = Ip4Address.valueOf("5.6.7.8"); |
| 72 | 72 | ||
| 73 | RouteEntry routeEntry = new RouteEntry(prefix, nextHop); | 73 | RouteEntry routeEntry = new RouteEntry(prefix, nextHop); |
| 74 | assertThat(routeEntry.prefix(), is(prefix)); | 74 | assertThat(routeEntry.prefix(), is(prefix)); |
| ... | @@ -80,28 +80,28 @@ public class RouteEntryTest { | ... | @@ -80,28 +80,28 @@ public class RouteEntryTest { |
| 80 | */ | 80 | */ |
| 81 | @Test | 81 | @Test |
| 82 | public void testCreateBinaryString() { | 82 | public void testCreateBinaryString() { |
| 83 | - IpPrefix prefix; | 83 | + Ip4Prefix prefix; |
| 84 | 84 | ||
| 85 | - prefix = IpPrefix.valueOf("0.0.0.0/0"); | 85 | + prefix = Ip4Prefix.valueOf("0.0.0.0/0"); |
| 86 | assertThat(RouteEntry.createBinaryString(prefix), is("")); | 86 | assertThat(RouteEntry.createBinaryString(prefix), is("")); |
| 87 | 87 | ||
| 88 | - prefix = IpPrefix.valueOf("192.168.166.0/22"); | 88 | + prefix = Ip4Prefix.valueOf("192.168.166.0/22"); |
| 89 | assertThat(RouteEntry.createBinaryString(prefix), | 89 | assertThat(RouteEntry.createBinaryString(prefix), |
| 90 | is("1100000010101000101001")); | 90 | is("1100000010101000101001")); |
| 91 | 91 | ||
| 92 | - prefix = IpPrefix.valueOf("192.168.166.0/23"); | 92 | + prefix = Ip4Prefix.valueOf("192.168.166.0/23"); |
| 93 | assertThat(RouteEntry.createBinaryString(prefix), | 93 | assertThat(RouteEntry.createBinaryString(prefix), |
| 94 | is("11000000101010001010011")); | 94 | is("11000000101010001010011")); |
| 95 | 95 | ||
| 96 | - prefix = IpPrefix.valueOf("192.168.166.0/24"); | 96 | + prefix = Ip4Prefix.valueOf("192.168.166.0/24"); |
| 97 | assertThat(RouteEntry.createBinaryString(prefix), | 97 | assertThat(RouteEntry.createBinaryString(prefix), |
| 98 | is("110000001010100010100110")); | 98 | is("110000001010100010100110")); |
| 99 | 99 | ||
| 100 | - prefix = IpPrefix.valueOf("130.162.10.1/25"); | 100 | + prefix = Ip4Prefix.valueOf("130.162.10.1/25"); |
| 101 | assertThat(RouteEntry.createBinaryString(prefix), | 101 | assertThat(RouteEntry.createBinaryString(prefix), |
| 102 | is("1000001010100010000010100")); | 102 | is("1000001010100010000010100")); |
| 103 | 103 | ||
| 104 | - prefix = IpPrefix.valueOf("255.255.255.255/32"); | 104 | + prefix = Ip4Prefix.valueOf("255.255.255.255/32"); |
| 105 | assertThat(RouteEntry.createBinaryString(prefix), | 105 | assertThat(RouteEntry.createBinaryString(prefix), |
| 106 | is("11111111111111111111111111111111")); | 106 | is("11111111111111111111111111111111")); |
| 107 | } | 107 | } |
| ... | @@ -111,12 +111,12 @@ public class RouteEntryTest { | ... | @@ -111,12 +111,12 @@ public class RouteEntryTest { |
| 111 | */ | 111 | */ |
| 112 | @Test | 112 | @Test |
| 113 | public void testEquality() { | 113 | public void testEquality() { |
| 114 | - IpPrefix prefix1 = IpPrefix.valueOf("1.2.3.0/24"); | 114 | + Ip4Prefix prefix1 = Ip4Prefix.valueOf("1.2.3.0/24"); |
| 115 | - IpAddress nextHop1 = IpAddress.valueOf("5.6.7.8"); | 115 | + Ip4Address nextHop1 = Ip4Address.valueOf("5.6.7.8"); |
| 116 | RouteEntry routeEntry1 = new RouteEntry(prefix1, nextHop1); | 116 | RouteEntry routeEntry1 = new RouteEntry(prefix1, nextHop1); |
| 117 | 117 | ||
| 118 | - IpPrefix prefix2 = IpPrefix.valueOf("1.2.3.0/24"); | 118 | + Ip4Prefix prefix2 = Ip4Prefix.valueOf("1.2.3.0/24"); |
| 119 | - IpAddress nextHop2 = IpAddress.valueOf("5.6.7.8"); | 119 | + Ip4Address nextHop2 = Ip4Address.valueOf("5.6.7.8"); |
| 120 | RouteEntry routeEntry2 = new RouteEntry(prefix2, nextHop2); | 120 | RouteEntry routeEntry2 = new RouteEntry(prefix2, nextHop2); |
| 121 | 121 | ||
| 122 | assertThat(routeEntry1, is(routeEntry2)); | 122 | assertThat(routeEntry1, is(routeEntry2)); |
| ... | @@ -127,16 +127,16 @@ public class RouteEntryTest { | ... | @@ -127,16 +127,16 @@ public class RouteEntryTest { |
| 127 | */ | 127 | */ |
| 128 | @Test | 128 | @Test |
| 129 | public void testNonEquality() { | 129 | public void testNonEquality() { |
| 130 | - IpPrefix prefix1 = IpPrefix.valueOf("1.2.3.0/24"); | 130 | + Ip4Prefix prefix1 = Ip4Prefix.valueOf("1.2.3.0/24"); |
| 131 | - IpAddress nextHop1 = IpAddress.valueOf("5.6.7.8"); | 131 | + Ip4Address nextHop1 = Ip4Address.valueOf("5.6.7.8"); |
| 132 | RouteEntry routeEntry1 = new RouteEntry(prefix1, nextHop1); | 132 | RouteEntry routeEntry1 = new RouteEntry(prefix1, nextHop1); |
| 133 | 133 | ||
| 134 | - IpPrefix prefix2 = IpPrefix.valueOf("1.2.3.0/25"); // Different | 134 | + Ip4Prefix prefix2 = Ip4Prefix.valueOf("1.2.3.0/25"); // Different |
| 135 | - IpAddress nextHop2 = IpAddress.valueOf("5.6.7.8"); | 135 | + Ip4Address nextHop2 = Ip4Address.valueOf("5.6.7.8"); |
| 136 | RouteEntry routeEntry2 = new RouteEntry(prefix2, nextHop2); | 136 | RouteEntry routeEntry2 = new RouteEntry(prefix2, nextHop2); |
| 137 | 137 | ||
| 138 | - IpPrefix prefix3 = IpPrefix.valueOf("1.2.3.0/24"); | 138 | + Ip4Prefix prefix3 = Ip4Prefix.valueOf("1.2.3.0/24"); |
| 139 | - IpAddress nextHop3 = IpAddress.valueOf("5.6.7.9"); // Different | 139 | + Ip4Address nextHop3 = Ip4Address.valueOf("5.6.7.9"); // Different |
| 140 | RouteEntry routeEntry3 = new RouteEntry(prefix3, nextHop3); | 140 | RouteEntry routeEntry3 = new RouteEntry(prefix3, nextHop3); |
| 141 | 141 | ||
| 142 | assertThat(routeEntry1, is(not(routeEntry2))); | 142 | assertThat(routeEntry1, is(not(routeEntry2))); |
| ... | @@ -148,8 +148,8 @@ public class RouteEntryTest { | ... | @@ -148,8 +148,8 @@ public class RouteEntryTest { |
| 148 | */ | 148 | */ |
| 149 | @Test | 149 | @Test |
| 150 | public void testToString() { | 150 | public void testToString() { |
| 151 | - IpPrefix prefix = IpPrefix.valueOf("1.2.3.0/24"); | 151 | + Ip4Prefix prefix = Ip4Prefix.valueOf("1.2.3.0/24"); |
| 152 | - IpAddress nextHop = IpAddress.valueOf("5.6.7.8"); | 152 | + Ip4Address nextHop = Ip4Address.valueOf("5.6.7.8"); |
| 153 | RouteEntry routeEntry = new RouteEntry(prefix, nextHop); | 153 | RouteEntry routeEntry = new RouteEntry(prefix, nextHop); |
| 154 | 154 | ||
| 155 | assertThat(routeEntry.toString(), | 155 | assertThat(routeEntry.toString(), | ... | ... |
| ... | @@ -57,7 +57,9 @@ import org.onlab.onos.sdnip.config.Interface; | ... | @@ -57,7 +57,9 @@ import org.onlab.onos.sdnip.config.Interface; |
| 57 | import org.onlab.onos.sdnip.config.SdnIpConfigService; | 57 | import org.onlab.onos.sdnip.config.SdnIpConfigService; |
| 58 | import org.onlab.packet.Ethernet; | 58 | import org.onlab.packet.Ethernet; |
| 59 | import org.onlab.packet.IpAddress; | 59 | import org.onlab.packet.IpAddress; |
| 60 | +import org.onlab.packet.Ip4Address; | ||
| 60 | import org.onlab.packet.IpPrefix; | 61 | import org.onlab.packet.IpPrefix; |
| 62 | +import org.onlab.packet.Ip4Prefix; | ||
| 61 | import org.onlab.packet.MacAddress; | 63 | import org.onlab.packet.MacAddress; |
| 62 | import org.onlab.packet.VlanId; | 64 | import org.onlab.packet.VlanId; |
| 63 | 65 | ||
| ... | @@ -228,8 +230,8 @@ public class RouterTest { | ... | @@ -228,8 +230,8 @@ public class RouterTest { |
| 228 | public void testProcessRouteAdd() throws TestUtilsException { | 230 | public void testProcessRouteAdd() throws TestUtilsException { |
| 229 | // Construct a route entry | 231 | // Construct a route entry |
| 230 | RouteEntry routeEntry = new RouteEntry( | 232 | RouteEntry routeEntry = new RouteEntry( |
| 231 | - IpPrefix.valueOf("1.1.1.0/24"), | 233 | + Ip4Prefix.valueOf("1.1.1.0/24"), |
| 232 | - IpAddress.valueOf("192.168.10.1")); | 234 | + Ip4Address.valueOf("192.168.10.1")); |
| 233 | 235 | ||
| 234 | // Construct a MultiPointToSinglePointIntent intent | 236 | // Construct a MultiPointToSinglePointIntent intent |
| 235 | TrafficSelector.Builder selectorBuilder = | 237 | TrafficSelector.Builder selectorBuilder = |
| ... | @@ -281,8 +283,8 @@ public class RouterTest { | ... | @@ -281,8 +283,8 @@ public class RouterTest { |
| 281 | 283 | ||
| 282 | // Construct the existing route entry | 284 | // Construct the existing route entry |
| 283 | RouteEntry routeEntry = new RouteEntry( | 285 | RouteEntry routeEntry = new RouteEntry( |
| 284 | - IpPrefix.valueOf("1.1.1.0/24"), | 286 | + Ip4Prefix.valueOf("1.1.1.0/24"), |
| 285 | - IpAddress.valueOf("192.168.10.1")); | 287 | + Ip4Address.valueOf("192.168.10.1")); |
| 286 | 288 | ||
| 287 | // Construct the existing MultiPointToSinglePointIntent intent | 289 | // Construct the existing MultiPointToSinglePointIntent intent |
| 288 | TrafficSelector.Builder selectorBuilder = | 290 | TrafficSelector.Builder selectorBuilder = |
| ... | @@ -305,8 +307,8 @@ public class RouterTest { | ... | @@ -305,8 +307,8 @@ public class RouterTest { |
| 305 | 307 | ||
| 306 | // Start to construct a new route entry and new intent | 308 | // Start to construct a new route entry and new intent |
| 307 | RouteEntry routeEntryUpdate = new RouteEntry( | 309 | RouteEntry routeEntryUpdate = new RouteEntry( |
| 308 | - IpPrefix.valueOf("1.1.1.0/24"), | 310 | + Ip4Prefix.valueOf("1.1.1.0/24"), |
| 309 | - IpAddress.valueOf("192.168.20.1")); | 311 | + Ip4Address.valueOf("192.168.20.1")); |
| 310 | 312 | ||
| 311 | // Construct a new MultiPointToSinglePointIntent intent | 313 | // Construct a new MultiPointToSinglePointIntent intent |
| 312 | TrafficSelector.Builder selectorBuilderNew = | 314 | TrafficSelector.Builder selectorBuilderNew = |
| ... | @@ -359,8 +361,8 @@ public class RouterTest { | ... | @@ -359,8 +361,8 @@ public class RouterTest { |
| 359 | 361 | ||
| 360 | // Construct the existing route entry | 362 | // Construct the existing route entry |
| 361 | RouteEntry routeEntry = new RouteEntry( | 363 | RouteEntry routeEntry = new RouteEntry( |
| 362 | - IpPrefix.valueOf("1.1.1.0/24"), | 364 | + Ip4Prefix.valueOf("1.1.1.0/24"), |
| 363 | - IpAddress.valueOf("192.168.10.1")); | 365 | + Ip4Address.valueOf("192.168.10.1")); |
| 364 | 366 | ||
| 365 | // Construct the existing MultiPointToSinglePointIntent intent | 367 | // Construct the existing MultiPointToSinglePointIntent intent |
| 366 | TrafficSelector.Builder selectorBuilder = | 368 | TrafficSelector.Builder selectorBuilder = |
| ... | @@ -406,7 +408,8 @@ public class RouterTest { | ... | @@ -406,7 +408,8 @@ public class RouterTest { |
| 406 | public void testLocalRouteAdd() throws TestUtilsException { | 408 | public void testLocalRouteAdd() throws TestUtilsException { |
| 407 | // Construct a route entry, the next hop is the local BGP speaker | 409 | // Construct a route entry, the next hop is the local BGP speaker |
| 408 | RouteEntry routeEntry = new RouteEntry( | 410 | RouteEntry routeEntry = new RouteEntry( |
| 409 | - IpPrefix.valueOf("1.1.1.0/24"), IpAddress.valueOf("0.0.0.0")); | 411 | + Ip4Prefix.valueOf("1.1.1.0/24"), |
| 412 | + Ip4Address.valueOf("0.0.0.0")); | ||
| 410 | 413 | ||
| 411 | // Reset intentService to check whether the submit method is called | 414 | // Reset intentService to check whether the submit method is called |
| 412 | reset(intentService); | 415 | reset(intentService); | ... | ... |
| ... | @@ -58,7 +58,9 @@ import org.onlab.onos.sdnip.config.Interface; | ... | @@ -58,7 +58,9 @@ import org.onlab.onos.sdnip.config.Interface; |
| 58 | import org.onlab.onos.sdnip.config.SdnIpConfigService; | 58 | import org.onlab.onos.sdnip.config.SdnIpConfigService; |
| 59 | import org.onlab.packet.Ethernet; | 59 | import org.onlab.packet.Ethernet; |
| 60 | import org.onlab.packet.IpAddress; | 60 | import org.onlab.packet.IpAddress; |
| 61 | +import org.onlab.packet.Ip4Address; | ||
| 61 | import org.onlab.packet.IpPrefix; | 62 | import org.onlab.packet.IpPrefix; |
| 63 | +import org.onlab.packet.Ip4Prefix; | ||
| 62 | import org.onlab.packet.MacAddress; | 64 | import org.onlab.packet.MacAddress; |
| 63 | import org.onlab.packet.VlanId; | 65 | import org.onlab.packet.VlanId; |
| 64 | 66 | ||
| ... | @@ -191,8 +193,8 @@ public class RouterTestWithAsyncArp { | ... | @@ -191,8 +193,8 @@ public class RouterTestWithAsyncArp { |
| 191 | 193 | ||
| 192 | // Construct a route entry | 194 | // Construct a route entry |
| 193 | RouteEntry routeEntry = new RouteEntry( | 195 | RouteEntry routeEntry = new RouteEntry( |
| 194 | - IpPrefix.valueOf("1.1.1.0/24"), | 196 | + Ip4Prefix.valueOf("1.1.1.0/24"), |
| 195 | - IpAddress.valueOf("192.168.10.1")); | 197 | + Ip4Address.valueOf("192.168.10.1")); |
| 196 | 198 | ||
| 197 | // Construct a route intent | 199 | // Construct a route intent |
| 198 | MultiPointToSinglePointIntent intent = staticIntentBuilder(); | 200 | MultiPointToSinglePointIntent intent = staticIntentBuilder(); |
| ... | @@ -243,8 +245,8 @@ public class RouterTestWithAsyncArp { | ... | @@ -243,8 +245,8 @@ public class RouterTestWithAsyncArp { |
| 243 | 245 | ||
| 244 | // Construct the existing route entry | 246 | // Construct the existing route entry |
| 245 | RouteEntry routeEntry = new RouteEntry( | 247 | RouteEntry routeEntry = new RouteEntry( |
| 246 | - IpPrefix.valueOf("1.1.1.0/24"), | 248 | + Ip4Prefix.valueOf("1.1.1.0/24"), |
| 247 | - IpAddress.valueOf("192.168.10.1")); | 249 | + Ip4Address.valueOf("192.168.10.1")); |
| 248 | 250 | ||
| 249 | // Construct the existing MultiPointToSinglePointIntent intent | 251 | // Construct the existing MultiPointToSinglePointIntent intent |
| 250 | MultiPointToSinglePointIntent intent = staticIntentBuilder(); | 252 | MultiPointToSinglePointIntent intent = staticIntentBuilder(); |
| ... | @@ -256,8 +258,8 @@ public class RouterTestWithAsyncArp { | ... | @@ -256,8 +258,8 @@ public class RouterTestWithAsyncArp { |
| 256 | 258 | ||
| 257 | // Start to construct a new route entry and new intent | 259 | // Start to construct a new route entry and new intent |
| 258 | RouteEntry routeEntryUpdate = new RouteEntry( | 260 | RouteEntry routeEntryUpdate = new RouteEntry( |
| 259 | - IpPrefix.valueOf("1.1.1.0/24"), | 261 | + Ip4Prefix.valueOf("1.1.1.0/24"), |
| 260 | - IpAddress.valueOf("192.168.20.1")); | 262 | + Ip4Address.valueOf("192.168.20.1")); |
| 261 | 263 | ||
| 262 | // Construct a new MultiPointToSinglePointIntent intent | 264 | // Construct a new MultiPointToSinglePointIntent intent |
| 263 | TrafficSelector.Builder selectorBuilderNew = | 265 | TrafficSelector.Builder selectorBuilderNew = |
| ... | @@ -323,8 +325,8 @@ public class RouterTestWithAsyncArp { | ... | @@ -323,8 +325,8 @@ public class RouterTestWithAsyncArp { |
| 323 | 325 | ||
| 324 | // Construct the existing route entry | 326 | // Construct the existing route entry |
| 325 | RouteEntry routeEntry = new RouteEntry( | 327 | RouteEntry routeEntry = new RouteEntry( |
| 326 | - IpPrefix.valueOf("1.1.1.0/24"), | 328 | + Ip4Prefix.valueOf("1.1.1.0/24"), |
| 327 | - IpAddress.valueOf("192.168.10.1")); | 329 | + Ip4Address.valueOf("192.168.10.1")); |
| 328 | 330 | ||
| 329 | // Construct the existing MultiPointToSinglePointIntent intent | 331 | // Construct the existing MultiPointToSinglePointIntent intent |
| 330 | MultiPointToSinglePointIntent intent = staticIntentBuilder(); | 332 | MultiPointToSinglePointIntent intent = staticIntentBuilder(); |
| ... | @@ -401,8 +403,8 @@ public class RouterTestWithAsyncArp { | ... | @@ -401,8 +403,8 @@ public class RouterTestWithAsyncArp { |
| 401 | MultiPointToSinglePointIntent intent) | 403 | MultiPointToSinglePointIntent intent) |
| 402 | throws TestUtilsException { | 404 | throws TestUtilsException { |
| 403 | 405 | ||
| 404 | - ConcurrentHashMap<IpPrefix, MultiPointToSinglePointIntent> | 406 | + ConcurrentHashMap<Ip4Prefix, MultiPointToSinglePointIntent> |
| 405 | - pushedRouteIntents = new ConcurrentHashMap<>(); | 407 | + pushedRouteIntents = new ConcurrentHashMap<>(); |
| 406 | pushedRouteIntents.put(routeEntry.prefix(), intent); | 408 | pushedRouteIntents.put(routeEntry.prefix(), intent); |
| 407 | TestUtils.setField(router, "pushedRouteIntents", pushedRouteIntents); | 409 | TestUtils.setField(router, "pushedRouteIntents", pushedRouteIntents); |
| 408 | } | 410 | } | ... | ... |
| ... | @@ -207,7 +207,7 @@ public class SdnIpTest { | ... | @@ -207,7 +207,7 @@ public class SdnIpTest { |
| 207 | reset(intentService); | 207 | reset(intentService); |
| 208 | 208 | ||
| 209 | for (RouteUpdate update : routeUpdates) { | 209 | for (RouteUpdate update : routeUpdates) { |
| 210 | - IpAddress nextHopAddress = update.routeEntry().nextHop(); | 210 | + Ip4Address nextHopAddress = update.routeEntry().nextHop(); |
| 211 | 211 | ||
| 212 | // Find out the egress ConnectPoint | 212 | // Find out the egress ConnectPoint |
| 213 | ConnectPoint egressConnectPoint = getConnectPoint(nextHopAddress); | 213 | ConnectPoint egressConnectPoint = getConnectPoint(nextHopAddress); |
| ... | @@ -268,7 +268,7 @@ public class SdnIpTest { | ... | @@ -268,7 +268,7 @@ public class SdnIpTest { |
| 268 | reset(intentService); | 268 | reset(intentService); |
| 269 | 269 | ||
| 270 | for (RouteUpdate update : routeUpdates) { | 270 | for (RouteUpdate update : routeUpdates) { |
| 271 | - IpAddress nextHopAddress = update.routeEntry().nextHop(); | 271 | + Ip4Address nextHopAddress = update.routeEntry().nextHop(); |
| 272 | 272 | ||
| 273 | // Find out the egress ConnectPoint | 273 | // Find out the egress ConnectPoint |
| 274 | ConnectPoint egressConnectPoint = getConnectPoint(nextHopAddress); | 274 | ConnectPoint egressConnectPoint = getConnectPoint(nextHopAddress); |
| ... | @@ -342,11 +342,6 @@ public class SdnIpTest { | ... | @@ -342,11 +342,6 @@ public class SdnIpTest { |
| 342 | prefixLength); | 342 | prefixLength); |
| 343 | // We have to ensure we don't generate the same prefix twice | 343 | // We have to ensure we don't generate the same prefix twice |
| 344 | // (this is quite easy to happen with small prefix lengths). | 344 | // (this is quite easy to happen with small prefix lengths). |
| 345 | - // TODO: | ||
| 346 | - // The IpPrefix does the comparison using 32 bits length, | ||
| 347 | - // but we need to compare only the prefix length. So I use | ||
| 348 | - // Ip4Prefix for this moment and changed to IpPrefix. This | ||
| 349 | - // can be improved in the future. | ||
| 350 | } while (prefixes.contains(prefix)); | 345 | } while (prefixes.contains(prefix)); |
| 351 | 346 | ||
| 352 | prefixes.add(prefix); | 347 | prefixes.add(prefix); |
| ... | @@ -366,9 +361,9 @@ public class SdnIpTest { | ... | @@ -366,9 +361,9 @@ public class SdnIpTest { |
| 366 | assertNotNull(nextHop); | 361 | assertNotNull(nextHop); |
| 367 | 362 | ||
| 368 | RouteUpdate update = | 363 | RouteUpdate update = |
| 369 | - new RouteUpdate(RouteUpdate.Type.UPDATE, | 364 | + new RouteUpdate(RouteUpdate.Type.UPDATE, |
| 370 | - new RouteEntry(prefix, | 365 | + new RouteEntry(prefix, |
| 371 | - nextHop.ipAddress())); | 366 | + nextHop.ipAddress().getIp4Address())); |
| 372 | 367 | ||
| 373 | routeUpdates.add(update); | 368 | routeUpdates.add(update); |
| 374 | } | 369 | } | ... | ... |
| ... | @@ -26,30 +26,30 @@ import java.util.ArrayList; | ... | @@ -26,30 +26,30 @@ import java.util.ArrayList; |
| 26 | 26 | ||
| 27 | import org.junit.Before; | 27 | import org.junit.Before; |
| 28 | import org.junit.Test; | 28 | import org.junit.Test; |
| 29 | -import org.onlab.packet.IpAddress; | 29 | +import org.onlab.packet.Ip4Address; |
| 30 | -import org.onlab.packet.IpPrefix; | 30 | +import org.onlab.packet.Ip4Prefix; |
| 31 | 31 | ||
| 32 | /** | 32 | /** |
| 33 | * Unit tests for the BgpRouteEntry class. | 33 | * Unit tests for the BgpRouteEntry class. |
| 34 | */ | 34 | */ |
| 35 | public class BgpRouteEntryTest { | 35 | public class BgpRouteEntryTest { |
| 36 | private BgpSession bgpSession; | 36 | private BgpSession bgpSession; |
| 37 | - private static final IpAddress BGP_SESSION_BGP_ID = | 37 | + private static final Ip4Address BGP_SESSION_BGP_ID = |
| 38 | - IpAddress.valueOf("10.0.0.1"); | 38 | + Ip4Address.valueOf("10.0.0.1"); |
| 39 | - private static final IpAddress BGP_SESSION_IP_ADDRESS = | 39 | + private static final Ip4Address BGP_SESSION_IP_ADDRESS = |
| 40 | - IpAddress.valueOf("20.0.0.1"); | 40 | + Ip4Address.valueOf("20.0.0.1"); |
| 41 | 41 | ||
| 42 | private BgpSession bgpSession2; | 42 | private BgpSession bgpSession2; |
| 43 | - private static final IpAddress BGP_SESSION_BGP_ID2 = | 43 | + private static final Ip4Address BGP_SESSION_BGP_ID2 = |
| 44 | - IpAddress.valueOf("10.0.0.2"); | 44 | + Ip4Address.valueOf("10.0.0.2"); |
| 45 | - private static final IpAddress BGP_SESSION_IP_ADDRESS2 = | 45 | + private static final Ip4Address BGP_SESSION_IP_ADDRESS2 = |
| 46 | - IpAddress.valueOf("20.0.0.1"); | 46 | + Ip4Address.valueOf("20.0.0.1"); |
| 47 | 47 | ||
| 48 | private BgpSession bgpSession3; | 48 | private BgpSession bgpSession3; |
| 49 | - private static final IpAddress BGP_SESSION_BGP_ID3 = | 49 | + private static final Ip4Address BGP_SESSION_BGP_ID3 = |
| 50 | - IpAddress.valueOf("10.0.0.1"); | 50 | + Ip4Address.valueOf("10.0.0.1"); |
| 51 | - private static final IpAddress BGP_SESSION_IP_ADDRESS3 = | 51 | + private static final Ip4Address BGP_SESSION_IP_ADDRESS3 = |
| 52 | - IpAddress.valueOf("20.0.0.2"); | 52 | + Ip4Address.valueOf("20.0.0.2"); |
| 53 | 53 | ||
| 54 | @Before | 54 | @Before |
| 55 | public void setUp() throws Exception { | 55 | public void setUp() throws Exception { |
| ... | @@ -85,8 +85,8 @@ public class BgpRouteEntryTest { | ... | @@ -85,8 +85,8 @@ public class BgpRouteEntryTest { |
| 85 | * @return a generated BGP Route Entry | 85 | * @return a generated BGP Route Entry |
| 86 | */ | 86 | */ |
| 87 | private BgpRouteEntry generateBgpRouteEntry() { | 87 | private BgpRouteEntry generateBgpRouteEntry() { |
| 88 | - IpPrefix prefix = IpPrefix.valueOf("1.2.3.0/24"); | 88 | + Ip4Prefix prefix = Ip4Prefix.valueOf("1.2.3.0/24"); |
| 89 | - IpAddress nextHop = IpAddress.valueOf("5.6.7.8"); | 89 | + Ip4Address nextHop = Ip4Address.valueOf("5.6.7.8"); |
| 90 | byte origin = BgpConstants.Update.Origin.IGP; | 90 | byte origin = BgpConstants.Update.Origin.IGP; |
| 91 | // Setup the AS Path | 91 | // Setup the AS Path |
| 92 | ArrayList<BgpRouteEntry.PathSegment> pathSegments = new ArrayList<>(); | 92 | ArrayList<BgpRouteEntry.PathSegment> pathSegments = new ArrayList<>(); |
| ... | @@ -143,8 +143,8 @@ public class BgpRouteEntryTest { | ... | @@ -143,8 +143,8 @@ public class BgpRouteEntryTest { |
| 143 | @Test(expected = NullPointerException.class) | 143 | @Test(expected = NullPointerException.class) |
| 144 | public void testInvalidConstructorNullBgpSession() { | 144 | public void testInvalidConstructorNullBgpSession() { |
| 145 | BgpSession bgpSessionNull = null; | 145 | BgpSession bgpSessionNull = null; |
| 146 | - IpPrefix prefix = IpPrefix.valueOf("1.2.3.0/24"); | 146 | + Ip4Prefix prefix = Ip4Prefix.valueOf("1.2.3.0/24"); |
| 147 | - IpAddress nextHop = IpAddress.valueOf("5.6.7.8"); | 147 | + Ip4Address nextHop = Ip4Address.valueOf("5.6.7.8"); |
| 148 | byte origin = BgpConstants.Update.Origin.IGP; | 148 | byte origin = BgpConstants.Update.Origin.IGP; |
| 149 | // Setup the AS Path | 149 | // Setup the AS Path |
| 150 | ArrayList<BgpRouteEntry.PathSegment> pathSegments = new ArrayList<>(); | 150 | ArrayList<BgpRouteEntry.PathSegment> pathSegments = new ArrayList<>(); |
| ... | @@ -161,8 +161,8 @@ public class BgpRouteEntryTest { | ... | @@ -161,8 +161,8 @@ public class BgpRouteEntryTest { |
| 161 | */ | 161 | */ |
| 162 | @Test(expected = NullPointerException.class) | 162 | @Test(expected = NullPointerException.class) |
| 163 | public void testInvalidConstructorNullAsPath() { | 163 | public void testInvalidConstructorNullAsPath() { |
| 164 | - IpPrefix prefix = IpPrefix.valueOf("1.2.3.0/24"); | 164 | + Ip4Prefix prefix = Ip4Prefix.valueOf("1.2.3.0/24"); |
| 165 | - IpAddress nextHop = IpAddress.valueOf("5.6.7.8"); | 165 | + Ip4Address nextHop = Ip4Address.valueOf("5.6.7.8"); |
| 166 | byte origin = BgpConstants.Update.Origin.IGP; | 166 | byte origin = BgpConstants.Update.Origin.IGP; |
| 167 | BgpRouteEntry.AsPath asPath = null; | 167 | BgpRouteEntry.AsPath asPath = null; |
| 168 | long localPref = 100; | 168 | long localPref = 100; |
| ... | @@ -177,8 +177,8 @@ public class BgpRouteEntryTest { | ... | @@ -177,8 +177,8 @@ public class BgpRouteEntryTest { |
| 177 | @Test | 177 | @Test |
| 178 | public void testGetFields() { | 178 | public void testGetFields() { |
| 179 | // Create the fields to compare against | 179 | // Create the fields to compare against |
| 180 | - IpPrefix prefix = IpPrefix.valueOf("1.2.3.0/24"); | 180 | + Ip4Prefix prefix = Ip4Prefix.valueOf("1.2.3.0/24"); |
| 181 | - IpAddress nextHop = IpAddress.valueOf("5.6.7.8"); | 181 | + Ip4Address nextHop = Ip4Address.valueOf("5.6.7.8"); |
| 182 | byte origin = BgpConstants.Update.Origin.IGP; | 182 | byte origin = BgpConstants.Update.Origin.IGP; |
| 183 | // Setup the AS Path | 183 | // Setup the AS Path |
| 184 | ArrayList<BgpRouteEntry.PathSegment> pathSegments = new ArrayList<>(); | 184 | ArrayList<BgpRouteEntry.PathSegment> pathSegments = new ArrayList<>(); |
| ... | @@ -231,8 +231,8 @@ public class BgpRouteEntryTest { | ... | @@ -231,8 +231,8 @@ public class BgpRouteEntryTest { |
| 231 | // | 231 | // |
| 232 | // Test local route with AS Path that begins with AS_SET | 232 | // Test local route with AS Path that begins with AS_SET |
| 233 | // | 233 | // |
| 234 | - IpPrefix prefix = IpPrefix.valueOf("1.2.3.0/24"); | 234 | + Ip4Prefix prefix = Ip4Prefix.valueOf("1.2.3.0/24"); |
| 235 | - IpAddress nextHop = IpAddress.valueOf("5.6.7.8"); | 235 | + Ip4Address nextHop = Ip4Address.valueOf("5.6.7.8"); |
| 236 | byte origin = BgpConstants.Update.Origin.IGP; | 236 | byte origin = BgpConstants.Update.Origin.IGP; |
| 237 | // Setup the AS Path | 237 | // Setup the AS Path |
| 238 | ArrayList<BgpRouteEntry.PathSegment> pathSegments = new ArrayList<>(); | 238 | ArrayList<BgpRouteEntry.PathSegment> pathSegments = new ArrayList<>(); |
| ... | @@ -291,8 +291,8 @@ public class BgpRouteEntryTest { | ... | @@ -291,8 +291,8 @@ public class BgpRouteEntryTest { |
| 291 | // | 291 | // |
| 292 | // Get neighbor AS for a local route | 292 | // Get neighbor AS for a local route |
| 293 | // | 293 | // |
| 294 | - IpPrefix prefix = IpPrefix.valueOf("1.2.3.0/24"); | 294 | + Ip4Prefix prefix = Ip4Prefix.valueOf("1.2.3.0/24"); |
| 295 | - IpAddress nextHop = IpAddress.valueOf("5.6.7.8"); | 295 | + Ip4Address nextHop = Ip4Address.valueOf("5.6.7.8"); |
| 296 | byte origin = BgpConstants.Update.Origin.IGP; | 296 | byte origin = BgpConstants.Update.Origin.IGP; |
| 297 | // Setup the AS Path | 297 | // Setup the AS Path |
| 298 | ArrayList<BgpRouteEntry.PathSegment> pathSegments = new ArrayList<>(); | 298 | ArrayList<BgpRouteEntry.PathSegment> pathSegments = new ArrayList<>(); |
| ... | @@ -341,8 +341,8 @@ public class BgpRouteEntryTest { | ... | @@ -341,8 +341,8 @@ public class BgpRouteEntryTest { |
| 341 | // | 341 | // |
| 342 | // Compare two routes with different LOCAL_PREF | 342 | // Compare two routes with different LOCAL_PREF |
| 343 | // | 343 | // |
| 344 | - IpPrefix prefix = IpPrefix.valueOf("1.2.3.0/24"); | 344 | + Ip4Prefix prefix = Ip4Prefix.valueOf("1.2.3.0/24"); |
| 345 | - IpAddress nextHop = IpAddress.valueOf("5.6.7.8"); | 345 | + Ip4Address nextHop = Ip4Address.valueOf("5.6.7.8"); |
| 346 | byte origin = BgpConstants.Update.Origin.IGP; | 346 | byte origin = BgpConstants.Update.Origin.IGP; |
| 347 | // Setup the AS Path | 347 | // Setup the AS Path |
| 348 | ArrayList<BgpRouteEntry.PathSegment> pathSegments = new ArrayList<>(); | 348 | ArrayList<BgpRouteEntry.PathSegment> pathSegments = new ArrayList<>(); |
| ... | @@ -460,8 +460,8 @@ public class BgpRouteEntryTest { | ... | @@ -460,8 +460,8 @@ public class BgpRouteEntryTest { |
| 460 | BgpRouteEntry bgpRouteEntry1 = generateBgpRouteEntry(); | 460 | BgpRouteEntry bgpRouteEntry1 = generateBgpRouteEntry(); |
| 461 | 461 | ||
| 462 | // Setup BGP Route 2 | 462 | // Setup BGP Route 2 |
| 463 | - IpPrefix prefix = IpPrefix.valueOf("1.2.3.0/24"); | 463 | + Ip4Prefix prefix = Ip4Prefix.valueOf("1.2.3.0/24"); |
| 464 | - IpAddress nextHop = IpAddress.valueOf("5.6.7.8"); | 464 | + Ip4Address nextHop = Ip4Address.valueOf("5.6.7.8"); |
| 465 | byte origin = BgpConstants.Update.Origin.IGP; | 465 | byte origin = BgpConstants.Update.Origin.IGP; |
| 466 | // Setup the AS Path | 466 | // Setup the AS Path |
| 467 | ArrayList<BgpRouteEntry.PathSegment> pathSegments = new ArrayList<>(); | 467 | ArrayList<BgpRouteEntry.PathSegment> pathSegments = new ArrayList<>(); | ... | ... |
| ... | @@ -45,8 +45,8 @@ import org.onlab.junit.TestUtils; | ... | @@ -45,8 +45,8 @@ import org.onlab.junit.TestUtils; |
| 45 | import org.onlab.junit.TestUtils.TestUtilsException; | 45 | import org.onlab.junit.TestUtils.TestUtilsException; |
| 46 | import org.onlab.onos.sdnip.RouteListener; | 46 | import org.onlab.onos.sdnip.RouteListener; |
| 47 | import org.onlab.onos.sdnip.RouteUpdate; | 47 | import org.onlab.onos.sdnip.RouteUpdate; |
| 48 | -import org.onlab.packet.IpAddress; | 48 | +import org.onlab.packet.Ip4Address; |
| 49 | -import org.onlab.packet.IpPrefix; | 49 | +import org.onlab.packet.Ip4Prefix; |
| 50 | 50 | ||
| 51 | import com.google.common.net.InetAddresses; | 51 | import com.google.common.net.InetAddresses; |
| 52 | 52 | ||
| ... | @@ -54,9 +54,10 @@ import com.google.common.net.InetAddresses; | ... | @@ -54,9 +54,10 @@ import com.google.common.net.InetAddresses; |
| 54 | * Unit tests for the BgpSessionManager class. | 54 | * Unit tests for the BgpSessionManager class. |
| 55 | */ | 55 | */ |
| 56 | public class BgpSessionManagerTest { | 56 | public class BgpSessionManagerTest { |
| 57 | - private static final IpAddress IP_LOOPBACK_ID = | 57 | + private static final Ip4Address IP_LOOPBACK_ID = |
| 58 | - IpAddress.valueOf("127.0.0.1"); | 58 | + Ip4Address.valueOf("127.0.0.1"); |
| 59 | - private static final IpAddress BGP_PEER1_ID = IpAddress.valueOf("10.0.0.1"); | 59 | + private static final Ip4Address BGP_PEER1_ID = |
| 60 | + Ip4Address.valueOf("10.0.0.1"); | ||
| 60 | private static final long DEFAULT_LOCAL_PREF = 10; | 61 | private static final long DEFAULT_LOCAL_PREF = 10; |
| 61 | private static final long DEFAULT_MULTI_EXIT_DISC = 20; | 62 | private static final long DEFAULT_MULTI_EXIT_DISC = 20; |
| 62 | 63 | ||
| ... | @@ -245,7 +246,7 @@ public class BgpSessionManagerTest { | ... | @@ -245,7 +246,7 @@ public class BgpSessionManagerTest { |
| 245 | @Test | 246 | @Test |
| 246 | public void testProcessedBgpUpdateMessages() throws InterruptedException { | 247 | public void testProcessedBgpUpdateMessages() throws InterruptedException { |
| 247 | BgpSession bgpSession; | 248 | BgpSession bgpSession; |
| 248 | - IpAddress nextHopRouter; | 249 | + Ip4Address nextHopRouter; |
| 249 | BgpRouteEntry bgpRouteEntry; | 250 | BgpRouteEntry bgpRouteEntry; |
| 250 | ChannelBuffer message; | 251 | ChannelBuffer message; |
| 251 | Collection<BgpRouteEntry> bgpRibIn; | 252 | Collection<BgpRouteEntry> bgpRibIn; |
| ... | @@ -265,18 +266,18 @@ public class BgpSessionManagerTest { | ... | @@ -265,18 +266,18 @@ public class BgpSessionManagerTest { |
| 265 | bgpSession = bgpSessionManager.getBgpSessions().iterator().next(); | 266 | bgpSession = bgpSessionManager.getBgpSessions().iterator().next(); |
| 266 | 267 | ||
| 267 | // Prepare routes to add/delete | 268 | // Prepare routes to add/delete |
| 268 | - nextHopRouter = IpAddress.valueOf("10.20.30.40"); | 269 | + nextHopRouter = Ip4Address.valueOf("10.20.30.40"); |
| 269 | - Collection<IpPrefix> addedRoutes = new LinkedList<>(); | 270 | + Collection<Ip4Prefix> addedRoutes = new LinkedList<>(); |
| 270 | - Collection<IpPrefix> withdrawnRoutes = new LinkedList<>(); | 271 | + Collection<Ip4Prefix> withdrawnRoutes = new LinkedList<>(); |
| 271 | - addedRoutes.add(IpPrefix.valueOf("0.0.0.0/0")); | 272 | + addedRoutes.add(Ip4Prefix.valueOf("0.0.0.0/0")); |
| 272 | - addedRoutes.add(IpPrefix.valueOf("20.0.0.0/8")); | 273 | + addedRoutes.add(Ip4Prefix.valueOf("20.0.0.0/8")); |
| 273 | - addedRoutes.add(IpPrefix.valueOf("30.0.0.0/16")); | 274 | + addedRoutes.add(Ip4Prefix.valueOf("30.0.0.0/16")); |
| 274 | - addedRoutes.add(IpPrefix.valueOf("40.0.0.0/24")); | 275 | + addedRoutes.add(Ip4Prefix.valueOf("40.0.0.0/24")); |
| 275 | - addedRoutes.add(IpPrefix.valueOf("50.0.0.0/32")); | 276 | + addedRoutes.add(Ip4Prefix.valueOf("50.0.0.0/32")); |
| 276 | - withdrawnRoutes.add(IpPrefix.valueOf("60.0.0.0/8")); | 277 | + withdrawnRoutes.add(Ip4Prefix.valueOf("60.0.0.0/8")); |
| 277 | - withdrawnRoutes.add(IpPrefix.valueOf("70.0.0.0/16")); | 278 | + withdrawnRoutes.add(Ip4Prefix.valueOf("70.0.0.0/16")); |
| 278 | - withdrawnRoutes.add(IpPrefix.valueOf("80.0.0.0/24")); | 279 | + withdrawnRoutes.add(Ip4Prefix.valueOf("80.0.0.0/24")); |
| 279 | - withdrawnRoutes.add(IpPrefix.valueOf("90.0.0.0/32")); | 280 | + withdrawnRoutes.add(Ip4Prefix.valueOf("90.0.0.0/32")); |
| 280 | // Write the routes | 281 | // Write the routes |
| 281 | message = peerChannelHandler.prepareBgpUpdate(nextHopRouter, | 282 | message = peerChannelHandler.prepareBgpUpdate(nextHopRouter, |
| 282 | addedRoutes, | 283 | addedRoutes, |
| ... | @@ -314,7 +315,7 @@ public class BgpSessionManagerTest { | ... | @@ -314,7 +315,7 @@ public class BgpSessionManagerTest { |
| 314 | // | 315 | // |
| 315 | bgpRouteEntry = | 316 | bgpRouteEntry = |
| 316 | new BgpRouteEntry(bgpSession, | 317 | new BgpRouteEntry(bgpSession, |
| 317 | - IpPrefix.valueOf("0.0.0.0/0"), | 318 | + Ip4Prefix.valueOf("0.0.0.0/0"), |
| 318 | nextHopRouter, | 319 | nextHopRouter, |
| 319 | (byte) BgpConstants.Update.Origin.IGP, | 320 | (byte) BgpConstants.Update.Origin.IGP, |
| 320 | asPath, | 321 | asPath, |
| ... | @@ -324,7 +325,7 @@ public class BgpSessionManagerTest { | ... | @@ -324,7 +325,7 @@ public class BgpSessionManagerTest { |
| 324 | // | 325 | // |
| 325 | bgpRouteEntry = | 326 | bgpRouteEntry = |
| 326 | new BgpRouteEntry(bgpSession, | 327 | new BgpRouteEntry(bgpSession, |
| 327 | - IpPrefix.valueOf("20.0.0.0/8"), | 328 | + Ip4Prefix.valueOf("20.0.0.0/8"), |
| 328 | nextHopRouter, | 329 | nextHopRouter, |
| 329 | (byte) BgpConstants.Update.Origin.IGP, | 330 | (byte) BgpConstants.Update.Origin.IGP, |
| 330 | asPath, | 331 | asPath, |
| ... | @@ -334,7 +335,7 @@ public class BgpSessionManagerTest { | ... | @@ -334,7 +335,7 @@ public class BgpSessionManagerTest { |
| 334 | // | 335 | // |
| 335 | bgpRouteEntry = | 336 | bgpRouteEntry = |
| 336 | new BgpRouteEntry(bgpSession, | 337 | new BgpRouteEntry(bgpSession, |
| 337 | - IpPrefix.valueOf("30.0.0.0/16"), | 338 | + Ip4Prefix.valueOf("30.0.0.0/16"), |
| 338 | nextHopRouter, | 339 | nextHopRouter, |
| 339 | (byte) BgpConstants.Update.Origin.IGP, | 340 | (byte) BgpConstants.Update.Origin.IGP, |
| 340 | asPath, | 341 | asPath, |
| ... | @@ -344,7 +345,7 @@ public class BgpSessionManagerTest { | ... | @@ -344,7 +345,7 @@ public class BgpSessionManagerTest { |
| 344 | // | 345 | // |
| 345 | bgpRouteEntry = | 346 | bgpRouteEntry = |
| 346 | new BgpRouteEntry(bgpSession, | 347 | new BgpRouteEntry(bgpSession, |
| 347 | - IpPrefix.valueOf("40.0.0.0/24"), | 348 | + Ip4Prefix.valueOf("40.0.0.0/24"), |
| 348 | nextHopRouter, | 349 | nextHopRouter, |
| 349 | (byte) BgpConstants.Update.Origin.IGP, | 350 | (byte) BgpConstants.Update.Origin.IGP, |
| 350 | asPath, | 351 | asPath, |
| ... | @@ -354,7 +355,7 @@ public class BgpSessionManagerTest { | ... | @@ -354,7 +355,7 @@ public class BgpSessionManagerTest { |
| 354 | // | 355 | // |
| 355 | bgpRouteEntry = | 356 | bgpRouteEntry = |
| 356 | new BgpRouteEntry(bgpSession, | 357 | new BgpRouteEntry(bgpSession, |
| 357 | - IpPrefix.valueOf("50.0.0.0/32"), | 358 | + Ip4Prefix.valueOf("50.0.0.0/32"), |
| 358 | nextHopRouter, | 359 | nextHopRouter, |
| 359 | (byte) BgpConstants.Update.Origin.IGP, | 360 | (byte) BgpConstants.Update.Origin.IGP, |
| 360 | asPath, | 361 | asPath, |
| ... | @@ -365,8 +366,8 @@ public class BgpSessionManagerTest { | ... | @@ -365,8 +366,8 @@ public class BgpSessionManagerTest { |
| 365 | // Delete some routes | 366 | // Delete some routes |
| 366 | addedRoutes = new LinkedList<>(); | 367 | addedRoutes = new LinkedList<>(); |
| 367 | withdrawnRoutes = new LinkedList<>(); | 368 | withdrawnRoutes = new LinkedList<>(); |
| 368 | - withdrawnRoutes.add(IpPrefix.valueOf("0.0.0.0/0")); | 369 | + withdrawnRoutes.add(Ip4Prefix.valueOf("0.0.0.0/0")); |
| 369 | - withdrawnRoutes.add(IpPrefix.valueOf("50.0.0.0/32")); | 370 | + withdrawnRoutes.add(Ip4Prefix.valueOf("50.0.0.0/32")); |
| 370 | 371 | ||
| 371 | // Write the routes | 372 | // Write the routes |
| 372 | message = peerChannelHandler.prepareBgpUpdate(nextHopRouter, | 373 | message = peerChannelHandler.prepareBgpUpdate(nextHopRouter, |
| ... | @@ -382,7 +383,7 @@ public class BgpSessionManagerTest { | ... | @@ -382,7 +383,7 @@ public class BgpSessionManagerTest { |
| 382 | // | 383 | // |
| 383 | bgpRouteEntry = | 384 | bgpRouteEntry = |
| 384 | new BgpRouteEntry(bgpSession, | 385 | new BgpRouteEntry(bgpSession, |
| 385 | - IpPrefix.valueOf("20.0.0.0/8"), | 386 | + Ip4Prefix.valueOf("20.0.0.0/8"), |
| 386 | nextHopRouter, | 387 | nextHopRouter, |
| 387 | (byte) BgpConstants.Update.Origin.IGP, | 388 | (byte) BgpConstants.Update.Origin.IGP, |
| 388 | asPath, | 389 | asPath, |
| ... | @@ -392,7 +393,7 @@ public class BgpSessionManagerTest { | ... | @@ -392,7 +393,7 @@ public class BgpSessionManagerTest { |
| 392 | // | 393 | // |
| 393 | bgpRouteEntry = | 394 | bgpRouteEntry = |
| 394 | new BgpRouteEntry(bgpSession, | 395 | new BgpRouteEntry(bgpSession, |
| 395 | - IpPrefix.valueOf("30.0.0.0/16"), | 396 | + Ip4Prefix.valueOf("30.0.0.0/16"), |
| 396 | nextHopRouter, | 397 | nextHopRouter, |
| 397 | (byte) BgpConstants.Update.Origin.IGP, | 398 | (byte) BgpConstants.Update.Origin.IGP, |
| 398 | asPath, | 399 | asPath, |
| ... | @@ -402,7 +403,7 @@ public class BgpSessionManagerTest { | ... | @@ -402,7 +403,7 @@ public class BgpSessionManagerTest { |
| 402 | // | 403 | // |
| 403 | bgpRouteEntry = | 404 | bgpRouteEntry = |
| 404 | new BgpRouteEntry(bgpSession, | 405 | new BgpRouteEntry(bgpSession, |
| 405 | - IpPrefix.valueOf("40.0.0.0/24"), | 406 | + Ip4Prefix.valueOf("40.0.0.0/24"), |
| 406 | nextHopRouter, | 407 | nextHopRouter, |
| 407 | (byte) BgpConstants.Update.Origin.IGP, | 408 | (byte) BgpConstants.Update.Origin.IGP, |
| 408 | asPath, | 409 | asPath, | ... | ... |
| ... | @@ -22,8 +22,8 @@ import org.jboss.netty.buffer.ChannelBuffers; | ... | @@ -22,8 +22,8 @@ import org.jboss.netty.buffer.ChannelBuffers; |
| 22 | import org.jboss.netty.channel.ChannelHandlerContext; | 22 | import org.jboss.netty.channel.ChannelHandlerContext; |
| 23 | import org.jboss.netty.channel.ChannelStateEvent; | 23 | import org.jboss.netty.channel.ChannelStateEvent; |
| 24 | import org.jboss.netty.channel.SimpleChannelHandler; | 24 | import org.jboss.netty.channel.SimpleChannelHandler; |
| 25 | -import org.onlab.packet.IpAddress; | 25 | +import org.onlab.packet.Ip4Address; |
| 26 | -import org.onlab.packet.IpPrefix; | 26 | +import org.onlab.packet.Ip4Prefix; |
| 27 | 27 | ||
| 28 | /** | 28 | /** |
| 29 | * Class for handling the remote BGP Peer session. | 29 | * Class for handling the remote BGP Peer session. |
| ... | @@ -31,7 +31,7 @@ import org.onlab.packet.IpPrefix; | ... | @@ -31,7 +31,7 @@ import org.onlab.packet.IpPrefix; |
| 31 | class TestBgpPeerChannelHandler extends SimpleChannelHandler { | 31 | class TestBgpPeerChannelHandler extends SimpleChannelHandler { |
| 32 | static final long PEER_AS = 65001; | 32 | static final long PEER_AS = 65001; |
| 33 | static final int PEER_HOLDTIME = 120; // 120 seconds | 33 | static final int PEER_HOLDTIME = 120; // 120 seconds |
| 34 | - final IpAddress bgpId; // The BGP ID | 34 | + final Ip4Address bgpId; // The BGP ID |
| 35 | final long localPref; // Local preference for routes | 35 | final long localPref; // Local preference for routes |
| 36 | final long multiExitDisc = 20; // MED value | 36 | final long multiExitDisc = 20; // MED value |
| 37 | 37 | ||
| ... | @@ -43,8 +43,7 @@ class TestBgpPeerChannelHandler extends SimpleChannelHandler { | ... | @@ -43,8 +43,7 @@ class TestBgpPeerChannelHandler extends SimpleChannelHandler { |
| 43 | * @param bgpId the BGP ID to use | 43 | * @param bgpId the BGP ID to use |
| 44 | * @param localPref the local preference for the routes to use | 44 | * @param localPref the local preference for the routes to use |
| 45 | */ | 45 | */ |
| 46 | - TestBgpPeerChannelHandler(IpAddress bgpId, | 46 | + TestBgpPeerChannelHandler(Ip4Address bgpId, long localPref) { |
| 47 | - long localPref) { | ||
| 48 | this.bgpId = bgpId; | 47 | this.bgpId = bgpId; |
| 49 | this.localPref = localPref; | 48 | this.localPref = localPref; |
| 50 | } | 49 | } |
| ... | @@ -99,9 +98,9 @@ class TestBgpPeerChannelHandler extends SimpleChannelHandler { | ... | @@ -99,9 +98,9 @@ class TestBgpPeerChannelHandler extends SimpleChannelHandler { |
| 99 | * @param withdrawnRoutes the routes to withdraw | 98 | * @param withdrawnRoutes the routes to withdraw |
| 100 | * @return the message to transmit (BGP header included) | 99 | * @return the message to transmit (BGP header included) |
| 101 | */ | 100 | */ |
| 102 | - ChannelBuffer prepareBgpUpdate(IpAddress nextHopRouter, | 101 | + ChannelBuffer prepareBgpUpdate(Ip4Address nextHopRouter, |
| 103 | - Collection<IpPrefix> addedRoutes, | 102 | + Collection<Ip4Prefix> addedRoutes, |
| 104 | - Collection<IpPrefix> withdrawnRoutes) { | 103 | + Collection<Ip4Prefix> withdrawnRoutes) { |
| 105 | int attrFlags; | 104 | int attrFlags; |
| 106 | ChannelBuffer message = | 105 | ChannelBuffer message = |
| 107 | ChannelBuffers.buffer(BgpConstants.BGP_MESSAGE_MAX_LENGTH); | 106 | ChannelBuffers.buffer(BgpConstants.BGP_MESSAGE_MAX_LENGTH); |
| ... | @@ -178,24 +177,24 @@ class TestBgpPeerChannelHandler extends SimpleChannelHandler { | ... | @@ -178,24 +177,24 @@ class TestBgpPeerChannelHandler extends SimpleChannelHandler { |
| 178 | * @param prefixes the prefixes to encode | 177 | * @param prefixes the prefixes to encode |
| 179 | * @return the buffer with the encoded prefixes | 178 | * @return the buffer with the encoded prefixes |
| 180 | */ | 179 | */ |
| 181 | - private ChannelBuffer encodePackedPrefixes(Collection<IpPrefix> prefixes) { | 180 | + private ChannelBuffer encodePackedPrefixes(Collection<Ip4Prefix> prefixes) { |
| 182 | ChannelBuffer message = | 181 | ChannelBuffer message = |
| 183 | ChannelBuffers.buffer(BgpConstants.BGP_MESSAGE_MAX_LENGTH); | 182 | ChannelBuffers.buffer(BgpConstants.BGP_MESSAGE_MAX_LENGTH); |
| 184 | 183 | ||
| 185 | // Write each of the prefixes | 184 | // Write each of the prefixes |
| 186 | - for (IpPrefix prefix : prefixes) { | 185 | + for (Ip4Prefix prefix : prefixes) { |
| 187 | int prefixBitlen = prefix.prefixLength(); | 186 | int prefixBitlen = prefix.prefixLength(); |
| 188 | int prefixBytelen = (prefixBitlen + 7) / 8; // Round-up | 187 | int prefixBytelen = (prefixBitlen + 7) / 8; // Round-up |
| 189 | message.writeByte(prefixBitlen); | 188 | message.writeByte(prefixBitlen); |
| 190 | 189 | ||
| 191 | - IpAddress address = prefix.address(); | 190 | + Ip4Address address = prefix.address(); |
| 192 | long value = address.toInt() & 0xffffffffL; | 191 | long value = address.toInt() & 0xffffffffL; |
| 193 | - for (int i = 0; i < IpAddress.INET_BYTE_LENGTH; i++) { | 192 | + for (int i = 0; i < Ip4Address.BYTE_LENGTH; i++) { |
| 194 | if (prefixBytelen-- == 0) { | 193 | if (prefixBytelen-- == 0) { |
| 195 | break; | 194 | break; |
| 196 | } | 195 | } |
| 197 | long nextByte = | 196 | long nextByte = |
| 198 | - (value >> ((IpAddress.INET_BYTE_LENGTH - i - 1) * 8)) & 0xff; | 197 | + (value >> ((Ip4Address.BYTE_LENGTH - i - 1) * 8)) & 0xff; |
| 199 | message.writeByte((int) nextByte); | 198 | message.writeByte((int) nextByte); |
| 200 | } | 199 | } |
| 201 | } | 200 | } | ... | ... |
| ... | @@ -21,7 +21,7 @@ import org.jboss.netty.buffer.ChannelBuffer; | ... | @@ -21,7 +21,7 @@ import org.jboss.netty.buffer.ChannelBuffer; |
| 21 | import org.jboss.netty.channel.Channel; | 21 | import org.jboss.netty.channel.Channel; |
| 22 | import org.jboss.netty.channel.ChannelHandlerContext; | 22 | import org.jboss.netty.channel.ChannelHandlerContext; |
| 23 | import org.jboss.netty.handler.codec.frame.FrameDecoder; | 23 | import org.jboss.netty.handler.codec.frame.FrameDecoder; |
| 24 | -import org.onlab.packet.IpAddress; | 24 | +import org.onlab.packet.Ip4Address; |
| 25 | 25 | ||
| 26 | /** | 26 | /** |
| 27 | * Class for handling the decoding of the BGP messages at the remote | 27 | * Class for handling the decoding of the BGP messages at the remote |
| ... | @@ -31,7 +31,7 @@ class TestBgpPeerFrameDecoder extends FrameDecoder { | ... | @@ -31,7 +31,7 @@ class TestBgpPeerFrameDecoder extends FrameDecoder { |
| 31 | int remoteBgpVersion; // 1 octet | 31 | int remoteBgpVersion; // 1 octet |
| 32 | long remoteAs; // 2 octets | 32 | long remoteAs; // 2 octets |
| 33 | long remoteHoldtime; // 2 octets | 33 | long remoteHoldtime; // 2 octets |
| 34 | - IpAddress remoteBgpIdentifier; // 4 octets -> IPv4 address | 34 | + Ip4Address remoteBgpIdentifier; // 4 octets -> IPv4 address |
| 35 | 35 | ||
| 36 | final CountDownLatch receivedOpenMessageLatch = new CountDownLatch(1); | 36 | final CountDownLatch receivedOpenMessageLatch = new CountDownLatch(1); |
| 37 | final CountDownLatch receivedKeepaliveMessageLatch = new CountDownLatch(1); | 37 | final CountDownLatch receivedKeepaliveMessageLatch = new CountDownLatch(1); |
| ... | @@ -144,7 +144,8 @@ class TestBgpPeerFrameDecoder extends FrameDecoder { | ... | @@ -144,7 +144,8 @@ class TestBgpPeerFrameDecoder extends FrameDecoder { |
| 144 | remoteBgpVersion = message.readUnsignedByte(); | 144 | remoteBgpVersion = message.readUnsignedByte(); |
| 145 | remoteAs = message.readUnsignedShort(); | 145 | remoteAs = message.readUnsignedShort(); |
| 146 | remoteHoldtime = message.readUnsignedShort(); | 146 | remoteHoldtime = message.readUnsignedShort(); |
| 147 | - remoteBgpIdentifier = IpAddress.valueOf((int) message.readUnsignedInt()); | 147 | + remoteBgpIdentifier = |
| 148 | + Ip4Address.valueOf((int) message.readUnsignedInt()); | ||
| 148 | // Optional Parameters | 149 | // Optional Parameters |
| 149 | int optParamLen = message.readUnsignedByte(); | 150 | int optParamLen = message.readUnsignedByte(); |
| 150 | if (message.readableBytes() < optParamLen) { | 151 | if (message.readableBytes() < optParamLen) { | ... | ... |
-
Please register or login to post a comment