From: Milos Fabian Date: Thu, 1 Oct 2015 19:06:57 +0000 (+0200) Subject: BGPCEP: BMP docs X-Git-Tag: release/boron~1001 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F64%2F27764%2F4;p=docs.git BGPCEP: BMP docs odl-bgpcep-bmp feature user and dev guide Change-Id: I3c32b9be92d0aa94ecf6c768c5bb23cb33f73eb3 Signed-off-by: Milos Fabian --- diff --git a/manuals/developer-guide/src/main/asciidoc/bgpcep/odl-bgpcep-bmp-dev.adoc b/manuals/developer-guide/src/main/asciidoc/bgpcep/odl-bgpcep-bmp-dev.adoc new file mode 100644 index 000000000..88d20e13a --- /dev/null +++ b/manuals/developer-guide/src/main/asciidoc/bgpcep/odl-bgpcep-bmp-dev.adoc @@ -0,0 +1,149 @@ +== BGP Monitoring Protocol Developer Guide + +=== Overview +This section provides an overview of *feature odl-bgpcep-bmp*. This +feature will install everything needed for BMP (BGP Monitoring Protocol) +including establishing the connection, processing messages, storing +information about monitored routers, peers and their Adj-RIB-In +(unprocessed routing information) and Post-Policy Adj-RIB-In +and displaying data in BGP RIBs overview. +The OpenDaylight BMP plugin plays the role of a monitoring station. + +=== Key APIs and Interfaces + +==== Session handling + +_32-bmp.xml_ defines only bmp-dispatcher the parser should be +using (global-bmp-extensions). + +[source,xml] +---- + + prefix:bmp-dispatcher-impl + global-bmp-dispatcher + + bmp-spi:extensions + global-bmp-extensions + + + netty:netty-threadgroup + global-boss-group + + + netty:netty-threadgroup + global-worker-group + + +---- + +For user configuration of BMP, check User Guide. + +==== Parser + +The base BMP parser includes messages and attributes from +https://tools.ietf.org/html/draft-ietf-grow-bmp-15 + +==== Registration + +All parsers and serializers need to be registered +into _Extension provider_. This _Extension provider_ is configured in +initial configuration of the parser (_32-bmp.xml_). + +[source,xml] +---- + + prefix:bmp-extensions-impl + global-bmp-extensions + + bmp-spi:extension + bmp-parser-base + + +---- + +* _bmp-parser-base_ - will register parsers and serializers +implemented in bmp-impl module + +==== Parsing + +Parsing of BMP elements is mostly done equally to BGP. Some of the BMP messages includes wrapped +BGP messages. + +==== BMP Monitoring Station + +The BMP application (Monitoring Station) serves as message processor incoming from monitored routers. +The processed message is transformed and relevant information is stored. Route information is stored in a BGP +RIB data structure. + +BMP data is displayed only through one URL that is accessible from the base BMP URL: + +_http://:8181/restconf/operational/bmp-monitor:bmp-monitor_ + +Each Monitor station will be displayed and it may contains multiple monitored routers and peers within: + +[source,xml] +---- + + + example-bmp-monitor + + 127.0.0.11 + up + + 20.20.20.20 + 72 + global + + 5000 + 5 + up + 10.10.10.10 + 220 + + + + x:ipv4-address-family + x:unicast-subsequent-address-family + + + 10.10.10.0/24 + + ... + + + + + true + + + +
10.10.10.10
+ + ... + + 20.20.20.20 + + 5 + 53 + 16 + 100 + 11 + 55 + 10 + 66 + 70 + 8 + +
+ name + description + some info; +
+
+
+ +---- + +=== API Reference Documentation +Javadocs are generated while creating mvn:site +and they are located in target/ directory in each module. diff --git a/manuals/developer-guide/src/main/asciidoc/bk-developers-guide.adoc b/manuals/developer-guide/src/main/asciidoc/bk-developers-guide.adoc index 13c350fc9..b3b3112eb 100644 --- a/manuals/developer-guide/src/main/asciidoc/bk-developers-guide.adoc +++ b/manuals/developer-guide/src/main/asciidoc/bk-developers-guide.adoc @@ -58,6 +58,8 @@ include::armoury/odl-armoury-dev.adoc[ARMOURY] include::bgpcep/odl-bgpcep-bgp-all-dev.adoc[BGP] +include::bgpcep/odl-bgpcep-bmp-dev.adoc[BGP] + include::capwap/capwap-dev.adoc[CAPWAP] include::controller/controller.adoc[Controller] diff --git a/manuals/user-guide/src/main/asciidoc/bgpcep/odl-bgpcep-bmp-user.adoc b/manuals/user-guide/src/main/asciidoc/bgpcep/odl-bgpcep-bmp-user.adoc new file mode 100644 index 000000000..6290bf782 --- /dev/null +++ b/manuals/user-guide/src/main/asciidoc/bgpcep/odl-bgpcep-bmp-user.adoc @@ -0,0 +1,135 @@ +== BGP Monitoring Protocol User Guide == + +=== Overview === + +The OpenDaylight Karaf distribution comes preconfigured with baseline BMP configuration. + +- *32-bmp.xml* (initial configuration for BMP messages handler service provider and BMP client/server dispatcher settings) +- *42-bmp-example.xml* (sample initial configuration for the BMP Monitoring Station application) + +=== Configuring BMP === + +==== Server Binding ==== +The default shipped configuration will start a BMP server on 0.0.0.0:12345.You can change this behavior in *42-bmp-example.xml*: + +[source,xml] +---- + + prefix:bmp-monitor-impl + example-bmp-monitor + + 12345 + ... + +---- + +- *binding-address* - adress on which BMP will be started and listen; to change value, uncomment then line first +- *binding-port* - port on which the address will be started and listen + +Multiple instances of the BMP monitoring station (*bmp-monitor-impl* module) can be created. However, each instance must have a unique pair of *binding-address* and *binding-port* + +==== Active mode ==== +OpenDaylight's BMP might be configured to act as an active party of the connection (ODL BMP < = > Monitored router). To enable this functionality, +configure monitored-router with mandatory parameters: + +* address (must be unique for each configured "monitored-router"), +* port, +* active. + +See following example from 42-bmp-example.xml: + +[source,xml] +---- + +
192.0.2.2
+ 1234 + true +
+---- + +=== Configuration through RESTCONF === + +==== Server Binding ==== + +*URL:* +_http://:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/controller-config/yang-ext:mount/config:modules/config:module/odl-bmp-impl-cfg:bmp-monitor-impl/example-bmp-monitor_ + +*Content-Type:* +application/xml + +*Method:* +PUT + +*Body:* +[source,xml] +---- + + example-bmp-monitor + x:bmp-monitor-impl + + bmp-dispatcher + global-bmp-dispatcher + + + x:binding-codec-tree-factory + runtime-mapping-singleton + + + x:extensions + global-rib-extensions + + 0.0.0.0 + + x:dom-async-data-broker + pingpong-broker + + 12345 + +---- + +* change values for *binding-address* and/or *binding-port* + +==== Active mode ==== + +*URL:* +_http://:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/controller-config/yang-ext:mount/config:modules/config:module/odl-bmp-impl-cfg:bmp-monitor-impl/example-bmp-monitor_ + +*Content-Type:* +application/xml + +*Method:* +PUT + +*Body:* +[source,xml] +---- + + example-bmp-monitor + x:bmp-monitor-impl + + bmp-dispatcher + global-bmp-dispatcher + + + x:binding-codec-tree-factory + runtime-mapping-singleton + + + x:extensions + global-rib-extensions + + 0.0.0.0 + + x:dom-async-data-broker + pingpong-broker + + 12345 + +
127.0.0.1
+ 1234 + true +
+
+---- + +* change values for *address* and *port* diff --git a/manuals/user-guide/src/main/asciidoc/bk-user-guide.adoc b/manuals/user-guide/src/main/asciidoc/bk-user-guide.adoc index f2355b6d3..4b657b9f3 100644 --- a/manuals/user-guide/src/main/asciidoc/bk-user-guide.adoc +++ b/manuals/user-guide/src/main/asciidoc/bk-user-guide.adoc @@ -36,6 +36,8 @@ include::armoury/odl-armoury-user.adoc[ARMOURY] include::bgpcep/odl-bgpcep-bgp-all-user.adoc[BGP] +include::bgpcep/odl-bgpcep-bmp-user.adoc[BMP] + include::capwap/capwap-user.adoc[CAPWAP] include::didm/didm-user.adoc[]