.. _bgp-user-guide-protocol-configuration: Protocol Configuration ====================== As a first step, a new protocol instance needs to be configured. It is a very basic configuration conforming with RFC4271. .. note:: RIB policy must already be configured and present before configuring the protocol. **URL:** ``/rests/data/openconfig-network-instance:network-instances/network-instance=global-bgp/protocols`` **Method:** ``POST`` .. tabs:: .. tab:: XML **Content-Type:** ``application/xml`` **Request Body:** .. code-block:: xml :linenos: :emphasize-lines: 2,7,8,14,15 bgp-example x:BGP 192.0.2.2 65000 REJECT-ROUTE REJECT-ROUTE default-odl-import-policy default-odl-export-policy @line 2: The unique protocol instance identifier. @line 7: BGP Identifier of the speaker. @line 8: Local autonomous system number of the speaker. Note that, OpenDaylight BGP implementation supports four-octet AS numbers only. @line 14: Default ODL Import Policy. @line 15: Default ODL Export Policy. .. tab:: JSON **Content-Type:** ``application/json`` **Request Body:** .. code-block:: json :linenos: :emphasize-lines: 6,10,11,16,19 { "protocols": { "protocol": [ { "identifier": "openconfig-policy-types:BGP", "name": "bgp-example", "bgp-openconfig-extensions:bgp": { "global": { "config": { "router-id": "192.0.2.2", "as": 65000 }, "apply-policy": { "config": { "import-policy": [ "default-odl-import-policy" ], "export-policy": [ "default-odl-export-policy" ], "default-export-policy": "REJECT-ROUTE", "default-import-policy": "REJECT-ROUTE" } } } } } ] } } @line 6: The unique protocol instance identifier. @line 10: BGP Identifier of the speaker. @line 11: Local autonomous system number of the speaker. Note that, OpenDaylight BGP implementation supports four-octet AS numbers only. @line 16: Default ODL Import Policy. @line 19: Default ODL Export Policy. ----- The new instance presence can be verified via REST: **URL:** ``/rests/data/bgp-rib:bgp-rib/rib=bgp-example?content=nonconfig`` **Method:** ``GET`` .. tabs:: .. tab:: XML **Response Body:** .. code-block:: xml :linenos: :emphasize-lines: 3,4 bgp-example x:ipv4-address-family x:unicast-subsequent-address-family true @line 3: Loc-RIB - Per-protocol instance RIB, which contains the routes that have been selected by local BGP speaker's decision process. @line 4: The BGP-4 supports carrying IPv4 prefixes, such routes are stored in *ipv4-address-family*/*unicast-subsequent-address-family* table. .. tab:: JSON **Response Body:** .. code-block:: json :linenos: :emphasize-lines: 5,6 { "rib": [ { "id": "bgp-example", "loc-rib": { "tables": [ { "afi": "bgp-types:ipv4-address-family", "safi": "bgp-types:unicast-subsequent-address-family", "attributes": { "uptodate": true } } ] } } ] } @line 5: Loc-RIB - Per-protocol instance RIB, which contains the routes that have been selected by local BGP speaker's decision process. @line 6: The BGP-4 supports carrying IPv4 prefixes, such routes are stored in *ipv4-address-family*/*unicast-subsequent-address-family* table.