[ONOS-2607] Implement BGP LS topology provider and listen on Node and Link changes of BGP Controller.

Change-Id: I811ca8d078ab5825819cef81fd8096d842f76c44
diff --git a/providers/bgp/app/app.xml b/providers/bgp/app/app.xml
new file mode 100755
index 0000000..072003b
--- /dev/null
+++ b/providers/bgp/app/app.xml
@@ -0,0 +1,25 @@
+<?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.
+  -->
+<app name="org.onosproject.bgp" origin="ON.Lab" version="${project.version}"
+     featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features"
+     features="${project.artifactId}">
+    <description>${project.description}</description>
+    <artifact>mvn:${project.groupId}/onos-bgpio/${project.version}</artifact>
+    <artifact>mvn:${project.groupId}/onos-bgp-api/${project.version}</artifact>
+    <artifact>mvn:${project.groupId}/onos-bgp-ctl/${project.version}</artifact>
+    <artifact>mvn:${project.groupId}/onos-bgp-provider-topology/${project.version}</artifact>
+</app>
diff --git a/providers/bgp/app/features.xml b/providers/bgp/app/features.xml
new file mode 100755
index 0000000..a6d3ae3
--- /dev/null
+++ b/providers/bgp/app/features.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--
+  ~ 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.
+  -->
+<features xmlns="http://karaf.apache.org/xmlns/features/v1.2.0" name="${project.artifactId}-${project.version}">
+    <repository>mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features</repository>
+    <feature name="${project.artifactId}" version="${project.version}"
+             description="${project.description}">
+        <feature>onos-api</feature>
+        <bundle>mvn:${project.groupId}/onos-bgpio/${project.version}</bundle>
+        <bundle>mvn:${project.groupId}/onos-bgp-api/${project.version}</bundle>
+        <bundle>mvn:${project.groupId}/onos-bgp-ctl/${project.version}</bundle>
+        <bundle>mvn:${project.groupId}/onos-bgp-provider-topology/${project.version}</bundle>
+    </feature>
+</features>
diff --git a/providers/bgp/app/pom.xml b/providers/bgp/app/pom.xml
new file mode 100755
index 0000000..4ac3acd
--- /dev/null
+++ b/providers/bgp/app/pom.xml
@@ -0,0 +1,52 @@
+<!--
+  ~ 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/xsd/maven-4.0.0.xsd">
+        <modelVersion>4.0.0</modelVersion>
+        <parent>
+                <groupId>org.onosproject</groupId>
+                <artifactId>onos-bgp-providers</artifactId>
+                <version>1.4.0-SNAPSHOT</version>
+                <relativePath>../pom.xml</relativePath>
+        </parent>
+
+        <artifactId>onos-bgp-app</artifactId>
+        <packaging>pom</packaging>
+        <description>BGP protocol southbound providers</description>
+
+        <dependencies>
+                <dependency>
+                        <groupId>org.onosproject</groupId>
+                        <artifactId>onos-bgpio</artifactId>
+                        <version>${project.version}</version>
+                </dependency>
+                <dependency>
+                        <groupId>org.onosproject</groupId>
+                        <artifactId>onos-bgp-api</artifactId>
+                        <version>${project.version}</version>
+                </dependency>
+                <dependency>
+                        <groupId>org.onosproject</groupId>
+                        <artifactId>onos-bgp-ctl</artifactId>
+                        <version>${project.version}</version>
+                </dependency>
+                <dependency>
+                        <groupId>org.onosproject</groupId>
+                        <artifactId>onos-bgp-provider-topology</artifactId>
+                        <version>${project.version}</version>
+                </dependency>
+        </dependencies>
+</project>