summaryrefslogtreecommitdiffstats
path: root/framework/src/onos/apps/routing-api/src/main/java/org/onosproject/routing/config
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/onos/apps/routing-api/src/main/java/org/onosproject/routing/config')
-rw-r--r--framework/src/onos/apps/routing-api/src/main/java/org/onosproject/routing/config/BgpConfig.java268
-rw-r--r--framework/src/onos/apps/routing-api/src/main/java/org/onosproject/routing/config/BgpPeer.java96
-rw-r--r--framework/src/onos/apps/routing-api/src/main/java/org/onosproject/routing/config/BgpSpeaker.java153
-rw-r--r--framework/src/onos/apps/routing-api/src/main/java/org/onosproject/routing/config/Interface.java120
-rw-r--r--framework/src/onos/apps/routing-api/src/main/java/org/onosproject/routing/config/InterfaceAddress.java101
-rw-r--r--framework/src/onos/apps/routing-api/src/main/java/org/onosproject/routing/config/LocalIpPrefixEntry.java141
-rw-r--r--framework/src/onos/apps/routing-api/src/main/java/org/onosproject/routing/config/RoutingConfigurationService.java125
-rw-r--r--framework/src/onos/apps/routing-api/src/main/java/org/onosproject/routing/config/package-info.java20
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;