1 BGP Monitoring Protocol Developer Guide
2 =======================================
7 This section provides an overview of **feature odl-bgpcep-bmp**. This
8 feature will install everything needed for BMP (BGP Monitoring Protocol)
9 including establishing the connection, processing messages, storing
10 information about monitored routers, peers and their Adj-RIB-In
11 (unprocessed routing information) and Post-Policy Adj-RIB-In and
12 displaying data in BGP RIBs overview. The OpenDaylight BMP plugin plays
13 the role of a monitoring station.
15 Key APIs and Interfaces
16 -----------------------
21 *32-bmp.xml* defines only bmp-dispatcher the parser should be using
22 (global-bmp-extensions).
27 <type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bmp:impl">prefix:bmp-dispatcher-impl</type>
28 <name>global-bmp-dispatcher</name>
30 <type xmlns:bmp-spi="urn:opendaylight:params:xml:ns:yang:controller:bmp:spi">bmp-spi:extensions</type>
31 <name>global-bmp-extensions</name>
34 <type xmlns:netty="urn:opendaylight:params:xml:ns:yang:controller:netty">netty:netty-threadgroup</type>
35 <name>global-boss-group</name>
38 <type xmlns:netty="urn:opendaylight:params:xml:ns:yang:controller:netty">netty:netty-threadgroup</type>
39 <name>global-worker-group</name>
43 For user configuration of BMP, check User Guide.
48 The base BMP parser includes messages and attributes from
49 https://tools.ietf.org/html/draft-ietf-grow-bmp-15
54 All parsers and serializers need to be registered into *Extension
55 provider*. This *Extension provider* is configured in initial
56 configuration of the parser (*32-bmp.xml*).
61 <type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bmp:spi">prefix:bmp-extensions-impl</type>
62 <name>global-bmp-extensions</name>
64 <type xmlns:bmp-spi="urn:opendaylight:params:xml:ns:yang:controller:bmp:spi">bmp-spi:extension</type>
65 <name>bmp-parser-base</name>
69 - *bmp-parser-base* - will register parsers and serializers implemented
75 Parsing of BMP elements is mostly done equally to BGP. Some of the BMP
76 messages includes wrapped BGP messages.
78 BMP Monitoring Station
79 ~~~~~~~~~~~~~~~~~~~~~~
81 The BMP application (Monitoring Station) serves as message processor
82 incoming from monitored routers. The processed message is transformed
83 and relevant information is stored. Route information is stored in a BGP
86 BMP data is displayed only through one URL that is accessible from the
89 *`http://<controllerIP>:8181/restconf/operational/bmp-monitor:bmp-monitor <http://<controllerIP>:8181/restconf/operational/bmp-monitor:bmp-monitor>`__*
91 Each Monitor station will be displayed and it may contains multiple
92 monitored routers and peers within:
96 <bmp-monitor xmlns="urn:opendaylight:params:xml:ns:yang:bmp-monitor">
98 <monitor-id>example-bmp-monitor</monitor-id>
100 <router-id>127.0.0.11</router-id>
103 <peer-id>20.20.20.20</peer-id>
107 <remote-port>5000</remote-port>
108 <timestamp-sec>5</timestamp-sec>
110 <local-address>10.10.10.10</local-address>
111 <local-port>220</local-port>
115 <afi xmlns:x="urn:opendaylight:params:xml:ns:yang:bgp-types">x:ipv4-address-family</afi>
116 <safi xmlns:x="urn:opendaylight:params:xml:ns:yang:bgp-types">x:unicast-subsequent-address-family</safi>
117 <ipv4-routes xmlns="urn:opendaylight:params:xml:ns:yang:bgp-inet">
119 <prefix>10.10.10.0/24</prefix>
126 <uptodate>true</uptodate>
130 <address>10.10.10.10</address>
134 <bgp-id>20.20.20.20</bgp-id>
136 <timestamp-sec>5</timestamp-sec>
137 <invalidated-cluster-list-loop>53</invalidated-cluster-list-loop>
138 <duplicate-prefix-advertisements>16</duplicate-prefix-advertisements>
139 <loc-rib-routes>100</loc-rib-routes>
140 <duplicate-withdraws>11</duplicate-withdraws>
141 <invalidated-as-confed-loop>55</invalidated-as-confed-loop>
142 <adj-ribs-in-routes>10</adj-ribs-in-routes>
143 <invalidated-as-path-loop>66</invalidated-as-path-loop>
144 <invalidated-originator-id>70</invalidated-originator-id>
145 <rejected-prefixes>8</rejected-prefixes>
149 <description>description</description>
150 <info>some info;</info>
156 API Reference Documentation
157 ---------------------------
159 Javadocs are generated while creating mvn:site and they are located in
160 target/ directory in each module.