.. _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.