aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/onos/protocols/bgp/api
diff options
context:
space:
mode:
authorCNlucius <lukai1@huawei.com>2016-09-13 11:40:12 +0800
committerCNlucius <lukai1@huawei.com>2016-09-13 11:41:53 +0800
commitb731e2f1dd0972409b136aebc7b463dd72c9cfad (patch)
tree5107d7d80c19ad8076c2c97c2b5ef8d1cf3ab903 /framework/src/onos/protocols/bgp/api
parentee93993458266114c29271a481ef9ce7ce621b2a (diff)
ONOSFW-171
O/S-SFC-ONOS scenario documentation Change-Id: I51ae1cf736ea24ab6680f8edca1b2bf5dd598365 Signed-off-by: CNlucius <lukai1@huawei.com>
Diffstat (limited to 'framework/src/onos/protocols/bgp/api')
-rwxr-xr-xframework/src/onos/protocols/bgp/api/pom.xml90
-rwxr-xr-xframework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpCfg.java297
-rwxr-xr-xframework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpConnectPeer.java28
-rwxr-xr-xframework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpController.java131
-rwxr-xr-xframework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpDpid.java130
-rwxr-xr-xframework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpId.java121
-rwxr-xr-xframework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpLinkListener.java35
-rwxr-xr-xframework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpLocalRib.java60
-rwxr-xr-xframework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpNodeListener.java35
-rwxr-xr-xframework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpPacketStats.java52
-rw-r--r--framework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpPeer.java113
-rwxr-xr-xframework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpPeerCfg.java180
-rwxr-xr-xframework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpPeerManager.java54
-rwxr-xr-xframework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpSessionInfo.java70
-rwxr-xr-xframework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/package-info.java20
15 files changed, 0 insertions, 1416 deletions
diff --git a/framework/src/onos/protocols/bgp/api/pom.xml b/framework/src/onos/protocols/bgp/api/pom.xml
deleted file mode 100755
index d233c48e..00000000
--- a/framework/src/onos/protocols/bgp/api/pom.xml
+++ /dev/null
@@ -1,90 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- ~ 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.
- -->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.onosproject</groupId>
- <artifactId>onos-bgp</artifactId>
- <version>1.4.0-rc1</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>onos-bgp-api</artifactId>
- <packaging>bundle</packaging>
-
- <description>ONOS BGP controller subsystem API</description>
-
- <dependencies>
- <dependency>
- <groupId>org.onosproject</groupId>
- <artifactId>onos-bgpio</artifactId>
- </dependency>
- <dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty</artifactId>
- </dependency>
- <dependency>
- <groupId>org.onosproject</groupId>
- <artifactId>onos-api</artifactId>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-shade-plugin</artifactId>
- <version>2.3</version>
- <configuration>
- <artifactSet>
- <excludes>
- <exclude>io.netty:netty</exclude>
- <exclude>com.google.guava:guava</exclude>
- <exclude>org.slf4j:slfj-api</exclude>
- <exclude>ch.qos.logback:logback-core</exclude>
- <exclude>ch.qos.logback:logback-classic</exclude>
- <exclude>com.google.code.findbugs:annotations</exclude>
- </excludes>
- </artifactSet>
- </configuration>
- <executions>
- <execution>
- <phase>package</phase>
- <goals>
- <goal>shade</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
- <configuration>
- <instructions>
- <Export-Package>
- org.onosproject.bgp.*,org.onosproject.bgpio.*,org.onosproject.bgp.controller
- </Export-Package>
- </instructions>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/framework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpCfg.java b/framework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpCfg.java
deleted file mode 100755
index 6f64d2bb..00000000
--- a/framework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpCfg.java
+++ /dev/null
@@ -1,297 +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.bgp.controller;
-
-import java.util.TreeMap;
-
-/**
- * Abstraction of an BGP configuration. Manages the BGP configuration from CLI to the BGP controller.
- */
-public interface BgpCfg {
-
- enum State {
- /**
- * Signifies that its just created.
- */
- INIT,
-
- /**
- * Signifies that only IP Address is configured.
- */
- IP_CONFIGURED,
-
- /**
- * Signifies that only Autonomous System is configured.
- */
- AS_CONFIGURED,
-
- /**
- * Signifies that both IP and Autonomous System is configured.
- */
- IP_AS_CONFIGURED
- }
-
- /**
- * Returns the status of the configuration based on this state certain operations like connection is handled.
- *
- * @return State of the configuration
- */
- State getState();
-
- /**
- * To set the current state of the configuration.
- *
- * @param state Configuration State enum
- */
- void setState(State state);
-
- /**
- * Get the status of the link state support for this BGP speaker.
- *
- * @return true if the link state is supported else false
- */
- boolean getLsCapability();
-
- /**
- * Set the link state support to this BGP speaker.
- *
- * @param lscapability true value if link state is supported else false
- */
- void setLsCapability(boolean lscapability);
-
- /**
- * Get the status of the 32 bit AS support for this BGP speaker.
- *
- * @return true if the 32 bit AS number is supported else false
- */
- boolean getLargeASCapability();
-
- /**
- * Set the 32 bit AS support capability to this BGP speaker.
- *
- * @param largeAs true value if the 32 bit AS is supported else false
- */
- void setLargeASCapability(boolean largeAs);
-
- /**
- * Set the AS number to which this BGP speaker belongs.
- *
- * @param localAs 16 or 32 bit AS number, length is dependent on the capability
- */
- void setAsNumber(int localAs);
-
- /**
- * Get the AS number to which this BGP speaker belongs.
- *
- * @return 16 or 32 bit AS number, length is dependent on the capability
- */
- int getAsNumber();
-
- /**
- * Get the connection retry count number.
- *
- * @return connection retry count if there is a connection error
- */
- int getMaxConnRetryCount();
-
- /**
- * Set the connection retry count.
- *
- * @param retryCount number of times to try to connect if there is any error
- */
- void setMaxConnRetryCout(int retryCount);
-
- /**
- * Get the connection retry time in seconds.
- *
- * @return connection retry time in seconds
- */
- int getMaxConnRetryTime();
-
- /**
- * Set the connection retry time in seconds.
- *
- * @param retryTime connection retry times in seconds
- */
- void setMaxConnRetryTime(int retryTime);
-
- /**
- * Set the keep alive timer for the connection.
- *
- * @param holdTime connection hold timer in seconds
- */
- void setHoldTime(short holdTime);
-
- /**
- * Returns the connection hold timer in seconds.
- *
- * @return connection hold timer in seconds
- */
- short getHoldTime();
-
- /**
- * Returns the maximum number of session supported.
- *
- * @return maximum number of session supported
- */
- int getMaxSession();
-
- /**
- * Set the maximum number of sessions to support.
- *
- * @param maxsession maximum number of session
- */
- void setMaxSession(int maxsession);
-
- /**
- * Returns the Router ID of this BGP speaker.
- *
- * @return IP address in string format
- */
- String getRouterId();
-
- /**
- * Set the Router ID of this BGP speaker.
- *
- * @param routerid IP address in string format
- */
- void setRouterId(String routerid);
-
- /**
- * Add the BGP peer IP address and the AS number to which it belongs.
- *
- * @param routerid IP address in string format
- * @param remoteAs AS number to which it belongs
- *
- * @return true if added successfully else false
- */
- boolean addPeer(String routerid, int remoteAs);
-
- /**
- * Add the BGP peer IP address and the keep alive time.
- *
- * @param routerid IP address in string format
- * @param holdTime keep alive time for the connection
- *
- * @return true if added successfully else false
- */
- boolean addPeer(String routerid, short holdTime);
-
- /**
- * Add the BGP peer IP address, the AS number to which it belongs and keep alive time.
- *
- * @param routerid IP address in string format
- * @param remoteAs AS number to which it belongs
- * @param holdTime keep alive time for the connection
- *
- * @return true if added successfully else false
- */
- boolean addPeer(String routerid, int remoteAs, short holdTime);
-
- /**
- * Remove the BGP peer with this IP address.
- *
- * @param routerid router IP address
- *
- * @return true if removed successfully else false
- */
- boolean removePeer(String routerid);
-
- /**
- * Connect to BGP peer with this IP address.
- *
- * @param routerid router IP address
- *
- * @return true of the configuration is found and able to connect else false
- */
- boolean connectPeer(String routerid);
-
- /**
- * Disconnect this BGP peer with this IP address.
- *
- * @param routerid router IP address in string format
- *
- * @return true if the configuration is found and able to disconnect else false
- */
- boolean disconnectPeer(String routerid);
-
- /**
- * Returns the peer tree information.
- *
- * @return return the tree map with IP as key and BGPPeerCfg as object
- */
- TreeMap<String, BgpPeerCfg> displayPeers();
-
- /**
- * Return the BGP Peer information with this matching IP.
- *
- * @param routerid router IP address in string format
- *
- * @return BGPPeerCfg object
- */
- BgpPeerCfg displayPeers(String routerid);
-
- /**
- * Check if this BGP peer is configured.
- *
- * @param routerid router IP address in string format
- *
- * @return true if configured exists else false
- */
- boolean isPeerConfigured(String routerid);
-
- /**
- * Check if this BGP speaker is having connection with the peer.
- *
- * @param routerid router IP address in string format
- *
- * @return true if the connection exists else false
- */
- boolean isPeerConnected(String routerid);
-
- /**
- * Return the peer tree map.
- *
- * @return return the tree map with IP as key and BGPPeerCfg as object
- */
- TreeMap<String, BgpPeerCfg> getPeerTree();
-
- /**
- * Set the current connection state information.
- *
- * @param routerid router IP address in string format
- * @param state state information
- */
- void setPeerConnState(String routerid, BgpPeerCfg.State state);
-
- /**
- * Check if the peer can be connected or not.
- *
- * @param routerid router IP address in string format
- *
- * @return true if the peer can be connected else false
- */
- boolean isPeerConnectable(String routerid);
-
- /**
- * Get the current peer connection state information.
- *
- * @param routerid router IP address in string format
- *
- * @return state information
- */
- BgpPeerCfg.State getPeerConnState(String routerid);
-}
diff --git a/framework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpConnectPeer.java b/framework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpConnectPeer.java
deleted file mode 100755
index 8f33ee87..00000000
--- a/framework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpConnectPeer.java
+++ /dev/null
@@ -1,28 +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.bgp.controller;
-
-/**
- * Abstraction of an BGP connect peer, initiate remote connection to BGP peer on configuration.
- */
-public interface BgpConnectPeer {
- /**
- * Initiate bgp peer connection.
- */
- void connectPeer();
-
- /**
- * End bgp peer connection.
- */
- void disconnectPeer();
-}
diff --git a/framework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpController.java b/framework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpController.java
deleted file mode 100755
index 0930e8e8..00000000
--- a/framework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpController.java
+++ /dev/null
@@ -1,131 +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.bgp.controller;
-
-import java.util.Map;
-import java.util.Set;
-
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.protocol.BgpMessage;
-
-/**
- * Abstraction of an BGP controller. Serves as a one stop shop for obtaining BGP devices and (un)register listeners on
- * bgp events
- */
-public interface BgpController {
-
- /**
- * Returns list of bgp peers connected to this BGP controller.
- *
- * @return Iterable of BGPPeer elements
- */
- Iterable<BgpPeer> getPeers();
-
- /**
- * Returns the actual bgp peer for the given ip address.
- *
- * @param bgpId the id of the bgp peer to fetch
- * @return the interface to this bgp peer
- */
- BgpPeer getPeer(BgpId bgpId);
-
- /**
- * Register a listener for BGP message events.
- *
- * @param listener the listener to notify
- */
- void addListener(BgpNodeListener listener);
-
- /**
- * Unregister a listener.
- *
- * @param listener the listener to unregister
- */
- void removeListener(BgpNodeListener listener);
-
- /**
- * Send a message to a particular bgp peer.
- *
- * @param bgpId the id of the peer to send message.
- * @param msg the message to send
- */
- void writeMsg(BgpId bgpId, BgpMessage msg);
-
- /**
- * Process a message and notify the appropriate listeners.
- *
- * @param bgpId id of the peer the message arrived on
- * @param msg the message to process.
- * @throws BgpParseException on data processing error
- */
- void processBGPPacket(BgpId bgpId, BgpMessage msg) throws BgpParseException;
-
- /**
- * Close all connected BGP peers.
- *
- */
- void closeConnectedPeers();
-
- /**
- * Get the BGPConfig class to the caller.
- *
- * @return configuration object
- */
- BgpCfg getConfig();
-
- /**
- * Get the BGP connected peers to this controller.
- *
- * @return the integer number
- */
- int connectedPeerCount();
-
- /**
- * Return BGP local RIB instance with VPN.
- *
- * @return BGPLocalRibImpl local RIB with VPN
- */
- BgpLocalRib bgpLocalRibVpn();
-
- /**
- * Return BGP local RIB instance.
- *
- * @return BGPLocalRibImpl local RIB
- */
- BgpLocalRib bgpLocalRib();
-
- /**
- * Return BGP peer manager.
- *
- * @return BGPPeerManager peer manager instance
- */
- BgpPeerManager peerManager();
-
- /**
- * Return BGP connected peers.
- *
- * @return connectedPeers connected peers
- */
- Map<BgpId, BgpPeer> connectedPeers();
-
- /**
- * Return BGP node listener.
- *
- * @return node listener
- */
- Set<BgpNodeListener> listener();
-}
diff --git a/framework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpDpid.java b/framework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpDpid.java
deleted file mode 100755
index ed04dc94..00000000
--- a/framework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpDpid.java
+++ /dev/null
@@ -1,130 +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.bgp.controller;
-
-import static com.google.common.base.Preconditions.checkArgument;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.protocol.linkstate.BgpLinkLsNlriVer4;
-import org.onosproject.bgpio.protocol.linkstate.BgpNodeLSNlriVer4;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * The class representing a network bgp device id. This class is immutable.
- */
-public final class BgpDpid {
- private static final Logger log = LoggerFactory.getLogger(BgpDpid.class);
-
- private static final String SCHEME = "bgp";
- private static final long UNKNOWN = 0;
- private StringBuilder stringBuilder;
- public static final int NODE_DESCRIPTOR_LOCAL = 1;
- public static final int NODE_DESCRIPTOR_REMOTE = 2;
-
- /**
- * Initialize bgp id to generate URI.
- *
- * @param linkNlri node Nlri.
- * @param nodeDescriptorType node descriptor type, local/remote
- */
- public BgpDpid(final BgpLinkLsNlriVer4 linkNlri, int nodeDescriptorType) {
- this.stringBuilder = new StringBuilder("bgpls://");
-
- if (linkNlri.getRouteDistinguisher() != null) {
- this.stringBuilder.append(linkNlri.getRouteDistinguisher().getRouteDistinguisher()).append(':');
- }
-
- try {
- this.stringBuilder.append(linkNlri.getProtocolId()).append(':').append(linkNlri.getIdentifier())
- .append('/');
-
- if (nodeDescriptorType == NODE_DESCRIPTOR_LOCAL) {
- add(linkNlri.localNodeDescriptors());
- } else if (nodeDescriptorType == NODE_DESCRIPTOR_REMOTE) {
- add(linkNlri.remoteNodeDescriptors());
- }
- } catch (BgpParseException e) {
- log.info("Exception BgpId string: " + e.toString());
- }
-
- }
-
- /**
- * Initialize bgp id to generate URI.
- *
- * @param nodeNlri node Nlri.
- */
- public BgpDpid(final BgpNodeLSNlriVer4 nodeNlri) {
- this.stringBuilder = new StringBuilder("bgpls://");
-
- if (nodeNlri.getRouteDistinguisher() != null) {
- this.stringBuilder.append(nodeNlri.getRouteDistinguisher().getRouteDistinguisher()).append(':');
- }
-
- try {
-
- this.stringBuilder.append(nodeNlri.getProtocolId()).append(':').append(nodeNlri.getIdentifier())
- .append('/');
-
- add(nodeNlri.getLocalNodeDescriptors());
-
- } catch (BgpParseException e) {
- log.info("Exception node string: " + e.toString());
- }
- }
-
- BgpDpid add(final Object value) {
- if (value != null) {
- this.stringBuilder.append('&').append('=').append(value.toString());
- }
- return this;
- }
-
- @Override
- public String toString() {
- return this.stringBuilder.toString();
- }
-
- /**
- * Produces bgp URI.
- *
- * @param value string to get URI
- * @return bgp URI, otherwise null
- */
- public static URI uri(String value) {
- try {
- return new URI(SCHEME, value, null);
- } catch (URISyntaxException e) {
- log.info("Exception BgpId URI: " + e.toString());
- }
- return null;
- }
-
- /**
- * Returns bgpDpid created from the given device URI.
- *
- * @param uri device URI
- * @return object of BgpDpid
- */
- public static BgpDpid bgpDpid(URI uri) {
- checkArgument(uri.getScheme().equals(SCHEME), "Unsupported URI scheme");
-
- // TODO: return BgpDpid generated from uri
- return null;
- }
-}
diff --git a/framework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpId.java b/framework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpId.java
deleted file mode 100755
index 7a6c625d..00000000
--- a/framework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpId.java
+++ /dev/null
@@ -1,121 +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.bgp.controller;
-
-import org.onlab.packet.IpAddress;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.Objects;
-
-import static com.google.common.base.Preconditions.checkArgument;
-
-/**
- * The class representing a network peer bgp ip.
- * This class is immutable.
- */
-public final class BgpId {
-
- private static final String SCHEME = "bgp";
- private static final long UNKNOWN = 0;
- private final IpAddress ipAddress;
-
- /**
- * Private constructor.
- */
- private BgpId(IpAddress ipAddress) {
- this.ipAddress = ipAddress;
- }
-
- /**
- * Create a BGPId from ip address.
- *
- * @param ipAddress IP address
- * @return object of BGPId
- */
- public static BgpId bgpId(IpAddress ipAddress) {
- return new BgpId(ipAddress);
- }
-
- /**
- * Returns the ip address.
- *
- * @return ipAddress
- */
- public IpAddress ipAddress() {
- return ipAddress;
- }
-
- /**
- * Convert the BGPId value to a ':' separated hexadecimal string.
- *
- * @return the BGPId value as a ':' separated hexadecimal string.
- */
- @Override
- public String toString() {
- return ipAddress.toString();
- }
-
- @Override
- public boolean equals(Object other) {
- if (!(other instanceof BgpId)) {
- return false;
- }
-
- BgpId otherBGPid = (BgpId) other;
- return Objects.equals(ipAddress, otherBGPid.ipAddress);
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(ipAddress);
- }
-
- /**
- * Returns BGPId created from the given device URI.
- *
- * @param uri device URI
- * @return object of BGPId
- */
- public static BgpId bgpId(URI uri) {
- checkArgument(uri.getScheme().equals(SCHEME), "Unsupported URI scheme");
- return new BgpId(IpAddress.valueOf(uri.getSchemeSpecificPart()));
- }
-
- /**
- * Produces device URI from the given DPID.
- *
- * @param bgpId device bgpId
- * @return device URI
- */
- public static URI uri(BgpId bgpId) {
- return uri(bgpId.ipAddress());
- }
-
- /**
- * Produces device URI from the given DPID long.
- *
- * @param ipAddress device ip address
- * @return device URI
- */
- public static URI uri(IpAddress ipAddress) {
- try {
- return new URI(SCHEME, ipAddress.toString(), null);
- } catch (URISyntaxException e) {
- return null;
- }
- }
-} \ No newline at end of file
diff --git a/framework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpLinkListener.java b/framework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpLinkListener.java
deleted file mode 100755
index 8b34e314..00000000
--- a/framework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpLinkListener.java
+++ /dev/null
@@ -1,35 +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.bgp.controller;
-
-import org.onosproject.bgpio.protocol.linkstate.BgpLinkLsNlriVer4;
-
-/**
- * Allows for providers interested in Link events to be notified.
- */
-public interface BgpLinkListener {
-
- /**
- * Notify that got a packet of link from network and need do processing.
- *
- * @param linkNlri bgp link
- */
- void addLink(BgpLinkLsNlriVer4 linkNlri);
-
- /**
- * Notify that got a packet of link from network and need do processing.
- *
- * @param linkNlri bgp link
- */
- void deleteLink(BgpLinkLsNlriVer4 linkNlri);
-}
diff --git a/framework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpLocalRib.java b/framework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpLocalRib.java
deleted file mode 100755
index 636c1c85..00000000
--- a/framework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpLocalRib.java
+++ /dev/null
@@ -1,60 +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.bgp.controller;
-
-import org.onosproject.bgpio.protocol.BgpLSNlri;
-import org.onosproject.bgpio.protocol.linkstate.PathAttrNlriDetails;
-import org.onosproject.bgpio.types.RouteDistinguisher;
-
-/**
- * Abstraction of BGP local RIB.
- */
-public interface BgpLocalRib {
-
- /**
- * Add NLRI to local RIB.
- *
- * @param sessionInfo session info
- * @param nlri network layer reach info
- * @param details nlri details
- */
- void add(BgpSessionInfo sessionInfo, BgpLSNlri nlri, PathAttrNlriDetails details);
-
- /**
- * Removes NLRI identifier if it exists.
- *
- * @param nlri info
- */
- void delete(BgpLSNlri nlri);
-
- /**
- * Update NLRI identifier mapped with route distinguisher if it exists in tree otherwise add NLRI infomation mapped
- * to respective route distinguisher.
- *
- * @param sessionInfo BGP session info
- * @param nlri info
- * @param details has pathattribute, protocol id and identifier
- * @param routeDistinguisher unique for each VPN
- */
- void add(BgpSessionInfo sessionInfo, BgpLSNlri nlri, PathAttrNlriDetails details,
- RouteDistinguisher routeDistinguisher);
-
- /**
- * Removes VPN NLRI identifier mapped to route distinguisher if it exists.
- *
- * @param nlri info
- * @param routeDistinguisher unique for each VPN
- */
- void delete(BgpLSNlri nlri, RouteDistinguisher routeDistinguisher);
-}
diff --git a/framework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpNodeListener.java b/framework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpNodeListener.java
deleted file mode 100755
index 726d931b..00000000
--- a/framework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpNodeListener.java
+++ /dev/null
@@ -1,35 +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.bgp.controller;
-
-import org.onosproject.bgpio.protocol.linkstate.BgpNodeLSNlriVer4;
-
-/**
- * Allows for providers interested in node events to be notified.
- */
-public interface BgpNodeListener {
-
- /**
- * Notifies that the node was added.
- *
- * @param nodeNlri node rechability info
- */
- void addNode(BgpNodeLSNlriVer4 nodeNlri);
-
- /**
- * Notifies that the node was removed.
- *
- * @param nodeNlri node rechability info
- */
- void deleteNode(BgpNodeLSNlriVer4 nodeNlri);
-}
diff --git a/framework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpPacketStats.java b/framework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpPacketStats.java
deleted file mode 100755
index 8fd3c688..00000000
--- a/framework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpPacketStats.java
+++ /dev/null
@@ -1,52 +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.bgp.controller;
-
-/**
- * A representation of a packet context which allows any provider to view a packet in event, but may block the response
- * to the event if blocked has been called. This packet context can be used to react to the packet in event with a
- * packet out.
- */
-public interface BgpPacketStats {
- /**
- * Returns the count for no of packets sent out.
- *
- * @return int value of no of packets sent
- */
- int outPacketCount();
-
- /**
- * Returns the count for no of packets received.
- *
- * @return int value of no of packets sent
- */
- int inPacketCount();
-
- /**
- * Returns the count for no of wrong packets received.
- *
- * @return int value of no of wrong packets received
- */
- int wrongPacketCount();
-
- /**
- * Returns the time.
- *
- * @return the time
- */
- long getTime();
-} \ No newline at end of file
diff --git a/framework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpPeer.java b/framework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpPeer.java
deleted file mode 100644
index 9f4d47da..00000000
--- a/framework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpPeer.java
+++ /dev/null
@@ -1,113 +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.bgp.controller;
-import java.util.List;
-import org.jboss.netty.channel.Channel;
-import org.onosproject.bgpio.exceptions.BgpParseException;
-import org.onosproject.bgpio.protocol.BgpFactory;
-import org.onosproject.bgpio.protocol.BgpMessage;
-import org.onosproject.bgpio.types.BgpValueType;
-
-/**
- * Represents the peer side of an BGP peer.
- *
- */
-public interface BgpPeer {
-
- /**
- * Sets the associated Netty channel for this bgp peer.
- *
- * @param channel the Netty channel
- */
- void setChannel(Channel channel);
-
- /**
- * Gets the associated Netty channel handler for this bgp peer.
- *
- * @return Channel channel connected.
- */
- Channel getChannel();
-
- /**
- * Sets whether the bgp peer is connected.
- *
- * @param connected whether the bgp peer is connected
- */
- void setConnected(boolean connected);
-
- /**
- * Checks whether the handshake is complete.
- *
- * @return true is finished, false if not.
- */
- boolean isHandshakeComplete();
-
- /**
- * Writes the message to the peer.
- *
- * @param msg the message to write
- */
- void sendMessage(BgpMessage msg);
-
- /**
- * Writes the BGPMessage list to the peer.
- *
- * @param msgs the messages to be written
- */
- void sendMessage(List<BgpMessage> msgs);
-
- /**
- * Provides the factory for BGP version.
- *
- * @return BGP version specific factory.
- */
- BgpFactory factory();
-
- /**
- * Checks if the bgp peer is still connected.
- *
- * @return whether the bgp peer is still connected
- */
- boolean isConnected();
-
- /**
- * Disconnects the bgp peer by closing the TCP connection. Results in a call to the channel handler's
- * channelDisconnected method for cleanup
- */
- void disconnectPeer();
-
- /**
- * Identifies the channel used to communicate with the bgp peer.
- *
- * @return string representation of the connection to the peer
- */
- String channelId();
-
- /**
- * Maintaining Adj-RIB-In separately for each peer.
- *
- * @param pathAttr list of Bgp path attributes
- * @throws BgpParseException while building Adj-Rib-In
- */
- void buildAdjRibIn(List<BgpValueType> pathAttr) throws BgpParseException;
-
- /**
- * Return the BGP session info.
- *
- * @return sessionInfo bgp session info
- */
- BgpSessionInfo sessionInfo();
-}
diff --git a/framework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpPeerCfg.java b/framework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpPeerCfg.java
deleted file mode 100755
index 2fb970fc..00000000
--- a/framework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpPeerCfg.java
+++ /dev/null
@@ -1,180 +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.bgp.controller;
-
-/**
- * BGP Peer configuration information.
- */
-public interface BgpPeerCfg {
-
- enum State {
-
- /**
- * Signifies that peer connection is idle.
- */
- IDLE,
-
- /**
- * Signifies that connection is initiated.
- */
- CONNECT,
-
- /**
- * Signifies that state is active and connection can be established.
- */
- ACTIVE,
-
- /**
- * Signifies that open is sent and anticipating reply.
- */
- OPENSENT,
-
- /**
- * Signifies that peer sent the open message as reply.
- */
- OPENCONFIRM,
-
- /**
- * Signifies that all the negotiation is successful and ready to exchange other messages.
- */
- ESTABLISHED,
-
- /**
- * Signifies that invalid state.
- */
- INVALID
- }
-
- /**
- * Returns the connection State information of the peer.
- *
- * @return
- * enum state is returned
- */
- State getState();
-
- /**
- * Set the connection state information of the peer.
- *
- * @param state
- * enum state
- */
- void setState(State state);
-
- /**
- * Returns the connection is initiated from us or not.
- *
- * @return
- * true if the connection is initiated by this peer, false if it has been received.
- */
- boolean getSelfInnitConnection();
-
- /**
- * Set the connection is initiated from us or not.
- *
- * @param selfInit
- * true if the connection is initiated by this peer, false if it has been received.
- */
- void setSelfInnitConnection(boolean selfInit);
-
- /**
- * Returns the AS number to which this peer belongs.
- *
- * @return
- * AS number
- */
- int getAsNumber();
-
- /**
- * Set the AS number to which this peer belongs.
- *
- * @param asNumber
- * AS number
- */
- void setAsNumber(int asNumber);
-
- /**
- * Get the keep alive timer value configured.
- *
- * @return
- * keep alive timer value in seconds
- */
- short getHoldtime();
-
- /**
- * Set the keep alive timer value.
- *
- * @param holdTime
- * keep alive timer value in seconds
- */
- void setHoldtime(short holdTime);
-
- /**
- * Return the connection type eBGP or iBGP.
- *
- * @return
- * true if iBGP, false if it is eBGP
- */
- boolean getIsIBgp();
-
- /**
- * Set the connection type eBGP or iBGP.
- *
- * @param isIBgp
- * true if iBGP, false if it is eBGP
- */
- void setIsIBgp(boolean isIBgp);
-
- /**
- * Return the peer router IP address.
- *
- * @return
- * IP address in string format
- */
- String getPeerRouterId();
-
- /**
- * Set the peer router IP address.
- *
- * @param peerId
- * IP address in string format
- */
- void setPeerRouterId(String peerId);
-
- /**
- * Set the peer router IP address and AS number.
- *
- * @param peerId
- * IP address in string format
- * @param asNumber
- * AS number
- */
- void setPeerRouterId(String peerId, int asNumber);
-
- /**
- * Set the peer connect instance.
- *
- * @param connectpeer connect peer instance
- */
- void setConnectPeer(BgpConnectPeer connectpeer);
-
- /**
- * Get the peer connect instance.
- *
- * @return peer connect instance
- */
- BgpConnectPeer connectPeer();
-}
diff --git a/framework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpPeerManager.java b/framework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpPeerManager.java
deleted file mode 100755
index 895cc145..00000000
--- a/framework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpPeerManager.java
+++ /dev/null
@@ -1,54 +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.bgp.controller;
-
-/**
- * Responsible for keeping track of the current set BGPLS peers connected to the system.
- *
- */
-public interface BgpPeerManager {
-
- /**
- * Add connected peer.
- *
- * @param bgpId BGP ID to add
- * @param bgpPeer BGp peer instance
- *
- * @return false if peer already exist, otherwise true
- */
- public boolean addConnectedPeer(BgpId bgpId, BgpPeer bgpPeer);
-
- /**
- * Validate wheather peer is connected.
- *
- * @param bgpId BGP ID to validate
- *
- * @return true if peer exist, otherwise false
- */
- public boolean isPeerConnected(BgpId bgpId);
-
- /**
- * Remove connected peer.
- *
- * @param bgpId BGP ID
- */
- public void removeConnectedPeer(BgpId bgpId);
-
- /**
- * Gets connected peer.
- *
- * @param bgpId BGP ID
- * @return BGPPeer the connected peer, otherwise null
- */
- public BgpPeer getPeer(BgpId bgpId);
-}
diff --git a/framework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpSessionInfo.java b/framework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpSessionInfo.java
deleted file mode 100755
index a21a23d2..00000000
--- a/framework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpSessionInfo.java
+++ /dev/null
@@ -1,70 +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.bgp.controller;
-
-import org.onosproject.bgpio.protocol.BgpVersion;
-
-/**
- * Abstraction of an BGP session info. Maintian session parameters obtained during session creation.
- */
-public interface BgpSessionInfo {
- /**
- * Gets the bgp session type iBGP/eBGP.
- *
- * @return isiBGPSession, true if session is of type internal, otherwise false.
- */
- boolean isIbgpSession();
-
- /**
- * Gets the negotiated hold time for the session.
- *
- * @return negotiated hold time.
- */
- short negotiatedholdTime();
-
- /**
- * Gets the BGP ID of BGP peer.
- *
- * @return bgp ID.
- */
- BgpId remoteBgpId();
-
- /**
- * Gets the BGP version of peer.
- *
- * @return bgp version.
- */
- BgpVersion remoteBgpVersion();
-
- /**
- * Gets the BGP remote bgp AS number.
- *
- * @return remoteBgpASNum peer AS number.
- */
- long remoteBgpASNum();
-
- /**
- * Gets the BGP peer hold time.
- *
- * @return bgp hold time.
- */
- short remoteBgpHoldTime();
-
- /**
- * Gets the BGP version for this bgp peer.
- *
- * @return bgp identifier.
- */
- int remoteBgpIdentifier();
-}
diff --git a/framework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/package-info.java b/framework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/package-info.java
deleted file mode 100755
index 4dd775b8..00000000
--- a/framework/src/onos/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/package-info.java
+++ /dev/null
@@ -1,20 +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.
- */
-
-/**
- * BGP controller API.
- */
-package org.onosproject.bgp.controller;