summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bgp/inet/bgp_inet_postman_collection.json76
-rw-r--r--release-notes/src/main/asciidoc/user_guide/bgp_in_honeycomb_user_guide.adoc455
2 files changed, 256 insertions, 275 deletions
diff --git a/bgp/inet/bgp_inet_postman_collection.json b/bgp/inet/bgp_inet_postman_collection.json
index 03f8fdba9..e1bf9fe4d 100644
--- a/bgp/inet/bgp_inet_postman_collection.json
+++ b/bgp/inet/bgp_inet_postman_collection.json
@@ -1,13 +1,12 @@
{
"info": {
- "_postman_id": "4092bf75-52e9-d793-36ab-c78696e33253",
+ "_postman_id": "33515a05-1b90-4460-b444-797c58f68eda",
"name": "Hc2vpp BGP RESTCONF calls",
"description": "Examples of BGP configration based on \nhttp://docs.opendaylight.org/en/stable-nitrogen/user-guide/bgp-user-guide.html",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
},
"item": [
{
- "_postman_id": "f3e0f4e3-1faa-43e8-aeb2-3ac1525de40b",
"name": "show hc-bgp-instance",
"request": {
"method": "GET",
@@ -23,7 +22,7 @@
],
"body": {
"mode": "raw",
- "raw": "<neighbor xmlns=\"urn:opendaylight:params:xml:ns:yang:bgp:openconfig-extensions\">\n <neighbor-address>192.0.2.1</neighbor-address>\n <timers>\n <config>\n <hold-time>90</hold-time>\n <connect-retry>10</connect-retry>\n </config>\n </timers>\n <transport>\n <config>\n <remote-port>179</remote-port>\n <passive-mode>false</passive-mode>\n </config>\n </transport>\n <config>\n <peer-type>INTERNAL</peer-type>\n </config>\n</neighbor>"
+ "raw": ""
},
"url": {
"raw": "http://localhost:8183/restconf/operational/bgp-rib:bgp-rib/rib/hc-bgp-instance",
@@ -44,7 +43,6 @@
"response": []
},
{
- "_postman_id": "7407ceb8-f112-4ac0-b40a-c07da58ff698",
"name": "add bgp peer",
"request": {
"method": "PUT",
@@ -60,7 +58,7 @@
],
"body": {
"mode": "raw",
- "raw": "{\n\t\"neighbor\": {\n \"neighbor-address\": \"127.0.0.2\",\n \"config\": {\n \"peer-type\": \"INTERNAL\"\n },\n \"timers\": {\n \"config\": {\n \"connect-retry\": 10,\n \"hold-time\": 90\n }\n },\n \"transport\": {\n \"config\": {\n \"remote-port\": 17900,\n \"passive-mode\": false\n }\n },\n \"afi-safis\": {\n \"afi-safi\": [\n {\n \"afi-safi-name\": \"openconfig-bgp-types:IPV4-UNICAST\",\n \"receive\": true,\n \"send-max\": 0\n }\n ]\n }\n}\n}"
+ "raw": "{ \n \"neighbor\":{ \n \"neighbor-address\":\"127.0.0.2\",\n \"config\":{ \n \"peer-type\":\"INTERNAL\"\n },\n \"timers\":{ \n \"config\":{ \n \"connect-retry\":10,\n \"hold-time\":90\n }\n },\n \"transport\":{ \n \"config\":{ \n \"remote-port\":17900,\n \"passive-mode\":false\n }\n },\n \"afi-safis\":{ \n \"afi-safi\":[ \n { \n \"afi-safi-name\":\"openconfig-bgp-types:IPV4-UNICAST\"\n }\n ]\n }\n }\n}"
},
"url": {
"raw": "http://localhost:8183/restconf/config/openconfig-network-instance:network-instances/network-instance/global-bgp/openconfig-network-instance:protocols/protocol/openconfig-policy-types:BGP/hc-bgp-instance/bgp/bgp-openconfig-extensions:neighbors/neighbor/127.0.0.2",
@@ -89,7 +87,6 @@
"response": []
},
{
- "_postman_id": "99c2a219-4942-43d8-af21-437f9d8ae0c2",
"name": "read network instance (config)",
"request": {
"method": "GET",
@@ -105,7 +102,7 @@
],
"body": {
"mode": "raw",
- "raw": "<neighbor xmlns=\"urn:opendaylight:params:xml:ns:yang:bgp:openconfig-extensions\">\n <neighbor-address>192.0.2.1</neighbor-address>\n <timers>\n <config>\n <hold-time>90</hold-time>\n <connect-retry>10</connect-retry>\n </config>\n </timers>\n <transport>\n <config>\n <remote-port>179</remote-port>\n <passive-mode>false</passive-mode>\n </config>\n </transport>\n <config>\n <peer-type>INTERNAL</peer-type>\n </config>\n</neighbor>"
+ "raw": ""
},
"url": {
"raw": "http://localhost:8183/restconf/config/openconfig-network-instance:network-instances/",
@@ -125,7 +122,6 @@
"response": []
},
{
- "_postman_id": "10da8355-7d52-45f6-8b8e-fb5020f52b88",
"name": "show 127.0.0.2 peer state",
"request": {
"method": "GET",
@@ -141,7 +137,7 @@
],
"body": {
"mode": "raw",
- "raw": "<neighbor xmlns=\"urn:opendaylight:params:xml:ns:yang:bgp:openconfig-extensions\">\n <neighbor-address>192.0.2.1</neighbor-address>\n <timers>\n <config>\n <hold-time>90</hold-time>\n <connect-retry>10</connect-retry>\n </config>\n </timers>\n <transport>\n <config>\n <remote-port>179</remote-port>\n <passive-mode>false</passive-mode>\n </config>\n </transport>\n <config>\n <peer-type>INTERNAL</peer-type>\n </config>\n</neighbor>"
+ "raw": ""
},
"url": {
"raw": "http://localhost:8183/restconf/operational/bgp-rib:bgp-rib/rib/hc-bgp-instance/peer/bgp:%2F%2F127.0.0.2",
@@ -164,7 +160,6 @@
"response": []
},
{
- "_postman_id": "20661906-559e-46c5-8fa0-afa5b010b004",
"name": "add application peer",
"request": {
"method": "PUT",
@@ -180,10 +175,10 @@
],
"body": {
"mode": "raw",
- "raw": "{\n \"neighbor\": {\n \"neighbor-address\": \"10.25.1.9\",\n \"config\": {\n \"peer-group\": \"application-peers\"\n },\n \"afi-safis\": {\n \"afi-safi\": [\n {\n \"afi-safi-name\": \"openconfig-bgp-types:IPV4-UNICAST\",\n \"receive\": true,\n \"send-max\": 0\n }\n ]\n }\n }\n}"
+ "raw": "{\n \"neighbor\": {\n \"neighbor-address\": \"127.0.0.1\",\n \"config\": {\n \"peer-group\": \"application-peers\"\n },\n \"afi-safis\": {\n \"afi-safi\": [\n {\n \"afi-safi-name\": \"openconfig-bgp-types:IPV4-UNICAST\"\n }\n ]\n }\n }\n}"
},
"url": {
- "raw": "http://localhost:8183/restconf/config/openconfig-network-instance:network-instances/network-instance/global-bgp/openconfig-network-instance:protocols/protocol/openconfig-policy-types:BGP/hc-bgp-instance/bgp/bgp-openconfig-extensions:neighbors/neighbor/10.25.1.9",
+ "raw": "http://localhost:8183/restconf/config/openconfig-network-instance:network-instances/network-instance/global-bgp/openconfig-network-instance:protocols/protocol/openconfig-policy-types:BGP/hc-bgp-instance/bgp/bgp-openconfig-extensions:neighbors/neighbor/127.0.0.1",
"protocol": "http",
"host": [
"localhost"
@@ -202,15 +197,14 @@
"bgp",
"bgp-openconfig-extensions:neighbors",
"neighbor",
- "10.25.1.9"
+ "127.0.0.1"
]
}
},
"response": []
},
{
- "_postman_id": "b33d307d-ff95-4ed5-ab59-22ed0e88e6aa",
- "name": "show 10.25.1.9 app peer state",
+ "name": "show 127.0.0.1 app peer state",
"request": {
"method": "GET",
"header": [
@@ -225,10 +219,10 @@
],
"body": {
"mode": "raw",
- "raw": "<neighbor xmlns=\"urn:opendaylight:params:xml:ns:yang:bgp:openconfig-extensions\">\n <neighbor-address>192.0.2.1</neighbor-address>\n <timers>\n <config>\n <hold-time>90</hold-time>\n <connect-retry>10</connect-retry>\n </config>\n </timers>\n <transport>\n <config>\n <remote-port>179</remote-port>\n <passive-mode>false</passive-mode>\n </config>\n </transport>\n <config>\n <peer-type>INTERNAL</peer-type>\n </config>\n</neighbor>"
+ "raw": ""
},
"url": {
- "raw": "http://localhost:8183/restconf/operational/bgp-rib:bgp-rib/rib/hc-bgp-instance/peer/bgp:%2F%2F10.25.1.9",
+ "raw": "http://localhost:8183/restconf/operational/bgp-rib:bgp-rib/rib/hc-bgp-instance/peer/bgp:%2F%2F127.0.0.1",
"protocol": "http",
"host": [
"localhost"
@@ -241,14 +235,13 @@
"rib",
"hc-bgp-instance",
"peer",
- "bgp:%2F%2F10.25.1.9"
+ "bgp:%2F%2F127.0.0.1"
]
}
},
"response": []
},
{
- "_postman_id": "2c3d280e-a98a-4b98-9204-a775124107bf",
"name": "add ipv4unicast route",
"request": {
"method": "PUT",
@@ -267,7 +260,7 @@
"raw": "<ipv4-route xmlns=\"urn:opendaylight:params:xml:ns:yang:bgp-inet\">\n <route-key>10.0.0.11/32</route-key>\n <path-id>0</path-id>\n <prefix>10.0.0.11/32</prefix>\n <attributes>\n <as-path></as-path>\n <origin>\n <value>igp</value>\n </origin>\n <local-pref>\n <pref>100</pref>\n </local-pref>\n <ipv4-next-hop>\n <global>10.11.1.1</global>\n </ipv4-next-hop>\n </attributes>\n</ipv4-route>"
},
"url": {
- "raw": "http://localhost:8183/restconf/config/bgp-rib:application-rib/10.25.1.9/tables/bgp-types:ipv4-address-family/bgp-types:unicast-subsequent-address-family/bgp-inet:ipv4-routes/ipv4-route/10.0.0.11%2F32/0",
+ "raw": "http://localhost:8183/restconf/config/bgp-rib:application-rib/127.0.0.1/tables/bgp-types:ipv4-address-family/bgp-types:unicast-subsequent-address-family/bgp-inet:ipv4-routes/ipv4-route/10.0.0.11%2F32/0",
"protocol": "http",
"host": [
"localhost"
@@ -277,7 +270,7 @@
"restconf",
"config",
"bgp-rib:application-rib",
- "10.25.1.9",
+ "127.0.0.1",
"tables",
"bgp-types:ipv4-address-family",
"bgp-types:unicast-subsequent-address-family",
@@ -291,7 +284,6 @@
"response": []
},
{
- "_postman_id": "436ccd51-3548-4d3e-967e-74ffb9a5e601",
"name": "show 127.0.0.2 peer's adj-rib-out",
"request": {
"method": "GET",
@@ -307,7 +299,7 @@
],
"body": {
"mode": "raw",
- "raw": "<neighbor xmlns=\"urn:opendaylight:params:xml:ns:yang:bgp:openconfig-extensions\">\n <neighbor-address>192.0.2.1</neighbor-address>\n <timers>\n <config>\n <hold-time>90</hold-time>\n <connect-retry>10</connect-retry>\n </config>\n </timers>\n <transport>\n <config>\n <remote-port>179</remote-port>\n <passive-mode>false</passive-mode>\n </config>\n </transport>\n <config>\n <peer-type>INTERNAL</peer-type>\n </config>\n</neighbor>"
+ "raw": ""
},
"url": {
"raw": "http://localhost:8183/restconf/operational/bgp-rib:bgp-rib/rib/hc-bgp-instance/peer/bgp:%2F%2F127.0.0.2/adj-rib-out/tables/bgp-types:ipv4-address-family/bgp-types:unicast-subsequent-address-family/bgp-inet:ipv4-routes",
@@ -335,7 +327,6 @@
"response": []
},
{
- "_postman_id": "bf72955c-8d25-41c0-a34c-25bf909a65e7",
"name": "show speeker's Loc-RIB",
"request": {
"method": "GET",
@@ -351,7 +342,7 @@
],
"body": {
"mode": "raw",
- "raw": "<neighbor xmlns=\"urn:opendaylight:params:xml:ns:yang:bgp:openconfig-extensions\">\n <neighbor-address>10.25.1.9</neighbor-address>\n <config>\n <peer-group>application-peers</peer-group>\n </config>\n</neighbor>"
+ "raw": ""
},
"url": {
"raw": "http://localhost:8183/restconf/operational/bgp-rib:bgp-rib/rib/hc-bgp-instance/loc-rib",
@@ -373,7 +364,6 @@
"response": []
},
{
- "_postman_id": "2d83d868-e8f6-40dc-aa6e-401a7fa61a36",
"name": "add another ipv4unicast route",
"request": {
"method": "PUT",
@@ -392,7 +382,7 @@
"raw": "<ipv4-route xmlns=\"urn:opendaylight:params:xml:ns:yang:bgp-inet\">\n <route-key>10.0.0.12/32</route-key>\n <path-id>0</path-id>\n <prefix>10.0.0.12/32</prefix>\n <attributes>\n <as-path></as-path>\n <origin>\n <value>igp</value>\n </origin>\n <local-pref>\n <pref>100</pref>\n </local-pref>\n <ipv4-next-hop>\n <global>10.11.1.1</global>\n </ipv4-next-hop>\n </attributes>\n</ipv4-route>"
},
"url": {
- "raw": "http://localhost:8183/restconf/config/bgp-rib:application-rib/10.25.1.9/tables/bgp-types:ipv4-address-family/bgp-types:unicast-subsequent-address-family/bgp-inet:ipv4-routes/ipv4-route/10.0.0.12%2F32/0",
+ "raw": "http://localhost:8183/restconf/config/bgp-rib:application-rib/127.0.0.1/tables/bgp-types:ipv4-address-family/bgp-types:unicast-subsequent-address-family/bgp-inet:ipv4-routes/ipv4-route/10.0.0.12%2F32/0",
"protocol": "http",
"host": [
"localhost"
@@ -402,7 +392,7 @@
"restconf",
"config",
"bgp-rib:application-rib",
- "10.25.1.9",
+ "127.0.0.1",
"tables",
"bgp-types:ipv4-address-family",
"bgp-types:unicast-subsequent-address-family",
@@ -416,7 +406,6 @@
"response": []
},
{
- "_postman_id": "9a436548-aa9e-4389-a4a9-1b5cfb89aaa3",
"name": "get VPP IPv4 routes",
"request": {
"method": "GET",
@@ -432,10 +421,10 @@
],
"body": {
"mode": "raw",
- "raw": "{\n \"routing-instance\":\n {\n \"name\":\"routing-1\",\n \"enabled\":\"true\",\n \"router-id\":\"192.168.2.1\",\n \"description\":\"Test routing instance\",\n \"routing-protocols\":{\n \"routing-protocol\":[\n {\n \"name\":\"test-routing-protocol\",\n \"description\":\"Test routing protocol\",\n \"enabled\":\"true\",\n \"type\":\"static\",\n \"static-routes\":{\n \"ipv4\":{\n \"route\":[\n {\n \"id\":1,\n \"description\":\"Test static route\",\n \"destination-prefix\":\"192.168.2.3/32\",\n \"next-hop\":\"192.168.2.8\"\n }\n ]\n }\n }\n } \n ]\n }\n } \n}"
+ "raw": ""
},
"url": {
- "raw": "http://localhost:8183/restconf/operational/hc2vpp-ietf-routing:routing-state/routing-instance/vpp-routing-instance/routing-protocols/routing-protocol/learned-protocol-0/static-routes/hc2vpp-ietf-ipv4-unicast-routing:ipv4",
+ "raw": "http://localhost:8183/restconf/operational/hc2vpp-ietf-routing:routing/control-plane-protocols/control-plane-protocol/hc2vpp-ietf-routing:static/learned-protocol-0/static-routes/ipv4",
"protocol": "http",
"host": [
"localhost"
@@ -444,21 +433,19 @@
"path": [
"restconf",
"operational",
- "hc2vpp-ietf-routing:routing-state",
- "routing-instance",
- "vpp-routing-instance",
- "routing-protocols",
- "routing-protocol",
+ "hc2vpp-ietf-routing:routing",
+ "control-plane-protocols",
+ "control-plane-protocol",
+ "hc2vpp-ietf-routing:static",
"learned-protocol-0",
"static-routes",
- "hc2vpp-ietf-ipv4-unicast-routing:ipv4"
+ "ipv4"
]
}
},
"response": []
},
{
- "_postman_id": "bb9ae871-9ca1-4456-be14-2d9a1d2ef152",
"name": "update second ipv4unicast route",
"request": {
"method": "PUT",
@@ -477,7 +464,7 @@
"raw": "<ipv4-route xmlns=\"urn:opendaylight:params:xml:ns:yang:bgp-inet\">\n <route-key>10.0.0.12/32</route-key>\n <path-id>0</path-id>\n <prefix>10.0.0.12/32</prefix>\n <attributes>\n <as-path></as-path>\n <origin>\n <value>igp</value>\n </origin>\n <local-pref>\n <pref>102</pref>\n </local-pref>\n <ipv4-next-hop>\n <global>10.11.1.1</global>\n </ipv4-next-hop>\n </attributes>\n</ipv4-route>"
},
"url": {
- "raw": "http://localhost:8183/restconf/config/bgp-rib:application-rib/10.25.1.9/tables/bgp-types:ipv4-address-family/bgp-types:unicast-subsequent-address-family/bgp-inet:ipv4-routes/ipv4-route/10.0.0.12%2F32/0",
+ "raw": "http://localhost:8183/restconf/config/bgp-rib:application-rib/127.0.0.1/tables/bgp-types:ipv4-address-family/bgp-types:unicast-subsequent-address-family/bgp-inet:ipv4-routes/ipv4-route/10.0.0.12%2F32/0",
"protocol": "http",
"host": [
"localhost"
@@ -487,7 +474,7 @@
"restconf",
"config",
"bgp-rib:application-rib",
- "10.25.1.9",
+ "127.0.0.1",
"tables",
"bgp-types:ipv4-address-family",
"bgp-types:unicast-subsequent-address-family",
@@ -501,7 +488,6 @@
"response": []
},
{
- "_postman_id": "7acec3bd-ff58-46ca-b3d4-2d5c91a507cc",
"name": "remove second ipv4unicast route",
"request": {
"method": "DELETE",
@@ -520,7 +506,7 @@
"raw": ""
},
"url": {
- "raw": "http://localhost:8183/restconf/config/bgp-rib:application-rib/10.25.1.9/tables/bgp-types:ipv4-address-family/bgp-types:unicast-subsequent-address-family/bgp-inet:ipv4-routes/ipv4-route/10.0.0.12%2F32/0",
+ "raw": "http://localhost:8183/restconf/config/bgp-rib:application-rib/127.0.0.1/tables/bgp-types:ipv4-address-family/bgp-types:unicast-subsequent-address-family/bgp-inet:ipv4-routes/ipv4-route/10.0.0.12%2F32/0",
"protocol": "http",
"host": [
"localhost"
@@ -530,7 +516,7 @@
"restconf",
"config",
"bgp-rib:application-rib",
- "10.25.1.9",
+ "127.0.0.1",
"tables",
"bgp-types:ipv4-address-family",
"bgp-types:unicast-subsequent-address-family",
@@ -544,7 +530,6 @@
"response": []
},
{
- "_postman_id": "fa920481-50f0-4754-8260-929bbe1e86ae",
"name": "update bgp peer",
"request": {
"method": "PUT",
@@ -560,7 +545,7 @@
],
"body": {
"mode": "raw",
- "raw": "{\n\t\"neighbor\": {\n \"neighbor-address\": \"127.0.0.2\",\n \"config\": {\n \"peer-type\": \"INTERNAL\"\n },\n \"timers\": {\n \"config\": {\n \"connect-retry\": 10,\n \"hold-time\": 91\n }\n },\n \"transport\": {\n \"config\": {\n \"remote-port\": 17900,\n \"passive-mode\": false\n }\n },\n \"afi-safis\": {\n \"afi-safi\": [\n {\n \"afi-safi-name\": \"openconfig-bgp-types:IPV4-UNICAST\",\n \"receive\": true,\n \"send-max\": 0\n }\n ]\n }\n}\n}"
+ "raw": "{\n \"neighbor\": {\n \"neighbor-address\": \"127.0.0.2\",\n \"config\": {\n \"peer-type\": \"INTERNAL\"\n },\n \"timers\": {\n \"config\": {\n \"connect-retry\": 10,\n \"hold-time\": 91\n }\n },\n \"transport\": {\n \"config\": {\n \"remote-port\": 17900,\n \"passive-mode\": false\n }\n },\n \"afi-safis\": {\n \"afi-safi\": [\n {\n \"afi-safi-name\": \"openconfig-bgp-types:IPV4-UNICAST\"\n }\n ]\n }\n}\n}"
},
"url": {
"raw": "http://localhost:8183/restconf/config/openconfig-network-instance:network-instances/network-instance/global-bgp/openconfig-network-instance:protocols/protocol/openconfig-policy-types:BGP/hc-bgp-instance/bgp/bgp-openconfig-extensions:neighbors/neighbor/127.0.0.2",
@@ -589,7 +574,6 @@
"response": []
},
{
- "_postman_id": "dfd36e6b-95bc-4b17-84fd-a72672e1e075",
"name": "delete bgp peer",
"request": {
"method": "DELETE",
diff --git a/release-notes/src/main/asciidoc/user_guide/bgp_in_honeycomb_user_guide.adoc b/release-notes/src/main/asciidoc/user_guide/bgp_in_honeycomb_user_guide.adoc
index 3917943b5..fe7769f5e 100644
--- a/release-notes/src/main/asciidoc/user_guide/bgp_in_honeycomb_user_guide.adoc
+++ b/release-notes/src/main/asciidoc/user_guide/bgp_in_honeycomb_user_guide.adoc
@@ -43,7 +43,7 @@ Use config/bgp.json to configure BGP server:
"bgp-binding-address": "127.0.0.1",
"bgp-port": 1790,
"bgp-as-number": 65000,
- "bgp-receive-multiple-paths": "true",
+ "bgp-receive-multiple-paths": "false",
"bgp-send-max-paths": 0,
"bgp-network-instance-name": "global-bgp",
"bgp-protocol-instance-name": "hc-bgp-instance",
@@ -58,10 +58,14 @@ NOTE: bgp-binding-address is also used as identifier of BGP speaker.
After enabling BGP modules and configuring BGP server,
link:user_running_honeycomb.html#_starting_honeycomb_agent[start honeycomb].
-BGP server configuration can be verified using RESTCONF/NETCONF. We
+BGP server configuration can be verified using RESTCONF/NETCONF.
curl -u admin:admin http://localhost:8183/restconf/operational/bgp-rib:bgp-rib/rib/hc-bgp-instance
+NOTE: You can format the output using "python -m json.tool" in terminal:
+
+ curl -u admin:admin http://localhost:8183/restconf/operational/bgp-rib:bgp-rib/rib/hc-bgp-instance | python -m json.tool
+
[source,json]
----
{
@@ -98,10 +102,10 @@ Here is a sample basic neighbor configuration:
[source,json]
----
{
- "neighbor": {
- "neighbor-address": "127.0.0.2",
- "config": {
- "peer-type": "INTERNAL"
+ "neighbor": {
+ "neighbor-address": "127.0.0.2",
+ "config": {
+ "peer-type": "INTERNAL"
},
"timers": {
"config": {
@@ -118,9 +122,7 @@ Here is a sample basic neighbor configuration:
"afi-safis": {
"afi-safi": [
{
- "afi-safi-name": "openconfig-bgp-types:IPV4-UNICAST",
- "receive": true,
- "send-max": 0
+ "afi-safi-name": "openconfig-bgp-types:IPV4-UNICAST"
}
]
}
@@ -157,156 +159,132 @@ The RIBs can be checked via REST:
"peer": [
{
"peer-id": "bgp://127.0.0.2",
- "supported-tables": [
- {
- "afi": "bgp-types:ipv4-address-family",
- "safi": "bgp-types:unicast-subsequent-address-family",
- "send-receive": "both"
- },
- {
- "afi": "bgp-linkstate:linkstate-address-family",
- "safi": "bgp-linkstate:linkstate-subsequent-address-family"
- }
- ],
+ "peer-role": "ibgp",
"effective-rib-in": {
"tables": [
{
- "afi": "bgp-linkstate:linkstate-address-family",
- "safi": "bgp-linkstate:linkstate-subsequent-address-family",
- "bgp-linkstate:linkstate-routes": {},
- "attributes": {
- "uptodate": true
- }
- },
- {
"afi": "bgp-types:ipv4-address-family",
"safi": "bgp-types:unicast-subsequent-address-family",
"bgp-inet:ipv4-routes": {
"ipv4-route": [
{
"path-id": 5,
- "prefix": "1.1.1.1/31",
+ "route-key": "1.1.1.2/31",
+ "prefix": "1.1.1.2/31",
"attributes": {
- "as-path": {},
"origin": {
"value": "egp"
},
- "local-pref": {
- "pref": 100
- },
"ipv4-next-hop": {
"global": "127.1.1.1"
},
"multi-exit-disc": {
"med": 0
- }
+ },
+ "local-pref": {
+ "pref": 100
+ },
+ "as-path": {}
}
},
{
"path-id": 5,
- "prefix": "1.1.1.2/31",
+ "route-key": "1.1.1.1/31",
+ "prefix": "1.1.1.1/31",
"attributes": {
- "as-path": {},
"origin": {
"value": "egp"
},
- "local-pref": {
- "pref": 100
- },
"ipv4-next-hop": {
"global": "127.1.1.1"
},
"multi-exit-disc": {
"med": 0
- }
+ },
+ "local-pref": {
+ "pref": 100
+ },
+ "as-path": {}
}
}
]
},
"attributes": {
- "uptodate": true
- }
- }
- ]
- },
- "adj-rib-out": {
- "tables": [
- {
- "afi": "bgp-linkstate:linkstate-address-family",
- "safi": "bgp-linkstate:linkstate-subsequent-address-family",
- "bgp-linkstate:linkstate-routes": {},
- "attributes": {
- "uptodate": false
- }
- },
- {
- "afi": "bgp-types:ipv4-address-family",
- "safi": "bgp-types:unicast-subsequent-address-family",
- "bgp-inet:ipv4-routes": {},
- "attributes": {
"uptodate": false
}
}
]
},
- "peer-role": "ibgp",
"adj-rib-in": {
"tables": [
{
- "afi": "bgp-linkstate:linkstate-address-family",
- "safi": "bgp-linkstate:linkstate-subsequent-address-family",
- "bgp-linkstate:linkstate-routes": {},
- "attributes": {
- "uptodate": true
- }
- },
- {
"afi": "bgp-types:ipv4-address-family",
"safi": "bgp-types:unicast-subsequent-address-family",
"bgp-inet:ipv4-routes": {
"ipv4-route": [
{
"path-id": 5,
- "prefix": "1.1.1.1/31",
+ "route-key": "1.1.1.2/31",
+ "prefix": "1.1.1.2/31",
"attributes": {
- "as-path": {},
"origin": {
"value": "egp"
},
- "local-pref": {
- "pref": 100
- },
"ipv4-next-hop": {
"global": "127.1.1.1"
},
"multi-exit-disc": {
"med": 0
- }
+ },
+ "local-pref": {
+ "pref": 100
+ },
+ "as-path": {}
}
},
{
"path-id": 5,
- "prefix": "1.1.1.2/31",
+ "route-key": "1.1.1.1/31",
+ "prefix": "1.1.1.1/31",
"attributes": {
- "as-path": {},
"origin": {
"value": "egp"
},
- "local-pref": {
- "pref": 100
- },
"ipv4-next-hop": {
"global": "127.1.1.1"
},
"multi-exit-disc": {
"med": 0
- }
+ },
+ "local-pref": {
+ "pref": 100
+ },
+ "as-path": {}
}
}
]
},
"attributes": {
- "uptodate": true
+ "uptodate": false
+ }
+ }
+ ]
+ },
+ "supported-tables": [
+ {
+ "afi": "bgp-types:ipv4-address-family",
+ "safi": "bgp-types:unicast-subsequent-address-family",
+ "send-receive": "both"
+ }
+ ],
+ "adj-rib-out": {
+ "tables": [
+ {
+ "afi": "bgp-types:ipv4-address-family",
+ "safi": "bgp-types:unicast-subsequent-address-family",
+ "bgp-inet:ipv4-routes": {},
+ "attributes": {
+ "uptodate": false
}
}
]
@@ -324,7 +302,7 @@ This concept allows user to originate new routes and advertise them to all conne
Following configuration sample show a way to configure the Application Peer:
-*URL:* http://localhost:8183/restconf/config/openconfig-network-instance:network-instances/network-instance/global-bgp/openconfig-network-instance:protocols/protocol/openconfig-policy-types:BGP/hc-bgp-instance/bgp/bgp-openconfig-extensions:neighbors/neighbor/10.25.1.9
+*URL:* http://localhost:8183/restconf/config/openconfig-network-instance:network-instances/network-instance/global-bgp/openconfig-network-instance:protocols/protocol/openconfig-policy-types:BGP/hc-bgp-instance/bgp/bgp-openconfig-extensions:neighbors/neighbor/127.0.0.1
*Method:* PUT
@@ -334,16 +312,14 @@ Following configuration sample show a way to configure the Application Peer:
----
{
"neighbor": {
- "neighbor-address": "10.25.1.9",
+ "neighbor-address": "127.0.0.1",
"config": {
"peer-group": "application-peers"
},
"afi-safis": {
"afi-safi": [
{
- "afi-safi-name": "openconfig-bgp-types:IPV4-UNICAST",
- "receive": true,
- "send-max": 0
+ "afi-safi-name": "openconfig-bgp-types:IPV4-UNICAST"
}
]
}
@@ -353,7 +329,7 @@ Following configuration sample show a way to configure the Application Peer:
The Application Peer presence can be verified via REST:
-*URL:* http://localhost:8183/restconf/operational/bgp-rib:bgp-rib/rib/hc-bgp-instance/peer/bgp:%2F%2F10.25.1.9
+*URL:* http://localhost:8183/restconf/operational/bgp-rib:bgp-rib/rib/hc-bgp-instance/peer/bgp:%2F%2F127.0.0.1
*Method:* GET
@@ -364,7 +340,7 @@ The Application Peer presence can be verified via REST:
{
"peer": [
{
- "peer-id": "bgp://10.25.1.9",
+ "peer-id": "bgp://127.0.0.1",
"effective-rib-in": {
"tables": [
{
@@ -399,7 +375,7 @@ The Application Peer presence can be verified via REST:
Next example shows how to inject a route into the programmable RIB.
-*URL:* http://localhost:8183/restconf/config/bgp-rib:application-rib/10.25.1.9/tables/bgp-types:ipv4-address-family/bgp-types:unicast-subsequent-address-family/bgp-inet:ipv4-routes/ipv4-route/10.0.0.11%2F32/0
+*URL:* http://localhost:8183/restconf/config/bgp-rib:application-rib/127.0.0.1/tables/bgp-types:ipv4-address-family/bgp-types:unicast-subsequent-address-family/bgp-inet:ipv4-routes/ipv4-route/10.0.0.11%2F32/0
*Method:* PUT
@@ -408,6 +384,7 @@ Next example shows how to inject a route into the programmable RIB.
[source,xml]
----
<ipv4-route xmlns="urn:opendaylight:params:xml:ns:yang:bgp-inet">
+ <route-key>10.0.0.11/32</route-key>
<path-id>0</path-id>
<prefix>10.0.0.11/32</prefix>
<attributes>
@@ -441,107 +418,107 @@ and it advertised routes to local BGP system, routes are stored in peer’s RIBs
"peer": [
{
"peer-id": "bgp://127.0.0.2",
- "supported-tables": [
- {
- "afi": "bgp-types:ipv4-address-family",
- "safi": "bgp-types:unicast-subsequent-address-family",
- "send-receive": "both"
- },
- {
- "afi": "bgp-linkstate:linkstate-address-family",
- "safi": "bgp-linkstate:linkstate-subsequent-address-family"
- }
- ],
+ "peer-role": "ibgp",
"effective-rib-in": {
"tables": [
{
- "afi": "bgp-linkstate:linkstate-address-family",
- "safi": "bgp-linkstate:linkstate-subsequent-address-family",
- "bgp-linkstate:linkstate-routes": {},
- "attributes": {
- "uptodate": true
- }
- },
- {
"afi": "bgp-types:ipv4-address-family",
"safi": "bgp-types:unicast-subsequent-address-family",
"bgp-inet:ipv4-routes": {
"ipv4-route": [
{
"path-id": 5,
- "prefix": "1.1.1.1/31",
+ "route-key": "1.1.1.2/31",
+ "prefix": "1.1.1.2/31",
"attributes": {
- "as-path": {},
"origin": {
"value": "egp"
},
- "local-pref": {
- "pref": 100
- },
"ipv4-next-hop": {
"global": "127.1.1.1"
},
"multi-exit-disc": {
"med": 0
- }
+ },
+ "local-pref": {
+ "pref": 100
+ },
+ "as-path": {}
}
},
{
"path-id": 5,
- "prefix": "1.1.1.2/31",
+ "route-key": "1.1.1.1/31",
+ "prefix": "1.1.1.1/31",
"attributes": {
- "as-path": {},
"origin": {
"value": "egp"
},
- "local-pref": {
- "pref": 100
- },
"ipv4-next-hop": {
"global": "127.1.1.1"
},
"multi-exit-disc": {
"med": 0
- }
+ },
+ "local-pref": {
+ "pref": 100
+ },
+ "as-path": {}
}
}
]
},
"attributes": {
- "uptodate": true
+ "uptodate": false
}
}
]
},
- "adj-rib-out": {
+ "adj-rib-in": {
"tables": [
{
- "afi": "bgp-linkstate:linkstate-address-family",
- "safi": "bgp-linkstate:linkstate-subsequent-address-family",
- "bgp-linkstate:linkstate-routes": {},
- "attributes": {
- "uptodate": false
- }
- },
- {
"afi": "bgp-types:ipv4-address-family",
"safi": "bgp-types:unicast-subsequent-address-family",
"bgp-inet:ipv4-routes": {
"ipv4-route": [
{
- "path-id": 1,
- "prefix": "10.0.0.11/32",
+ "path-id": 5,
+ "route-key": "1.1.1.2/31",
+ "prefix": "1.1.1.2/31",
"attributes": {
- "as-path": {},
"origin": {
- "value": "igp"
+ "value": "egp"
+ },
+ "ipv4-next-hop": {
+ "global": "127.1.1.1"
+ },
+ "multi-exit-disc": {
+ "med": 0
},
"local-pref": {
"pref": 100
},
+ "as-path": {}
+ }
+ },
+ {
+ "path-id": 5,
+ "route-key": "1.1.1.1/31",
+ "prefix": "1.1.1.1/31",
+ "attributes": {
+ "origin": {
+ "value": "egp"
+ },
"ipv4-next-hop": {
- "global": "10.11.1.1"
- }
+ "global": "127.1.1.1"
+ },
+ "multi-exit-disc": {
+ "med": 0
+ },
+ "local-pref": {
+ "pref": 100
+ },
+ "as-path": {}
}
}
]
@@ -552,64 +529,41 @@ and it advertised routes to local BGP system, routes are stored in peer’s RIBs
}
]
},
- "peer-role": "ibgp",
- "adj-rib-in": {
+ "supported-tables": [
+ {
+ "afi": "bgp-types:ipv4-address-family",
+ "safi": "bgp-types:unicast-subsequent-address-family",
+ "send-receive": "both"
+ }
+ ],
+ "adj-rib-out": {
"tables": [
{
- "afi": "bgp-linkstate:linkstate-address-family",
- "safi": "bgp-linkstate:linkstate-subsequent-address-family",
- "bgp-linkstate:linkstate-routes": {},
- "attributes": {
- "uptodate": true
- }
- },
- {
"afi": "bgp-types:ipv4-address-family",
"safi": "bgp-types:unicast-subsequent-address-family",
"bgp-inet:ipv4-routes": {
"ipv4-route": [
{
- "path-id": 5,
- "prefix": "1.1.1.1/31",
+ "path-id": 0,
+ "route-key": "10.0.0.11/32",
+ "prefix": "10.0.0.11/32",
"attributes": {
- "as-path": {},
"origin": {
- "value": "egp"
- },
- "local-pref": {
- "pref": 100
+ "value": "igp"
},
"ipv4-next-hop": {
- "global": "127.1.1.1"
- },
- "multi-exit-disc": {
- "med": 0
- }
- }
- },
- {
- "path-id": 5,
- "prefix": "1.1.1.2/31",
- "attributes": {
- "as-path": {},
- "origin": {
- "value": "egp"
+ "global": "10.11.1.1"
},
"local-pref": {
"pref": 100
},
- "ipv4-next-hop": {
- "global": "127.1.1.1"
- },
- "multi-exit-disc": {
- "med": 0
- }
+ "as-path": {}
}
}
]
},
"attributes": {
- "uptodate": true
+ "uptodate": false
}
}
]
@@ -633,65 +587,79 @@ Also the same route should appeared in Loc-RIB now:
"loc-rib": {
"tables": [
{
+ "afi": "bgp-types:ipv6-address-family",
+ "safi": "bgp-types:unicast-subsequent-address-family",
+ "bgp-inet:ipv6-routes": {},
+ "attributes": {
+ "uptodate": false
+ }
+ },
+ {
"afi": "bgp-types:ipv4-address-family",
"safi": "bgp-types:unicast-subsequent-address-family",
"bgp-inet:ipv4-routes": {
"ipv4-route": [
{
- "path-id": 1,
- "prefix": "10.0.0.11/32",
+ "path-id": 0,
+ "route-key": "1.1.1.1/31",
+ "prefix": "1.1.1.1/31",
"attributes": {
- "as-path": {},
"origin": {
- "value": "igp"
+ "value": "egp"
+ },
+ "ipv4-next-hop": {
+ "global": "127.1.1.1"
+ },
+ "multi-exit-disc": {
+ "med": 0
},
"local-pref": {
"pref": 100
},
- "ipv4-next-hop": {
- "global": "10.11.1.1"
- }
+ "as-path": {}
}
},
{
- "path-id": 1,
- "prefix": "1.1.1.1/31",
+ "path-id": 0,
+ "route-key": "1.1.1.2/31",
+ "prefix": "1.1.1.2/31",
"attributes": {
- "as-path": {},
"origin": {
"value": "egp"
},
- "local-pref": {
- "pref": 100
- },
"ipv4-next-hop": {
"global": "127.1.1.1"
},
"multi-exit-disc": {
"med": 0
- }
+ },
+ "local-pref": {
+ "pref": 100
+ },
+ "as-path": {}
}
},
{
- "path-id": 1,
- "prefix": "1.1.1.2/31",
+ "path-id": 0,
+ "route-key": "10.0.0.11/32",
+ "prefix": "10.0.0.11/32",
"attributes": {
- "as-path": {},
"origin": {
- "value": "egp"
+ "value": "igp"
+ },
+ "ipv4-next-hop": {
+ "global": "10.11.1.1"
},
"local-pref": {
"pref": 100
},
- "ipv4-next-hop": {
- "global": "127.1.1.1"
- },
- "multi-exit-disc": {
- "med": 0
- }
+ "as-path": {}
}
}
]
+ },
+ "attributes": {
+ "uptodate": false
}
}
]
@@ -715,7 +683,7 @@ in distribution dir (/opt/honeycomb in case honeycomb was installed from package
Let's add route using Application Peer:
-*URL:* http://localhost:8183/restconf/config/bgp-rib:application-rib/10.25.1.9/tables/bgp-types:ipv4-address-family/bgp-types:unicast-subsequent-address-family/bgp-inet:ipv4-routes/ipv4-route/10.0.0.12%2F32/0
+*URL:* http://localhost:8183/restconf/config/bgp-rib:application-rib/127.0.0.1/tables/bgp-types:ipv4-address-family/bgp-types:unicast-subsequent-address-family/bgp-inet:ipv4-routes/ipv4-route/10.0.0.12%2F32/0
*Method:* PUT
@@ -724,6 +692,7 @@ Let's add route using Application Peer:
[source,xml]
----
<ipv4-route xmlns="urn:opendaylight:params:xml:ns:yang:bgp-inet">
+ <route-key>10.0.0.12/32</route-key>
<path-id>0</path-id>
<prefix>10.0.0.12/32</prefix>
<attributes>
@@ -743,7 +712,7 @@ Let's add route using Application Peer:
Also the same route should appeared in VPP now:
-*URL:* http://localhost:8183/restconf/operational/hc2vpp-ietf-routing:routing-state/routing-instance/vpp-routing-instance/routing-protocols/routing-protocol/learned-protocol-0/static-routes/hc2vpp-ietf-ipv4-unicast-routing:ipv4
+*URL:* http://localhost:8183/restconf/operational/hc2vpp-ietf-routing:routing/control-plane-protocols/control-plane-protocol/hc2vpp-ietf-routing:static/learned-protocol-0/static-routes/ipv4
*Method:* GET
@@ -755,46 +724,74 @@ Also the same route should appeared in VPP now:
"hc2vpp-ietf-ipv4-unicast-routing:ipv4": {
"route": [
{
- "id": 0,
- "vpp-ipv4-route-state": {},
- "next-hop": "0.0.0.0",
- "destination-prefix": "0.0.0.0/0"
+ "destination-prefix": "1.1.1.2/31",
+ "vpp-ipv4-unicast-routing:vpp-ipv4-route": {},
+ "next-hop": {
+ "next-hop-address": "127.1.1.1"
+ }
+ },
+ {
+ "destination-prefix": "255.255.255.255/32",
+ "vpp-ipv4-unicast-routing:vpp-ipv4-route": {},
+ "next-hop": {
+ "special-next-hop-enum": "blackhole"
+ }
+ },
+ {
+ "destination-prefix": "1.1.1.1/31",
+ "vpp-ipv4-unicast-routing:vpp-ipv4-route": {},
+ "next-hop": {
+ "next-hop-address": "127.1.1.1"
+ }
+ },
+ {
+ "destination-prefix": "10.0.0.12/32",
+ "vpp-ipv4-unicast-routing:vpp-ipv4-route": {},
+ "next-hop": {
+ "next-hop-address": "10.11.1.1"
+ }
},
{
- "id": 1,
- "vpp-ipv4-route-state": {},
- "next-hop": "0.0.0.0",
- "destination-prefix": "0.0.0.0/32"
+ "destination-prefix": "127.1.1.1/32",
+ "vpp-ipv4-unicast-routing:vpp-ipv4-route": {},
+ "next-hop": {
+ "special-next-hop-enum": "blackhole"
+ }
},
{
- "id": 7,
- "vpp-ipv4-route-state": {},
- "next-hop": "10.11.1.1",
- "destination-prefix": "10.0.0.12/32"
+ "destination-prefix": "224.0.0.0/4",
+ "vpp-ipv4-unicast-routing:vpp-ipv4-route": {},
+ "next-hop": {
+ "special-next-hop-enum": "blackhole"
+ }
},
{
- "id": 8,
- "vpp-ipv4-route-state": {},
- "next-hop": "0.0.0.0",
- "destination-prefix": "10.11.1.1/32"
+ "destination-prefix": "0.0.0.0/0",
+ "vpp-ipv4-unicast-routing:vpp-ipv4-route": {},
+ "next-hop": {
+ "special-next-hop-enum": "blackhole"
+ }
},
{
- "id": 2,
- "vpp-ipv4-route-state": {},
- "next-hop": "0.0.0.0",
- "destination-prefix": "224.0.0.0/4"
+ "destination-prefix": "0.0.0.0/32",
+ "vpp-ipv4-unicast-routing:vpp-ipv4-route": {},
+ "next-hop": {
+ "special-next-hop-enum": "blackhole"
+ }
},
{
- "id": 3,
- "vpp-ipv4-route-state": {},
- "next-hop": "0.0.0.0",
- "destination-prefix": "240.0.0.0/4"
+ "destination-prefix": "240.0.0.0/4",
+ "vpp-ipv4-unicast-routing:vpp-ipv4-route": {},
+ "next-hop": {
+ "special-next-hop-enum": "blackhole"
+ }
},
{
- "id": 4,
- "vpp-ipv4-route-state": {},
- "next-hop": "0.0.0.0",
- "destination-prefix": "255.255.255.255/32"
+ "destination-prefix": "10.11.1.1/32",
+ "vpp-ipv4-unicast-routing:vpp-ipv4-route": {},
+ "next-hop": {
+ "special-next-hop-enum": "blackhole"
+ }
}
]
}