* SDNi Aggregator: Northbound SDNi plugin acts as an aggregator for collecting network information such as topology, stats, host etc. This plugin can be evolving as per needs of network data requested to be shared across federated SDN controllers.
* SDNi REST API: REST API view autogenerated and accessible through RESTCONF to fetch the aggregated information from the northbound plugin – SDNi aggregator.The RESTCONF protocol operates on a conceptual datastore defined with the YANG data modeling language.
* SDNi Wrapper: SDNi BGP Wrapper will be responsible for the sharing and collecting information to/from federated controllers.
+* SDNi UI:This component displays the SDN controllers connected to each other.
=== SDNi Aggregator
*Topology Data:* Controller IP Address, Links, Nodes, Link Bandwidths, MAC Address of switches, Latency, Host IP address.
+http://${IPADDRESS}:8181/restconf/operations/opendaylight-sdni-topology-msg:getAllPeerTopology
+
+*Peer Topology Data:* Controller IP Address, Links, Nodes, Link Bandwidths, MAC Address of switches, Latency, Host IP address.
+
http://${IPADDRESS}:8181/restconf/operations/opendaylight-sdni-qos-msg:get-all-node-connectors-statistics
*QOS Data:* Node, Port, Transmit Packets, Receive Packets, Collision Count, Receive Frame Error, Receive Over Run Error, Receive Crc Error
+http://${IPADDRESS}:8181/restconf/operations/opendaylight-sdni-qos-msg:get-all-peer-node-connectors-statistics
+
+*Peer QOS Data:* Node, Port, Transmit Packets, Receive Packets, Collision Count, Receive Frame Error, Receive Over Run Error, Receive Crc Error
+
=== SDNi Wrapper
.SDNiWrapper
image::SDNiWrapper.png[]
* SDNiWrapper is an extension of ODL-BGPCEP where SDNi topology data is exchange along with the Update NLRI message. Refer http://tools.ietf.org/html/draft-ietf-idr-ls-distribution-04 for more information on NLRI.
* SDNiWrapper gets the controller’s network capabilities through SDNi REST API and serialize it in Update NLRI message. This NLRI message will get exchange between the clustered controllers through BGP-UPDATE message. Similarly peer controller’s UPDATE message is received and unpacked then format to SDNi Network capability data, which will be stored for further purpose.
+=== SDNi UI
+This component displays the SDN controllers connected to each other.
+
+http://localhost:8181/index.html#/sdniUI/sdnController
+
=== API Reference Documentation
Go to http://${IPADDRESS}:8181/apidoc/explorer/index.html, sign in, and expand the opendaylight-sdni panel. From there, users can execute various API calls to test their sdni deployment.
== ODL-SDNi User Guide
=== Introduction
-This user guide will help to setup the ODL-SDNi application for lithium release and contains the examples configuration using ODL-BGPCEP.
+This user guide will help to setup the ODL-SDNi application for boron release and contains the examples configuration using ODL-BGPCEP.
=== Components
SDNiAggregator(controller), SDNi REST API(controller) and SDNiWrapper(bgpcep) are the three components in ODL-SDNi App
* SDNiAggregator: Connects with switch, topology, hosttracker managers of controller to get the topology and other related data.
* SDNi REST API: It is a part of controller northbound, which gives the required information by quering SDNiAggregator through RESTCONF.
* SDNiWrapper: This component uses the SDNi REST API and gathers the information required to be shared among controllers.
+* SDNiUI:This component displays all the SDN controllers which are connected to each other.
=== Troubleshooting
To work with multiple controllers, change some of the configuration in config.ini file. For example change the listening port of one controller to 6653 and other controller to 6663 in /root/controller/opendaylight/distribution/opendaylight/target/distribution.opendaylight-osgipackage/opendaylight/configuration/config.ini (i.e of.listenPort=6653).