diff options
Diffstat (limited to 'framework/src/onos/apps/routing-api/src/main/java/org/onosproject/routing/config')
8 files changed, 0 insertions, 1024 deletions
diff --git a/framework/src/onos/apps/routing-api/src/main/java/org/onosproject/routing/config/BgpConfig.java b/framework/src/onos/apps/routing-api/src/main/java/org/onosproject/routing/config/BgpConfig.java deleted file mode 100644 index 6085c60a..00000000 --- a/framework/src/onos/apps/routing-api/src/main/java/org/onosproject/routing/config/BgpConfig.java +++ /dev/null @@ -1,268 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.onosproject.routing.config; - -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.node.ArrayNode; -import com.fasterxml.jackson.databind.node.JsonNodeFactory; -import com.fasterxml.jackson.databind.node.ObjectNode; -import com.google.common.collect.Sets; -import org.onlab.packet.IpAddress; -import org.onosproject.core.ApplicationId; -import org.onosproject.net.ConnectPoint; -import org.onosproject.net.config.Config; - -import java.util.Objects; -import java.util.Optional; -import java.util.Set; - -import static com.google.common.base.Preconditions.checkNotNull; - -/** - * Configuration object for BGP config. - */ -public class BgpConfig extends Config<ApplicationId> { - - public static final String SPEAKERS = "bgpSpeakers"; - public static final String CONNECT_POINT = "connectPoint"; - public static final String NAME = "name"; - public static final String PEERS = "peers"; - - // TODO add methods for updating config - - /** - * Gets the set of configured BGP speakers. - * - * @return BGP speakers - */ - public Set<BgpSpeakerConfig> bgpSpeakers() { - Set<BgpSpeakerConfig> speakers = Sets.newHashSet(); - - JsonNode speakersNode = object.get(SPEAKERS); - - if (speakersNode == null) { - return speakers; - } - - speakersNode.forEach(jsonNode -> { - Set<IpAddress> listenAddresses = Sets.newHashSet(); - jsonNode.path(PEERS).forEach(addressNode -> - listenAddresses.add(IpAddress.valueOf(addressNode.asText())) - ); - - Optional<String> name; - if (jsonNode.get(NAME) == null) { - name = Optional.empty(); - } else { - name = Optional.of(jsonNode.get(NAME).asText()); - } - - speakers.add(new BgpSpeakerConfig(name, - ConnectPoint.deviceConnectPoint(jsonNode.path(CONNECT_POINT).asText()), - listenAddresses)); - }); - - return speakers; - } - - /** - * Examines whether a name of BGP speaker exists in configuration. - * - * @param name name of BGP speaker being search - * @return speaker - */ - public BgpSpeakerConfig getSpeakerWithName(String name) { - for (BgpConfig.BgpSpeakerConfig speaker : bgpSpeakers()) { - if (speaker.name().isPresent() && speaker.name().get().equals(name)) { - return speaker; - } - } - return null; - } - - /** - * Adds BGP speaker to configuration. - * - * @param speaker BGP speaker configuration entry - */ - public void addSpeaker(BgpSpeakerConfig speaker) { - ObjectNode speakerNode = JsonNodeFactory.instance.objectNode(); - - speakerNode.put(NAME, speaker.name().get()); - - speakerNode.put(CONNECT_POINT, speaker.connectPoint().elementId().toString() - + "/" + speaker.connectPoint().port().toString()); - - ArrayNode peersNode = speakerNode.putArray(PEERS); - for (IpAddress peerAddress: speaker.peers()) { - peersNode.add(peerAddress.toString()); - } - - ArrayNode speakersArray = bgpSpeakers().isEmpty() ? - initBgpConfiguration() : (ArrayNode) object.get(SPEAKERS); - speakersArray.add(speakerNode); - } - - /** - * Removes BGP speaker from configuration. - * - * @param speakerName BGP speaker name - */ - public void removeSpeaker(String speakerName) { - ArrayNode speakersArray = (ArrayNode) object.get(SPEAKERS); - - for (int i = 0; i < speakersArray.size(); i++) { - if (speakersArray.get(i).hasNonNull(NAME) && - speakersArray.get(i).get(NAME).asText().equals(speakerName)) { - speakersArray.remove(i); - return; - } - } - } - - /** - * Adds peering address to BGP speaker. - * - * @param speakerName name of BGP speaker - * @param peerAddress peering address to be added - */ - public void addPeerToSpeaker(String speakerName, IpAddress peerAddress) { - JsonNode speakersNode = object.get(SPEAKERS); - speakersNode.forEach(jsonNode -> { - if (jsonNode.hasNonNull(NAME) && - jsonNode.get(NAME).asText().equals(speakerName)) { - ArrayNode peersNode = (ArrayNode) jsonNode.get(PEERS); - for (int i = 0; i < peersNode.size(); i++) { - if (peersNode.get(i).asText().equals(peerAddress.toString())) { - return; // Peer already exists. - } - } - peersNode.add(peerAddress.toString()); - } - }); - } - - /** - * Finds BGP speaker peering with a given external peer. - * - * @param peerAddress peering address to be removed - * @return speaker - */ - public BgpSpeakerConfig getSpeakerFromPeer(IpAddress peerAddress) { - for (BgpConfig.BgpSpeakerConfig speaker : bgpSpeakers()) { - if (speaker.peers().contains(peerAddress)) { - return speaker; - } - } - return null; - } - - /** - * Removes peering address from BGP speaker. - * - * @param speaker BGP speaker configuration entries - * @param peerAddress peering address to be removed - */ - public void removePeerFromSpeaker(BgpSpeakerConfig speaker, IpAddress peerAddress) { - JsonNode speakersNode = object.get(SPEAKERS); - speakersNode.forEach(jsonNode -> { - if (jsonNode.hasNonNull(NAME) && - jsonNode.get(NAME).asText().equals(speaker.name().get())) { - ArrayNode peersNode = (ArrayNode) jsonNode.get(PEERS); - for (int i = 0; i < peersNode.size(); i++) { - if (peersNode.get(i).asText().equals(peerAddress.toString())) { - peersNode.remove(i); - return; - } - } - } - }); - } - - /** - * Creates empty configuration for BGP speakers. - * - * @return empty array of BGP speakers - */ - private ArrayNode initBgpConfiguration() { - return object.putArray(SPEAKERS); - } - - - /** - * Configuration for a BGP speaker. - */ - public static class BgpSpeakerConfig { - - private Optional<String> name; - private ConnectPoint connectPoint; - private Set<IpAddress> peers; - - public BgpSpeakerConfig(Optional<String> name, ConnectPoint connectPoint, - Set<IpAddress> peers) { - this.name = checkNotNull(name); - this.connectPoint = checkNotNull(connectPoint); - this.peers = checkNotNull(peers); - } - - public Optional<String> name() { - return name; - } - - public ConnectPoint connectPoint() { - return connectPoint; - } - - public Set<IpAddress> peers() { - return peers; - } - - /** - * Examines if BGP peer is connected. - * - * @param peer IP address of peer - * @return result of search - */ - public boolean isConnectedToPeer(IpAddress peer) { - for (final IpAddress entry : peers()) { - if (entry.equals(peer)) { - return true; - } - } - return false; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof BgpSpeakerConfig) { - final BgpSpeakerConfig that = (BgpSpeakerConfig) obj; - return Objects.equals(this.name, that.name) && - Objects.equals(this.connectPoint, that.connectPoint) && - Objects.equals(this.peers, that.peers); - } - return false; - } - - @Override - public int hashCode() { - return Objects.hash(name, connectPoint, peers); - } - } -} diff --git a/framework/src/onos/apps/routing-api/src/main/java/org/onosproject/routing/config/BgpPeer.java b/framework/src/onos/apps/routing-api/src/main/java/org/onosproject/routing/config/BgpPeer.java deleted file mode 100644 index bf9e7def..00000000 --- a/framework/src/onos/apps/routing-api/src/main/java/org/onosproject/routing/config/BgpPeer.java +++ /dev/null @@ -1,96 +0,0 @@ -/* - * Copyright 2014-2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.routing.config; - -import com.fasterxml.jackson.annotation.JsonProperty; -import com.google.common.base.MoreObjects; -import org.onlab.packet.IpAddress; -import org.onosproject.net.ConnectPoint; -import org.onosproject.net.DeviceId; -import org.onosproject.net.NetTools; -import org.onosproject.net.PortNumber; - -import java.util.Objects; - -/** - * Configuration details for a BGP peer. - */ -public class BgpPeer { - private final ConnectPoint connectPoint; - private final IpAddress ipAddress; - - /** - * Creates a new BgpPeer. - * - * @param dpid the DPID of the switch the peer is attached at, as a String - * @param port the port the peer is attached at - * @param ipAddress the IP address of the peer as a String - */ - public BgpPeer(@JsonProperty("attachmentDpid") String dpid, - @JsonProperty("attachmentPort") long port, - @JsonProperty("ipAddress") String ipAddress) { - this.connectPoint = new ConnectPoint( - DeviceId.deviceId(NetTools.dpidToUri(dpid)), - PortNumber.portNumber(port)); - this.ipAddress = IpAddress.valueOf(ipAddress); - } - - /** - * Gets the connection point of the peer. - * - * @return the connection point - */ - public ConnectPoint connectPoint() { - return connectPoint; - } - - /** - * Gets the IP address of the peer. - * - * @return the IP address - */ - public IpAddress ipAddress() { - return ipAddress; - } - - @Override - public int hashCode() { - return Objects.hash(connectPoint, ipAddress); - } - - @Override - public boolean equals(Object obj) { - if (obj == this) { - return true; - } - - if (!(obj instanceof BgpPeer)) { - return false; - } - - BgpPeer that = (BgpPeer) obj; - return Objects.equals(this.connectPoint, that.connectPoint) - && Objects.equals(this.ipAddress, that.ipAddress); - } - - @Override - public String toString() { - return MoreObjects.toStringHelper(getClass()) - .add("connectPoint", connectPoint) - .add("ipAddress", ipAddress) - .toString(); - } -} diff --git a/framework/src/onos/apps/routing-api/src/main/java/org/onosproject/routing/config/BgpSpeaker.java b/framework/src/onos/apps/routing-api/src/main/java/org/onosproject/routing/config/BgpSpeaker.java deleted file mode 100644 index d0df5e70..00000000 --- a/framework/src/onos/apps/routing-api/src/main/java/org/onosproject/routing/config/BgpSpeaker.java +++ /dev/null @@ -1,153 +0,0 @@ -/* - * Copyright 2014-2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.routing.config; - -import com.fasterxml.jackson.annotation.JsonCreator; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.google.common.base.MoreObjects; -import org.onlab.packet.MacAddress; -import org.onosproject.net.ConnectPoint; -import org.onosproject.net.DeviceId; -import org.onosproject.net.NetTools; -import org.onosproject.net.PortNumber; - -import java.util.List; -import java.util.Objects; - -/** - * Represents a BGP daemon in SDN network. - * <p> - * Each BGP speaker has a attachment point, which includes a switch DPID and a - * switch port. Each BGP speaker has one MAC address and several IP addresses, - * which are used to peer with BGP peers outside the SDN network. For each - * peer outside the SDN network, we configure a different IP address to BGP - * speaker inside the SDN network. - * </p> - * <p> - * Each BGP speaker has a name, which is a unique identifying String that is - * used to reference this speaker in the configuration. - * </p> - */ -public class BgpSpeaker { - private final String name; - private final ConnectPoint connectPoint; - private final MacAddress macAddress; - private List<InterfaceAddress> interfaceAddresses; - - /** - * Class constructor used by the JSON library to create an object. - * - * @param name the name of the BGP speaker inside SDN network - * @param attachmentDpid the DPID where the BGP speaker is attached to - * @param attachmentPort the port where the BGP speaker is attached to - * @param macAddress the MAC address of the BGP speaker - */ - @JsonCreator - public BgpSpeaker(@JsonProperty("name") String name, - @JsonProperty("attachmentDpid") String attachmentDpid, - @JsonProperty("attachmentPort") long attachmentPort, - @JsonProperty("macAddress") String macAddress) { - - this.name = name; - this.macAddress = MacAddress.valueOf(macAddress); - this.connectPoint = new ConnectPoint( - DeviceId.deviceId(NetTools.dpidToUri(attachmentDpid)), - PortNumber.portNumber(attachmentPort)); - } - - /** - * Sets the addresses we configured for the BGP speaker on all virtual - * {@link Interface}s. - * - * @param interfaceAddresses a list of IP addresses of the BGP speaker - * configured on all virtual interfaces - */ - @JsonProperty("interfaceAddresses") - public void setInterfaceAddresses( - List<InterfaceAddress> interfaceAddresses) { - this.interfaceAddresses = interfaceAddresses; - } - - /** - * Gets the BGP speaker name. - * - * @return the BGP speaker name - */ - public String name() { - return name; - } - - /** - * Gets the connect point where the BGP speaker is attached. - * - * @return the connect point - */ - public ConnectPoint connectPoint() { - return connectPoint; - } - - /** - * Gets the MAC address of the BGP speaker. - * - * @return the MAC address - */ - public MacAddress macAddress() { - return macAddress; - } - - /** - * Gets all IP addresses configured on all {@link Interface}s of the - * BGP speaker. - * - * @return a list of IP addresses of the BGP speaker configured on all - * virtual interfaces - */ - public List<InterfaceAddress> interfaceAddresses() { - return interfaceAddresses; - } - - @Override - public boolean equals(Object other) { - if (!(other instanceof BgpSpeaker)) { - return false; - } - - BgpSpeaker otherBgpSpeaker = (BgpSpeaker) other; - - return name.equals(otherBgpSpeaker.name) && - connectPoint.equals( - otherBgpSpeaker.connectPoint) && - macAddress.equals(otherBgpSpeaker.macAddress) && - interfaceAddresses.equals(otherBgpSpeaker.interfaceAddresses); - } - - @Override - public int hashCode() { - return Objects.hash(name, connectPoint, macAddress, - interfaceAddresses); - - } - - @Override - public String toString() { - return MoreObjects.toStringHelper(getClass()) - .add("speakerName", name) - .add("connectPoint", connectPoint) - .add("macAddress", macAddress) - .add("interfaceAddresses", interfaceAddresses) - .toString(); - } -} diff --git a/framework/src/onos/apps/routing-api/src/main/java/org/onosproject/routing/config/Interface.java b/framework/src/onos/apps/routing-api/src/main/java/org/onosproject/routing/config/Interface.java deleted file mode 100644 index 8d563b87..00000000 --- a/framework/src/onos/apps/routing-api/src/main/java/org/onosproject/routing/config/Interface.java +++ /dev/null @@ -1,120 +0,0 @@ -/* - * Copyright 2014-2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.routing.config; - -import com.google.common.base.MoreObjects; -import com.google.common.collect.Sets; -import org.onlab.packet.MacAddress; -import org.onlab.packet.VlanId; -import org.onosproject.net.ConnectPoint; -import org.onosproject.net.host.InterfaceIpAddress; - -import java.util.Objects; -import java.util.Set; - -/** - * An Interface is a set of addresses that are logically mapped to a switch - * port in the network. - */ -public class Interface { - private final ConnectPoint connectPoint; - private final Set<InterfaceIpAddress> ipAddresses; - private final MacAddress macAddress; - private final VlanId vlan; - - /** - * Creates an Interface based on a connection point, a set of interface - * IP addresses, and a MAC address. - * - * @param connectPoint the connect point this interface is mapped to - * @param ipAddresses the IP addresses for the interface - * @param macAddress the MAC address of the interface - * @param vlan VLAN identifier - */ - public Interface(ConnectPoint connectPoint, - Set<InterfaceIpAddress> ipAddresses, - MacAddress macAddress, VlanId vlan) { - this.connectPoint = connectPoint; - this.ipAddresses = Sets.newHashSet(ipAddresses); - this.macAddress = macAddress; - this.vlan = vlan; - } - - /** - * Retrieves the connection point that this interface maps to. - * - * @return the connection point - */ - public ConnectPoint connectPoint() { - return connectPoint; - } - - /** - * Retrieves the set of IP addresses that are assigned to the interface. - * - * @return the set of interface IP addresses - */ - public Set<InterfaceIpAddress> ipAddresses() { - return ipAddresses; - } - - /** - * Retrieves the MAC address that is assigned to the interface. - * - * @return the MAC address - */ - public MacAddress mac() { - return macAddress; - } - - /** - * Retrieves the VLAN ID that is assigned to the interface. - * - * @return the VLAN ID - */ - public VlanId vlan() { - return vlan; - } - - @Override - public boolean equals(Object other) { - if (!(other instanceof Interface)) { - return false; - } - - Interface otherInterface = (Interface) other; - - return connectPoint.equals(otherInterface.connectPoint) && - ipAddresses.equals(otherInterface.ipAddresses) && - macAddress.equals(otherInterface.macAddress) && - vlan.equals(otherInterface.vlan); - } - - @Override - public int hashCode() { - return Objects.hash(connectPoint, ipAddresses, macAddress, vlan); - } - - @Override - public String toString() { - return MoreObjects.toStringHelper(getClass()) - .add("connectPoint", connectPoint) - .add("ipAddresses", ipAddresses) - .add("macAddress", macAddress) - .add("vlan", vlan) - .toString(); - } -} diff --git a/framework/src/onos/apps/routing-api/src/main/java/org/onosproject/routing/config/InterfaceAddress.java b/framework/src/onos/apps/routing-api/src/main/java/org/onosproject/routing/config/InterfaceAddress.java deleted file mode 100644 index e0d40fb4..00000000 --- a/framework/src/onos/apps/routing-api/src/main/java/org/onosproject/routing/config/InterfaceAddress.java +++ /dev/null @@ -1,101 +0,0 @@ -/* - * Copyright 2014-2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.routing.config; - -import com.fasterxml.jackson.annotation.JsonProperty; -import com.google.common.base.MoreObjects; -import org.onlab.packet.IpAddress; -import org.onosproject.net.ConnectPoint; -import org.onosproject.net.DeviceId; -import org.onosproject.net.NetTools; -import org.onosproject.net.PortNumber; - -import java.util.Objects; - -/** - * Represents an address of a {@link BgpSpeaker} configured on an - * {@link Interface}. - * <p> - * Each InterfaceAddress includes the interface name and an IP address. - * </p> - */ -public class InterfaceAddress { - private final ConnectPoint connectPoint; - private final IpAddress ipAddress; - - /** - * Creates an InterfaceAddress object. - * - * @param dpid the DPID of the interface as a String - * @param port the port of the interface - * @param ipAddress the IP address of a {@link BgpSpeaker} configured on - * the interface - */ - public InterfaceAddress(@JsonProperty("interfaceDpid") String dpid, - @JsonProperty("interfacePort") int port, - @JsonProperty("ipAddress") String ipAddress) { - this.connectPoint = new ConnectPoint( - DeviceId.deviceId(NetTools.dpidToUri(dpid)), - PortNumber.portNumber(port)); - this.ipAddress = IpAddress.valueOf(ipAddress); - } - - /** - * Gets the connection point of the peer. - * - * @return the connection point - */ - public ConnectPoint connectPoint() { - return connectPoint; - } - - /** - * Gets the IP address of a BGP speaker configured on an {@link Interface}. - * - * @return the IP address - */ - public IpAddress ipAddress() { - return ipAddress; - } - - @Override - public int hashCode() { - return Objects.hash(connectPoint, ipAddress); - } - - @Override - public boolean equals(Object obj) { - if (obj == this) { - return true; - } - - if (!(obj instanceof InterfaceAddress)) { - return false; - } - - InterfaceAddress that = (InterfaceAddress) obj; - return Objects.equals(this.connectPoint, that.connectPoint) - && Objects.equals(this.ipAddress, that.ipAddress); - } - - @Override - public String toString() { - return MoreObjects.toStringHelper(getClass()) - .add("connectPoint", connectPoint) - .add("ipAddress", ipAddress) - .toString(); - } -} diff --git a/framework/src/onos/apps/routing-api/src/main/java/org/onosproject/routing/config/LocalIpPrefixEntry.java b/framework/src/onos/apps/routing-api/src/main/java/org/onosproject/routing/config/LocalIpPrefixEntry.java deleted file mode 100644 index d9d1824b..00000000 --- a/framework/src/onos/apps/routing-api/src/main/java/org/onosproject/routing/config/LocalIpPrefixEntry.java +++ /dev/null @@ -1,141 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.routing.config; - -import com.fasterxml.jackson.annotation.JsonProperty; -import com.google.common.base.MoreObjects; - -import java.util.Objects; - -import org.onlab.packet.IpAddress; -import org.onlab.packet.IpPrefix; - -/** - * Configuration details for an IP prefix entry. - */ -public class LocalIpPrefixEntry { - private final IpPrefix ipPrefix; - private final IpPrefixType type; - private final IpAddress gatewayIpAddress; - - /** - * Specifies the type of local IP prefix. - */ - public enum IpPrefixType { - /** - * Public IP prefixes should be exchanged by eBGP. - */ - PUBLIC, - /** - * Private IP prefixes should be used only locally and not exchanged - * by eBGP. - */ - PRIVATE, - /** - * For IP prefixes in blacklist. - */ - BLACK_LIST - } - - /** - * Creates a new IP prefix entry. - * - * @param ipPrefix an IP prefix as a String - * @param type an IP prefix type as an IpPrefixType - * @param gatewayIpAddress IP of the gateway - */ - public LocalIpPrefixEntry(@JsonProperty("ipPrefix") String ipPrefix, - @JsonProperty("type") IpPrefixType type, - @JsonProperty("gatewayIp") IpAddress - gatewayIpAddress) { - this.ipPrefix = IpPrefix.valueOf(ipPrefix); - this.type = type; - this.gatewayIpAddress = gatewayIpAddress; - } - - /** - * Gets the IP prefix of the IP prefix entry. - * - * @return the IP prefix - */ - public IpPrefix ipPrefix() { - return ipPrefix; - } - - /** - * Gets the IP prefix type of the IP prefix entry. - * - * @return the IP prefix type - */ - public IpPrefixType ipPrefixType() { - return type; - } - - /** - * Gets the gateway IP address of the IP prefix entry. - * - * @return the gateway IP address - */ - public IpAddress getGatewayIpAddress() { - return gatewayIpAddress; - } - - /** - * Tests whether the IP version of this entry is IPv4. - * - * @return true if the IP version of this entry is IPv4, otherwise false. - */ - public boolean isIp4() { - return ipPrefix.isIp4(); - } - - /** - * Tests whether the IP version of this entry is IPv6. - * - * @return true if the IP version of this entry is IPv6, otherwise false. - */ - public boolean isIp6() { - return ipPrefix.isIp6(); - } - - @Override - public int hashCode() { - return Objects.hash(ipPrefix, type); - } - - @Override - public boolean equals(Object obj) { - if (obj == this) { - return true; - } - - if (!(obj instanceof LocalIpPrefixEntry)) { - return false; - } - - LocalIpPrefixEntry that = (LocalIpPrefixEntry) obj; - return Objects.equals(this.ipPrefix, that.ipPrefix) - && Objects.equals(this.type, that.type); - } - - @Override - public String toString() { - return MoreObjects.toStringHelper(getClass()) - .add("ipPrefix", ipPrefix) - .add("ipPrefixType", type) - .toString(); - } -} diff --git a/framework/src/onos/apps/routing-api/src/main/java/org/onosproject/routing/config/RoutingConfigurationService.java b/framework/src/onos/apps/routing-api/src/main/java/org/onosproject/routing/config/RoutingConfigurationService.java deleted file mode 100644 index f8ee21b9..00000000 --- a/framework/src/onos/apps/routing-api/src/main/java/org/onosproject/routing/config/RoutingConfigurationService.java +++ /dev/null @@ -1,125 +0,0 @@ -/* - * Copyright 2014-2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.routing.config; - -import org.onlab.packet.IpAddress; -import org.onlab.packet.IpPrefix; -import org.onlab.packet.MacAddress; -import org.onosproject.net.ConnectPoint; - -import java.util.Map; -import java.util.Set; - -/** - * Provides information about the routing configuration. - */ -public interface RoutingConfigurationService { - - /** - * Gets the list of BGP speakers inside the SDN network. - * - * @return the map of BGP speaker names to BGP speaker objects - */ - Map<String, BgpSpeaker> getBgpSpeakers(); - - /** - * Gets the list of configured BGP peers. - * - * @return the map from peer IP address to BgpPeer object - */ - Map<IpAddress, BgpPeer> getBgpPeers(); - - /** - * Gets the MAC address configured for virtual gateway in SDN network. - * - * @return the MAC address of virtual gateway - */ - MacAddress getVirtualGatewayMacAddress(); - - /** - * Evaluates whether an IP address is a virtual gateway IP address. - * - * @param ipAddress the IP address to evaluate - * @return true if the IP address is a virtual gateway address, otherwise false - */ - boolean isVirtualGatewayIpAddress(IpAddress ipAddress); - - /** - * Evaluates whether an IP address belongs to local SDN network. - * - * @param ipAddress the IP address to evaluate - * @return true if the IP address belongs to local SDN network, otherwise false - */ - boolean isIpAddressLocal(IpAddress ipAddress); - - /** - * Evaluates whether an IP prefix belongs to local SDN network. - * - * @param ipPrefix the IP prefix to evaluate - * @return true if the IP prefix belongs to local SDN network, otherwise false - */ - boolean isIpPrefixLocal(IpPrefix ipPrefix); - - /** - * Retrieves the entire set of interfaces in the network. - * - * @return the set of interfaces - * @deprecated in Drake release - use InterfaceService instead - */ - @Deprecated - Set<Interface> getInterfaces(); - - /** - * Retrieves the entire set of connect points connected to BGP peers in the - * network. - * - * @return the set of connect points connected to BGP peers - */ - Set<ConnectPoint> getBgpPeerConnectPoints(); - - /** - * Retrieves the interface associated with the given connect point. - * - * @param connectPoint the connect point to retrieve interface information - * for - * @return the interface - * @deprecated in Drake release - use InterfaceService instead - */ - @Deprecated - Interface getInterface(ConnectPoint connectPoint); - - /** - * Retrieves the interface associated with the given IP address. - * - * @param ip IP address of the interface - * @return the interface - * @deprecated in Drake release - use InterfaceService instead - */ - @Deprecated - Interface getInterface(IpAddress ip); - - /** - * Retrieves the interface that matches the given IP address. Matching - * means that the IP address is in one of the interface's assigned subnets. - * - * @param ipAddress IP address to match - * @return the matching interface - * @deprecated in Drake release - use InterfaceService instead - */ - @Deprecated - Interface getMatchingInterface(IpAddress ipAddress); - -} diff --git a/framework/src/onos/apps/routing-api/src/main/java/org/onosproject/routing/config/package-info.java b/framework/src/onos/apps/routing-api/src/main/java/org/onosproject/routing/config/package-info.java deleted file mode 100644 index c54c19d7..00000000 --- a/framework/src/onos/apps/routing-api/src/main/java/org/onosproject/routing/config/package-info.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2014-2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Routing configuration interfaces. - */ -package org.onosproject.routing.config; |