From fe9af79a0cc1a980ac0dfb35a679f4e8565a5ef5 Mon Sep 17 00:00:00 2001 From: Marek Gradzki Date: Fri, 1 Jun 2018 07:28:47 +0200 Subject: HC2VPP-339: convert postman collections to v2.1.0 format Mantaining postman collections in v1 format is difficult due to UID strings. Postman collection v2 fixes the issue and many others, see http://blog.getpostman.com/2015/06/05/travelogue-of-postman-collection-format-v2/ Collections in v1 format, were converted using postman-collection-transformer. Output was transformed using JSON.stringify with space='\t', to be compliant with Postman application which does not support spaces for indentation. Coverted collections were tested using Postman v6.1.3. Previous version of postman collections were renamed to *_v1.0.0.json or *_v2.0.0.json. Removal is planned in 18.10 (HC2VPP-338). Change-Id: I6caf496293fccc1f9aadcdece668b5200fe07122 Signed-off-by: Marek Gradzki --- examples/docker/bgp_demo/postman_collection.json | 856 ++++++++++------ .../docker/bgp_demo/postman_collection_v1.0.0.json | 299 ++++++ examples/docker/mpls_demo/postman_collection.json | 916 ++++++++++++++++- .../mpls_demo/postman_collection_v2.0.0.json | 1050 ++++++++++++++++++++ 4 files changed, 2782 insertions(+), 339 deletions(-) create mode 100644 examples/docker/bgp_demo/postman_collection_v1.0.0.json mode change 100755 => 100644 examples/docker/mpls_demo/postman_collection.json create mode 100644 examples/docker/mpls_demo/postman_collection_v2.0.0.json (limited to 'examples') diff --git a/examples/docker/bgp_demo/postman_collection.json b/examples/docker/bgp_demo/postman_collection.json index 545a9d78c..825f41820 100644 --- a/examples/docker/bgp_demo/postman_collection.json +++ b/examples/docker/bgp_demo/postman_collection.json @@ -1,299 +1,579 @@ { - "id": "c632c61d-2681-b9ea-23b7-124a1f228e46", - "name": "Hc2vpp2 BGP configuration examples", - "description": "Examples of BGP configration based on \nhttp://docs.opendaylight.org/en/stable-boron/user-guide/bgp-user-guide.html", - "order": [], - "folders": [ + "info": { + "_postman_id": "c632c61d-2681-b9ea-23b7-124a1f228e46", + "name": "Hc2vpp2 BGP configuration examples", + "description": "Examples of BGP configration based on \nhttp://docs.opendaylight.org/en/stable-boron/user-guide/bgp-user-guide.html", + "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" + }, + "item": [ { - "id": "87048983-134d-ae10-16a1-c28b3e6cfe67", + "_postman_id": "96e692f9-283d-458d-85ae-ef1d1e020c9b", "name": "vpp1", "description": "", - "order": [ - "1af04e52-88fe-eda0-c175-203d6cdd6ea8", - "6c8a9854-1eec-bdcd-2a7e-fb2dadd79f1d", - "33d6cc8b-80d7-4493-ab29-a5d4df4f9709", - "fc913f70-aaa5-fed6-fe00-dc93ed59ffb2", - "36627e62-925f-3de7-7943-d10402ceb160" - ], - "owner": 0 + "item": [ + { + "_postman_id": "0812238b-1a3b-4d85-ab73-a7e735e14fc1", + "name": "Add eBGP peer configured on vpp2", + "request": { + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"neighbor\": {\n \"neighbor-address\": \"10.12.1.2\",\n \"timers\": {\n \"config\": {\n \"hold-time\": 90,\n \"connect-retry\": 10\n }\n },\n \"config\": {\n \"peer-type\": \"EXTERNAL\",\n \"peer-as\": \"65002\"\n },\n \"transport\": {\n \"config\": {\n \"remote-port\": 1790,\n \"passive-mode\": true\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 \"afi-safi-name\": \"openconfig-bgp-types:IPV4-LABELLED-UNICAST\",\n \"receive\": true,\n \"send-max\": 0\n }\n ]\n }\n }\n}" + }, + "url": { + "raw": "https://172.17.0.2:8445/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.12.1.2", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "2" + ], + "port": "8445", + "path": [ + "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.12.1.2" + ] + }, + "description": "Based on http://docs.opendaylight.org/en/stable-nitrogen/user-guide/bgp-user-guide.html#external-peering-configuration" + }, + "response": [] + }, + { + "_postman_id": "16382f3e-ba07-4021-a5d4-37979b5338d7", + "name": "Show vpp2 peer state", + "request": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/xml" + }, + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + } + ], + "body": { + "mode": "raw", + "raw": "\n 192.0.2.1\n \n \n 90\n 10\n \n \n \n \n 179\n false\n \n \n \n INTERNAL\n \n" + }, + "url": { + "raw": "https://172.17.0.2:8445/restconf/operational/bgp-rib:bgp-rib/rib/hc-bgp-instance/peer/bgp:%2F%2F10.12.1.2", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "2" + ], + "port": "8445", + "path": [ + "restconf", + "operational", + "bgp-rib:bgp-rib", + "rib", + "hc-bgp-instance", + "peer", + "bgp:%2F%2F10.12.1.2" + ] + } + }, + "response": [] + }, + { + "_postman_id": "7fdc7977-f23c-4587-a729-b31c53565f6c", + "name": "Show Loc-RIB of vpp1", + "request": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/xml" + }, + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + } + ], + "body": { + "mode": "raw", + "raw": "\n 10.25.1.9\n \n application-peers\n \n" + }, + "url": { + "raw": "https://172.17.0.2:8445/restconf/operational/bgp-rib:bgp-rib/rib/hc-bgp-instance/loc-rib", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "2" + ], + "port": "8445", + "path": [ + "restconf", + "operational", + "bgp-rib:bgp-rib", + "rib", + "hc-bgp-instance", + "loc-rib" + ] + } + }, + "response": [] + }, + { + "_postman_id": "1e53c617-cb0d-4fd8-b7c9-ee420ba3ea8b", + "name": "Show BGP configuration on vpp1", + "request": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/xml" + }, + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + } + ], + "body": { + "mode": "raw", + "raw": "\n 192.0.2.1\n \n \n 90\n 10\n \n \n \n \n 179\n false\n \n \n \n INTERNAL\n \n" + }, + "url": { + "raw": "https://172.17.0.2:8445/restconf/config/openconfig-network-instance:network-instances/", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "2" + ], + "port": "8445", + "path": [ + "restconf", + "config", + "openconfig-network-instance:network-instances", + "" + ] + } + }, + "response": [] + }, + { + "_postman_id": "97a3b6b8-0e9a-4e5e-860c-52a48765d67d", + "name": "Show HC BGP state on vpp1", + "request": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/xml" + }, + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + } + ], + "body": { + "mode": "raw", + "raw": "\n 192.0.2.1\n \n \n 90\n 10\n \n \n \n \n 179\n false\n \n \n \n INTERNAL\n \n" + }, + "url": { + "raw": "https://172.17.0.2:8445/restconf/operational/bgp-rib:bgp-rib/rib/hc-bgp-instance", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "2" + ], + "port": "8445", + "path": [ + "restconf", + "operational", + "bgp-rib:bgp-rib", + "rib", + "hc-bgp-instance" + ] + } + }, + "response": [] + } + ] }, { - "id": "f294a1aa-4a81-0271-3d70-db7627278200", + "_postman_id": "86cca2af-f50c-4d77-ad89-fd48f60600cf", "name": "vpp2", "description": "", - "order": [ - "e5d0baab-866f-4327-8c45-53587edb8e42", - "6dd77ec0-b213-adcc-9456-6e27b6455496", - "e3954b49-2f90-4868-a388-2c58b7951afe", - "79912b82-12fb-9210-6257-bbf0f4c05a7e", - "2026a32e-3f9e-3da4-1e68-6a659d91b557", - "b7339b36-1c6a-bad6-707a-cc010e5d8e7d", - "53b4f9f5-54e6-cd98-cec5-ad925d6c561d", - "90d5c0b1-572b-924e-2ccb-e5cd61b8e1e0" - ], - "owner": 0, - "collectionId": "c632c61d-2681-b9ea-23b7-124a1f228e46" - } - ], - "timestamp": 1515051953592, - "owner": 0, - "public": false, - "requests": [ - { - "id": "1af04e52-88fe-eda0-c175-203d6cdd6ea8", - "headers": "Content-Type: application/json\nAuthorization: Basic YWRtaW46YWRtaW4=\n", - "url": "https://172.17.0.2:8445/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.12.1.2", - "preRequestScript": null, - "pathVariables": {}, - "method": "PUT", - "data": [], - "dataMode": "raw", - "tests": null, - "currentHelper": "normal", - "helperAttributes": {}, - "time": 1515414858820, - "name": "Add eBGP peer configured on vpp2", - "description": "Based on http://docs.opendaylight.org/en/stable-nitrogen/user-guide/bgp-user-guide.html#external-peering-configuration", - "collectionId": "c632c61d-2681-b9ea-23b7-124a1f228e46", - "responses": [], - "rawModeData": "{\n \"neighbor\": {\n \"neighbor-address\": \"10.12.1.2\",\n \"timers\": {\n \"config\": {\n \"hold-time\": 90,\n \"connect-retry\": 10\n }\n },\n \"config\": {\n \"peer-type\": \"EXTERNAL\",\n \"peer-as\": \"65002\"\n },\n \"transport\": {\n \"config\": {\n \"remote-port\": 1790,\n \"passive-mode\": true\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 \"afi-safi-name\": \"openconfig-bgp-types:IPV4-LABELLED-UNICAST\",\n \"receive\": true,\n \"send-max\": 0\n }\n ]\n }\n }\n}" - }, - { - "id": "2026a32e-3f9e-3da4-1e68-6a659d91b557", - "headers": "Content-Type: application/json\nAuthorization: Basic YWRtaW46YWRtaW4=\n", - "url": "https://172.17.0.3:8445/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", - "preRequestScript": null, - "pathVariables": {}, - "method": "PUT", - "data": [], - "dataMode": "raw", - "version": 2, - "tests": null, - "currentHelper": "normal", - "helperAttributes": {}, - "time": 1515415282689, - "name": "Add application peer", - "description": "", - "collectionId": "c632c61d-2681-b9ea-23b7-124a1f228e46", - "responses": [], - "rawModeData": "{\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 \"afi-safi-name\": \"openconfig-bgp-types:IPV4-LABELLED-UNICAST\",\n \"receive\": true,\n \"send-max\": 0\n }\n ]\n }\n }\n}" - }, - { - "id": "33d6cc8b-80d7-4493-ab29-a5d4df4f9709", - "headers": "Content-Type: application/xml\nAuthorization: Basic YWRtaW46YWRtaW4=\n", - "url": "https://172.17.0.2:8445/restconf/operational/bgp-rib:bgp-rib/rib/hc-bgp-instance/loc-rib", - "pathVariables": {}, - "preRequestScript": null, - "method": "GET", - "collectionId": "c632c61d-2681-b9ea-23b7-124a1f228e46", - "data": [], - "dataMode": "raw", - "name": "Show Loc-RIB of vpp1", - "description": "", - "descriptionFormat": "html", - "time": 1515415010644, - "version": 2, - "responses": [], - "tests": null, - "currentHelper": "normal", - "helperAttributes": {}, - "folder": "87048983-134d-ae10-16a1-c28b3e6cfe67", - "rawModeData": "\n 10.25.1.9\n \n application-peers\n \n" - }, - { - "id": "36627e62-925f-3de7-7943-d10402ceb160", - "headers": "Content-Type: application/xml\nAuthorization: Basic YWRtaW46YWRtaW4=\n", - "url": "https://172.17.0.2:8445/restconf/operational/bgp-rib:bgp-rib/rib/hc-bgp-instance", - "preRequestScript": null, - "pathVariables": {}, - "method": "GET", - "data": [], - "dataMode": "raw", - "tests": null, - "currentHelper": "normal", - "helperAttributes": {}, - "time": 1515417781413, - "name": "Show HC BGP state on vpp1", - "description": "", - "collectionId": "c632c61d-2681-b9ea-23b7-124a1f228e46", - "rawModeData": "\n 192.0.2.1\n \n \n 90\n 10\n \n \n \n \n 179\n false\n \n \n \n INTERNAL\n \n" - }, - { - "id": "53b4f9f5-54e6-cd98-cec5-ad925d6c561d", - "headers": "Content-Type: application/xml\nAuthorization: Basic YWRtaW46YWRtaW4=\n", - "url": "https://172.17.0.3:8445/restconf/config/openconfig-network-instance:network-instances/", - "preRequestScript": null, - "pathVariables": {}, - "method": "GET", - "data": [], - "dataMode": "raw", - "version": 2, - "tests": null, - "currentHelper": "normal", - "helperAttributes": {}, - "time": 1515417814797, - "name": "Show BGP configuration on vpp2", - "description": "", - "collectionId": "c632c61d-2681-b9ea-23b7-124a1f228e46", - "responses": [], - "rawModeData": "\n 192.0.2.1\n \n \n 90\n 10\n \n \n \n \n 179\n false\n \n \n \n INTERNAL\n \n" - }, - { - "id": "6c8a9854-1eec-bdcd-2a7e-fb2dadd79f1d", - "headers": "Content-Type: application/xml\nAuthorization: Basic YWRtaW46YWRtaW4=\n", - "url": "https://172.17.0.2:8445/restconf/operational/bgp-rib:bgp-rib/rib/hc-bgp-instance/peer/bgp:%2F%2F10.12.1.2", - "preRequestScript": null, - "pathVariables": {}, - "method": "GET", - "data": [], - "dataMode": "raw", - "tests": null, - "currentHelper": "normal", - "helperAttributes": {}, - "time": 1515414946071, - "name": "Show vpp2 peer state", - "description": "", - "collectionId": "c632c61d-2681-b9ea-23b7-124a1f228e46", - "responses": [], - "rawModeData": "\n 192.0.2.1\n \n \n 90\n 10\n \n \n \n \n 179\n false\n \n \n \n INTERNAL\n \n" - }, - { - "id": "6dd77ec0-b213-adcc-9456-6e27b6455496", - "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n", - "url": "https://172.17.0.3:8445/restconf/operational/ietf-interfaces:interfaces-state/interface/loop0", - "preRequestScript": "", - "pathVariables": {}, - "method": "GET", - "data": [], - "dataMode": "raw", - "version": 2, - "tests": "", - "currentHelper": "normal", - "helperAttributes": {}, - "time": 1515419116647, - "name": "Show loop0 state", - "description": "", - "collectionId": "c632c61d-2681-b9ea-23b7-124a1f228e46", - "responses": [], - "rawModeData": "{\n \"interface\": [\n {\n \"name\": \"loop0\",\n \"enabled\": true,\n \"type\": \"v3po:loopback\",\n \"ietf-ip:ipv4\": {\n \"address\": [\n {\n \"ip\": \"10.100.1.1\",\n \"prefix-length\": 24\n }\n ]\n },\n \"v3po:ethernet\": {\n \"mtu\": 9216\n }\n }\n ]\n}" - }, - { - "id": "79912b82-12fb-9210-6257-bbf0f4c05a7e", - "headers": "Content-Type: application/xml\nAuthorization: Basic YWRtaW46YWRtaW4=\n", - "url": "https://172.17.0.3:8445/restconf/operational/bgp-rib:bgp-rib/rib/hc-bgp-instance/peer/bgp:%2F%2F10.12.1.1", - "preRequestScript": null, - "pathVariables": {}, - "method": "GET", - "data": [], - "dataMode": "raw", - "tests": null, - "currentHelper": "normal", - "helperAttributes": {}, - "time": 1515414975231, - "name": "Show vpp1 peer state", - "description": "", - "collectionId": "c632c61d-2681-b9ea-23b7-124a1f228e46", - "responses": [], - "rawModeData": "\n 192.0.2.1\n \n \n 90\n 10\n \n \n \n \n 179\n false\n \n \n \n INTERNAL\n \n" - }, - { - "id": "90d5c0b1-572b-924e-2ccb-e5cd61b8e1e0", - "headers": "Content-Type: application/xml\nAuthorization: Basic YWRtaW46YWRtaW4=\n", - "url": "https://172.17.0.3:8445/restconf/operational/bgp-rib:bgp-rib/rib/hc-bgp-instance", - "preRequestScript": null, - "pathVariables": {}, - "method": "GET", - "data": [], - "dataMode": "raw", - "tests": null, - "currentHelper": "normal", - "helperAttributes": {}, - "time": 1515417838727, - "name": "Show HC BGP state on vpp2", - "description": "", - "collectionId": "c632c61d-2681-b9ea-23b7-124a1f228e46", - "rawModeData": "\n 192.0.2.1\n \n \n 90\n 10\n \n \n \n \n 179\n false\n \n \n \n INTERNAL\n \n" - }, - { - "id": "b7339b36-1c6a-bad6-707a-cc010e5d8e7d", - "headers": "Content-Type: application/json\nAuthorization: Basic YWRtaW46YWRtaW4=\n", - "url": "https://172.17.0.3:8445/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.100.1.1%2F24/0", - "preRequestScript": null, - "pathVariables": {}, - "method": "PUT", - "data": [], - "dataMode": "raw", - "version": 2, - "tests": null, - "currentHelper": "normal", - "helperAttributes": {}, - "time": 1515419061792, - "name": "Announce route to loop0", - "description": "", - "collectionId": "c632c61d-2681-b9ea-23b7-124a1f228e46", - "responses": [], - "rawModeData": "{\n \"bgp-inet:ipv4-route\": [\n {\n \"prefix\": \"10.100.1.1/24\",\n \"path-id\": 0,\n \"attributes\": {\n \"origin\": {\n \"value\": \"igp\"\n },\n \"as-path\": {},\n \"local-pref\": {\n \"pref\": 100\n },\n \"ipv4-next-hop\": {\n \"global\": \"10.12.1.2\"\n }\n }\n }\n ]\n}" - }, - { - "id": "e3954b49-2f90-4868-a388-2c58b7951afe", - "headers": "Content-Type: application/json\nAuthorization: Basic YWRtaW46YWRtaW4=\n", - "url": "https://172.17.0.3:8445/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.12.1.1", - "preRequestScript": null, - "pathVariables": {}, - "method": "PUT", - "data": [], - "dataMode": "raw", - "tests": null, - "currentHelper": "normal", - "helperAttributes": {}, - "time": 1515414866281, - "name": "Add eBGP peer configured on vpp1", - "description": "Based on http://docs.opendaylight.org/en/stable-nitrogen/user-guide/bgp-user-guide.html#external-peering-configuration", - "collectionId": "c632c61d-2681-b9ea-23b7-124a1f228e46", - "responses": [], - "rawModeData": "{\n \"neighbor\": {\n \"neighbor-address\": \"10.12.1.1\",\n \"timers\": {\n \"config\": {\n \"hold-time\": 90,\n \"connect-retry\": 10\n }\n },\n \"config\": {\n \"peer-type\": \"EXTERNAL\",\n \"peer-as\": \"65001\"\n },\n \"transport\": {\n \"config\": {\n \"remote-port\": 1790,\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 \"afi-safi-name\": \"openconfig-bgp-types:IPV4-LABELLED-UNICAST\",\n \"receive\": true,\n \"send-max\": 0\n }\n ]\n }\n }\n}" - }, - { - "id": "e5d0baab-866f-4327-8c45-53587edb8e42", - "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n", - "url": "https://172.17.0.3:8445/restconf/config/ietf-interfaces:interfaces/interface/loop0", - "preRequestScript": "", - "pathVariables": {}, - "method": "PUT", - "data": [], - "dataMode": "raw", - "version": 2, - "tests": "", - "currentHelper": "normal", - "helperAttributes": {}, - "time": 1515420990010, - "name": "Configure loop0", - "description": "", - "collectionId": "c632c61d-2681-b9ea-23b7-124a1f228e46", - "responses": [], - "rawModeData": "{\n \"interface\": [\n {\n \"name\": \"loop0\",\n \"enabled\": true,\n \"type\": \"v3po:loopback\",\n \"ietf-ip:ipv4\": {\n \"address\": [\n {\n \"ip\": \"10.100.1.1\",\n \"prefix-length\": 24\n }\n ]\n },\n \"loopback\": {\n \"mac\" : \"aa:bb:cc:dd:ee:ff\"\n }\n }\n ]\n}" - }, - { - "id": "fc913f70-aaa5-fed6-fe00-dc93ed59ffb2", - "headers": "Content-Type: application/xml\nAuthorization: Basic YWRtaW46YWRtaW4=\n", - "url": "https://172.17.0.2:8445/restconf/config/openconfig-network-instance:network-instances/", - "pathVariables": {}, - "preRequestScript": null, - "method": "GET", - "collectionId": "c632c61d-2681-b9ea-23b7-124a1f228e46", - "data": [], - "dataMode": "raw", - "name": "Show BGP configuration on vpp1", - "description": "", - "descriptionFormat": "html", - "time": 1515415028428, - "version": 2, - "responses": [], - "tests": null, - "currentHelper": "normal", - "helperAttributes": {}, - "folder": "87048983-134d-ae10-16a1-c28b3e6cfe67", - "rawModeData": "\n 192.0.2.1\n \n \n 90\n 10\n \n \n \n \n 179\n false\n \n \n \n INTERNAL\n \n" + "item": [ + { + "_postman_id": "6d61484c-434e-457c-8434-2aac9b89a639", + "name": "Configure loop0", + "request": { + "method": "PUT", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"interface\": [\n {\n \"name\": \"loop0\",\n \"enabled\": true,\n \"type\": \"v3po:loopback\",\n \"ietf-ip:ipv4\": {\n \"address\": [\n {\n \"ip\": \"10.100.1.1\",\n \"prefix-length\": 24\n }\n ]\n },\n \"loopback\": {\n \"mac\" : \"aa:bb:cc:dd:ee:ff\"\n }\n }\n ]\n}" + }, + "url": { + "raw": "https://172.17.0.3:8445/restconf/config/ietf-interfaces:interfaces/interface/loop0", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "3" + ], + "port": "8445", + "path": [ + "restconf", + "config", + "ietf-interfaces:interfaces", + "interface", + "loop0" + ] + } + }, + "response": [] + }, + { + "_postman_id": "696883cb-72c1-42bc-b68d-d9066bcb6bcf", + "name": "Show loop0 state", + "request": { + "method": "GET", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"interface\": [\n {\n \"name\": \"loop0\",\n \"enabled\": true,\n \"type\": \"v3po:loopback\",\n \"ietf-ip:ipv4\": {\n \"address\": [\n {\n \"ip\": \"10.100.1.1\",\n \"prefix-length\": 24\n }\n ]\n },\n \"v3po:ethernet\": {\n \"mtu\": 9216\n }\n }\n ]\n}" + }, + "url": { + "raw": "https://172.17.0.3:8445/restconf/operational/ietf-interfaces:interfaces-state/interface/loop0", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "3" + ], + "port": "8445", + "path": [ + "restconf", + "operational", + "ietf-interfaces:interfaces-state", + "interface", + "loop0" + ] + } + }, + "response": [] + }, + { + "_postman_id": "f98c893b-68ea-4ca8-8231-77997825c97c", + "name": "Add eBGP peer configured on vpp1", + "request": { + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"neighbor\": {\n \"neighbor-address\": \"10.12.1.1\",\n \"timers\": {\n \"config\": {\n \"hold-time\": 90,\n \"connect-retry\": 10\n }\n },\n \"config\": {\n \"peer-type\": \"EXTERNAL\",\n \"peer-as\": \"65001\"\n },\n \"transport\": {\n \"config\": {\n \"remote-port\": 1790,\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 \"afi-safi-name\": \"openconfig-bgp-types:IPV4-LABELLED-UNICAST\",\n \"receive\": true,\n \"send-max\": 0\n }\n ]\n }\n }\n}" + }, + "url": { + "raw": "https://172.17.0.3:8445/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.12.1.1", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "3" + ], + "port": "8445", + "path": [ + "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.12.1.1" + ] + }, + "description": "Based on http://docs.opendaylight.org/en/stable-nitrogen/user-guide/bgp-user-guide.html#external-peering-configuration" + }, + "response": [] + }, + { + "_postman_id": "68d52689-86d5-4315-9018-70beb6637d91", + "name": "Show vpp1 peer state", + "request": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/xml" + }, + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + } + ], + "body": { + "mode": "raw", + "raw": "\n 192.0.2.1\n \n \n 90\n 10\n \n \n \n \n 179\n false\n \n \n \n INTERNAL\n \n" + }, + "url": { + "raw": "https://172.17.0.3:8445/restconf/operational/bgp-rib:bgp-rib/rib/hc-bgp-instance/peer/bgp:%2F%2F10.12.1.1", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "3" + ], + "port": "8445", + "path": [ + "restconf", + "operational", + "bgp-rib:bgp-rib", + "rib", + "hc-bgp-instance", + "peer", + "bgp:%2F%2F10.12.1.1" + ] + } + }, + "response": [] + }, + { + "_postman_id": "dc6e34a1-b788-434b-b0cd-4ad910c08187", + "name": "Add application peer", + "request": { + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + } + ], + "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 \"afi-safi-name\": \"openconfig-bgp-types:IPV4-LABELLED-UNICAST\",\n \"receive\": true,\n \"send-max\": 0\n }\n ]\n }\n }\n}" + }, + "url": { + "raw": "https://172.17.0.3:8445/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", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "3" + ], + "port": "8445", + "path": [ + "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" + ] + } + }, + "response": [] + }, + { + "_postman_id": "6fd91189-2ae7-4b05-8688-488202df89a8", + "name": "Announce route to loop0", + "request": { + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"bgp-inet:ipv4-route\": [\n {\n \"prefix\": \"10.100.1.1/24\",\n \"path-id\": 0,\n \"attributes\": {\n \"origin\": {\n \"value\": \"igp\"\n },\n \"as-path\": {},\n \"local-pref\": {\n \"pref\": 100\n },\n \"ipv4-next-hop\": {\n \"global\": \"10.12.1.2\"\n }\n }\n }\n ]\n}" + }, + "url": { + "raw": "https://172.17.0.3:8445/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.100.1.1%2F24/0", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "3" + ], + "port": "8445", + "path": [ + "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.100.1.1%2F24", + "0" + ] + } + }, + "response": [] + }, + { + "_postman_id": "6b55fa63-1545-4de9-b29c-eb90368135db", + "name": "Show BGP configuration on vpp2", + "request": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/xml" + }, + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + } + ], + "body": { + "mode": "raw", + "raw": "\n 192.0.2.1\n \n \n 90\n 10\n \n \n \n \n 179\n false\n \n \n \n INTERNAL\n \n" + }, + "url": { + "raw": "https://172.17.0.3:8445/restconf/config/openconfig-network-instance:network-instances/", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "3" + ], + "port": "8445", + "path": [ + "restconf", + "config", + "openconfig-network-instance:network-instances", + "" + ] + } + }, + "response": [] + }, + { + "_postman_id": "629a8fd9-ee5d-401d-8324-7db924e9d814", + "name": "Show HC BGP state on vpp2", + "request": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/xml" + }, + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + } + ], + "body": { + "mode": "raw", + "raw": "\n 192.0.2.1\n \n \n 90\n 10\n \n \n \n \n 179\n false\n \n \n \n INTERNAL\n \n" + }, + "url": { + "raw": "https://172.17.0.3:8445/restconf/operational/bgp-rib:bgp-rib/rib/hc-bgp-instance", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "3" + ], + "port": "8445", + "path": [ + "restconf", + "operational", + "bgp-rib:bgp-rib", + "rib", + "hc-bgp-instance" + ] + } + }, + "response": [] + } + ] } ] } \ No newline at end of file diff --git a/examples/docker/bgp_demo/postman_collection_v1.0.0.json b/examples/docker/bgp_demo/postman_collection_v1.0.0.json new file mode 100644 index 000000000..545a9d78c --- /dev/null +++ b/examples/docker/bgp_demo/postman_collection_v1.0.0.json @@ -0,0 +1,299 @@ +{ + "id": "c632c61d-2681-b9ea-23b7-124a1f228e46", + "name": "Hc2vpp2 BGP configuration examples", + "description": "Examples of BGP configration based on \nhttp://docs.opendaylight.org/en/stable-boron/user-guide/bgp-user-guide.html", + "order": [], + "folders": [ + { + "id": "87048983-134d-ae10-16a1-c28b3e6cfe67", + "name": "vpp1", + "description": "", + "order": [ + "1af04e52-88fe-eda0-c175-203d6cdd6ea8", + "6c8a9854-1eec-bdcd-2a7e-fb2dadd79f1d", + "33d6cc8b-80d7-4493-ab29-a5d4df4f9709", + "fc913f70-aaa5-fed6-fe00-dc93ed59ffb2", + "36627e62-925f-3de7-7943-d10402ceb160" + ], + "owner": 0 + }, + { + "id": "f294a1aa-4a81-0271-3d70-db7627278200", + "name": "vpp2", + "description": "", + "order": [ + "e5d0baab-866f-4327-8c45-53587edb8e42", + "6dd77ec0-b213-adcc-9456-6e27b6455496", + "e3954b49-2f90-4868-a388-2c58b7951afe", + "79912b82-12fb-9210-6257-bbf0f4c05a7e", + "2026a32e-3f9e-3da4-1e68-6a659d91b557", + "b7339b36-1c6a-bad6-707a-cc010e5d8e7d", + "53b4f9f5-54e6-cd98-cec5-ad925d6c561d", + "90d5c0b1-572b-924e-2ccb-e5cd61b8e1e0" + ], + "owner": 0, + "collectionId": "c632c61d-2681-b9ea-23b7-124a1f228e46" + } + ], + "timestamp": 1515051953592, + "owner": 0, + "public": false, + "requests": [ + { + "id": "1af04e52-88fe-eda0-c175-203d6cdd6ea8", + "headers": "Content-Type: application/json\nAuthorization: Basic YWRtaW46YWRtaW4=\n", + "url": "https://172.17.0.2:8445/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.12.1.2", + "preRequestScript": null, + "pathVariables": {}, + "method": "PUT", + "data": [], + "dataMode": "raw", + "tests": null, + "currentHelper": "normal", + "helperAttributes": {}, + "time": 1515414858820, + "name": "Add eBGP peer configured on vpp2", + "description": "Based on http://docs.opendaylight.org/en/stable-nitrogen/user-guide/bgp-user-guide.html#external-peering-configuration", + "collectionId": "c632c61d-2681-b9ea-23b7-124a1f228e46", + "responses": [], + "rawModeData": "{\n \"neighbor\": {\n \"neighbor-address\": \"10.12.1.2\",\n \"timers\": {\n \"config\": {\n \"hold-time\": 90,\n \"connect-retry\": 10\n }\n },\n \"config\": {\n \"peer-type\": \"EXTERNAL\",\n \"peer-as\": \"65002\"\n },\n \"transport\": {\n \"config\": {\n \"remote-port\": 1790,\n \"passive-mode\": true\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 \"afi-safi-name\": \"openconfig-bgp-types:IPV4-LABELLED-UNICAST\",\n \"receive\": true,\n \"send-max\": 0\n }\n ]\n }\n }\n}" + }, + { + "id": "2026a32e-3f9e-3da4-1e68-6a659d91b557", + "headers": "Content-Type: application/json\nAuthorization: Basic YWRtaW46YWRtaW4=\n", + "url": "https://172.17.0.3:8445/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", + "preRequestScript": null, + "pathVariables": {}, + "method": "PUT", + "data": [], + "dataMode": "raw", + "version": 2, + "tests": null, + "currentHelper": "normal", + "helperAttributes": {}, + "time": 1515415282689, + "name": "Add application peer", + "description": "", + "collectionId": "c632c61d-2681-b9ea-23b7-124a1f228e46", + "responses": [], + "rawModeData": "{\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 \"afi-safi-name\": \"openconfig-bgp-types:IPV4-LABELLED-UNICAST\",\n \"receive\": true,\n \"send-max\": 0\n }\n ]\n }\n }\n}" + }, + { + "id": "33d6cc8b-80d7-4493-ab29-a5d4df4f9709", + "headers": "Content-Type: application/xml\nAuthorization: Basic YWRtaW46YWRtaW4=\n", + "url": "https://172.17.0.2:8445/restconf/operational/bgp-rib:bgp-rib/rib/hc-bgp-instance/loc-rib", + "pathVariables": {}, + "preRequestScript": null, + "method": "GET", + "collectionId": "c632c61d-2681-b9ea-23b7-124a1f228e46", + "data": [], + "dataMode": "raw", + "name": "Show Loc-RIB of vpp1", + "description": "", + "descriptionFormat": "html", + "time": 1515415010644, + "version": 2, + "responses": [], + "tests": null, + "currentHelper": "normal", + "helperAttributes": {}, + "folder": "87048983-134d-ae10-16a1-c28b3e6cfe67", + "rawModeData": "\n 10.25.1.9\n \n application-peers\n \n" + }, + { + "id": "36627e62-925f-3de7-7943-d10402ceb160", + "headers": "Content-Type: application/xml\nAuthorization: Basic YWRtaW46YWRtaW4=\n", + "url": "https://172.17.0.2:8445/restconf/operational/bgp-rib:bgp-rib/rib/hc-bgp-instance", + "preRequestScript": null, + "pathVariables": {}, + "method": "GET", + "data": [], + "dataMode": "raw", + "tests": null, + "currentHelper": "normal", + "helperAttributes": {}, + "time": 1515417781413, + "name": "Show HC BGP state on vpp1", + "description": "", + "collectionId": "c632c61d-2681-b9ea-23b7-124a1f228e46", + "rawModeData": "\n 192.0.2.1\n \n \n 90\n 10\n \n \n \n \n 179\n false\n \n \n \n INTERNAL\n \n" + }, + { + "id": "53b4f9f5-54e6-cd98-cec5-ad925d6c561d", + "headers": "Content-Type: application/xml\nAuthorization: Basic YWRtaW46YWRtaW4=\n", + "url": "https://172.17.0.3:8445/restconf/config/openconfig-network-instance:network-instances/", + "preRequestScript": null, + "pathVariables": {}, + "method": "GET", + "data": [], + "dataMode": "raw", + "version": 2, + "tests": null, + "currentHelper": "normal", + "helperAttributes": {}, + "time": 1515417814797, + "name": "Show BGP configuration on vpp2", + "description": "", + "collectionId": "c632c61d-2681-b9ea-23b7-124a1f228e46", + "responses": [], + "rawModeData": "\n 192.0.2.1\n \n \n 90\n 10\n \n \n \n \n 179\n false\n \n \n \n INTERNAL\n \n" + }, + { + "id": "6c8a9854-1eec-bdcd-2a7e-fb2dadd79f1d", + "headers": "Content-Type: application/xml\nAuthorization: Basic YWRtaW46YWRtaW4=\n", + "url": "https://172.17.0.2:8445/restconf/operational/bgp-rib:bgp-rib/rib/hc-bgp-instance/peer/bgp:%2F%2F10.12.1.2", + "preRequestScript": null, + "pathVariables": {}, + "method": "GET", + "data": [], + "dataMode": "raw", + "tests": null, + "currentHelper": "normal", + "helperAttributes": {}, + "time": 1515414946071, + "name": "Show vpp2 peer state", + "description": "", + "collectionId": "c632c61d-2681-b9ea-23b7-124a1f228e46", + "responses": [], + "rawModeData": "\n 192.0.2.1\n \n \n 90\n 10\n \n \n \n \n 179\n false\n \n \n \n INTERNAL\n \n" + }, + { + "id": "6dd77ec0-b213-adcc-9456-6e27b6455496", + "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n", + "url": "https://172.17.0.3:8445/restconf/operational/ietf-interfaces:interfaces-state/interface/loop0", + "preRequestScript": "", + "pathVariables": {}, + "method": "GET", + "data": [], + "dataMode": "raw", + "version": 2, + "tests": "", + "currentHelper": "normal", + "helperAttributes": {}, + "time": 1515419116647, + "name": "Show loop0 state", + "description": "", + "collectionId": "c632c61d-2681-b9ea-23b7-124a1f228e46", + "responses": [], + "rawModeData": "{\n \"interface\": [\n {\n \"name\": \"loop0\",\n \"enabled\": true,\n \"type\": \"v3po:loopback\",\n \"ietf-ip:ipv4\": {\n \"address\": [\n {\n \"ip\": \"10.100.1.1\",\n \"prefix-length\": 24\n }\n ]\n },\n \"v3po:ethernet\": {\n \"mtu\": 9216\n }\n }\n ]\n}" + }, + { + "id": "79912b82-12fb-9210-6257-bbf0f4c05a7e", + "headers": "Content-Type: application/xml\nAuthorization: Basic YWRtaW46YWRtaW4=\n", + "url": "https://172.17.0.3:8445/restconf/operational/bgp-rib:bgp-rib/rib/hc-bgp-instance/peer/bgp:%2F%2F10.12.1.1", + "preRequestScript": null, + "pathVariables": {}, + "method": "GET", + "data": [], + "dataMode": "raw", + "tests": null, + "currentHelper": "normal", + "helperAttributes": {}, + "time": 1515414975231, + "name": "Show vpp1 peer state", + "description": "", + "collectionId": "c632c61d-2681-b9ea-23b7-124a1f228e46", + "responses": [], + "rawModeData": "\n 192.0.2.1\n \n \n 90\n 10\n \n \n \n \n 179\n false\n \n \n \n INTERNAL\n \n" + }, + { + "id": "90d5c0b1-572b-924e-2ccb-e5cd61b8e1e0", + "headers": "Content-Type: application/xml\nAuthorization: Basic YWRtaW46YWRtaW4=\n", + "url": "https://172.17.0.3:8445/restconf/operational/bgp-rib:bgp-rib/rib/hc-bgp-instance", + "preRequestScript": null, + "pathVariables": {}, + "method": "GET", + "data": [], + "dataMode": "raw", + "tests": null, + "currentHelper": "normal", + "helperAttributes": {}, + "time": 1515417838727, + "name": "Show HC BGP state on vpp2", + "description": "", + "collectionId": "c632c61d-2681-b9ea-23b7-124a1f228e46", + "rawModeData": "\n 192.0.2.1\n \n \n 90\n 10\n \n \n \n \n 179\n false\n \n \n \n INTERNAL\n \n" + }, + { + "id": "b7339b36-1c6a-bad6-707a-cc010e5d8e7d", + "headers": "Content-Type: application/json\nAuthorization: Basic YWRtaW46YWRtaW4=\n", + "url": "https://172.17.0.3:8445/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.100.1.1%2F24/0", + "preRequestScript": null, + "pathVariables": {}, + "method": "PUT", + "data": [], + "dataMode": "raw", + "version": 2, + "tests": null, + "currentHelper": "normal", + "helperAttributes": {}, + "time": 1515419061792, + "name": "Announce route to loop0", + "description": "", + "collectionId": "c632c61d-2681-b9ea-23b7-124a1f228e46", + "responses": [], + "rawModeData": "{\n \"bgp-inet:ipv4-route\": [\n {\n \"prefix\": \"10.100.1.1/24\",\n \"path-id\": 0,\n \"attributes\": {\n \"origin\": {\n \"value\": \"igp\"\n },\n \"as-path\": {},\n \"local-pref\": {\n \"pref\": 100\n },\n \"ipv4-next-hop\": {\n \"global\": \"10.12.1.2\"\n }\n }\n }\n ]\n}" + }, + { + "id": "e3954b49-2f90-4868-a388-2c58b7951afe", + "headers": "Content-Type: application/json\nAuthorization: Basic YWRtaW46YWRtaW4=\n", + "url": "https://172.17.0.3:8445/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.12.1.1", + "preRequestScript": null, + "pathVariables": {}, + "method": "PUT", + "data": [], + "dataMode": "raw", + "tests": null, + "currentHelper": "normal", + "helperAttributes": {}, + "time": 1515414866281, + "name": "Add eBGP peer configured on vpp1", + "description": "Based on http://docs.opendaylight.org/en/stable-nitrogen/user-guide/bgp-user-guide.html#external-peering-configuration", + "collectionId": "c632c61d-2681-b9ea-23b7-124a1f228e46", + "responses": [], + "rawModeData": "{\n \"neighbor\": {\n \"neighbor-address\": \"10.12.1.1\",\n \"timers\": {\n \"config\": {\n \"hold-time\": 90,\n \"connect-retry\": 10\n }\n },\n \"config\": {\n \"peer-type\": \"EXTERNAL\",\n \"peer-as\": \"65001\"\n },\n \"transport\": {\n \"config\": {\n \"remote-port\": 1790,\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 \"afi-safi-name\": \"openconfig-bgp-types:IPV4-LABELLED-UNICAST\",\n \"receive\": true,\n \"send-max\": 0\n }\n ]\n }\n }\n}" + }, + { + "id": "e5d0baab-866f-4327-8c45-53587edb8e42", + "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n", + "url": "https://172.17.0.3:8445/restconf/config/ietf-interfaces:interfaces/interface/loop0", + "preRequestScript": "", + "pathVariables": {}, + "method": "PUT", + "data": [], + "dataMode": "raw", + "version": 2, + "tests": "", + "currentHelper": "normal", + "helperAttributes": {}, + "time": 1515420990010, + "name": "Configure loop0", + "description": "", + "collectionId": "c632c61d-2681-b9ea-23b7-124a1f228e46", + "responses": [], + "rawModeData": "{\n \"interface\": [\n {\n \"name\": \"loop0\",\n \"enabled\": true,\n \"type\": \"v3po:loopback\",\n \"ietf-ip:ipv4\": {\n \"address\": [\n {\n \"ip\": \"10.100.1.1\",\n \"prefix-length\": 24\n }\n ]\n },\n \"loopback\": {\n \"mac\" : \"aa:bb:cc:dd:ee:ff\"\n }\n }\n ]\n}" + }, + { + "id": "fc913f70-aaa5-fed6-fe00-dc93ed59ffb2", + "headers": "Content-Type: application/xml\nAuthorization: Basic YWRtaW46YWRtaW4=\n", + "url": "https://172.17.0.2:8445/restconf/config/openconfig-network-instance:network-instances/", + "pathVariables": {}, + "preRequestScript": null, + "method": "GET", + "collectionId": "c632c61d-2681-b9ea-23b7-124a1f228e46", + "data": [], + "dataMode": "raw", + "name": "Show BGP configuration on vpp1", + "description": "", + "descriptionFormat": "html", + "time": 1515415028428, + "version": 2, + "responses": [], + "tests": null, + "currentHelper": "normal", + "helperAttributes": {}, + "folder": "87048983-134d-ae10-16a1-c28b3e6cfe67", + "rawModeData": "\n 192.0.2.1\n \n \n 90\n 10\n \n \n \n \n 179\n false\n \n \n \n INTERNAL\n \n" + } + ] +} \ No newline at end of file diff --git a/examples/docker/mpls_demo/postman_collection.json b/examples/docker/mpls_demo/postman_collection.json old mode 100755 new mode 100644 index 0420f2a42..a2ca7fc11 --- a/examples/docker/mpls_demo/postman_collection.json +++ b/examples/docker/mpls_demo/postman_collection.json @@ -1,14 +1,14 @@ { "info": { - "_postman_id": "4165ed66-ad4e-4003-99dd-285a50e86f15", + "_postman_id": "fb857a99-6ac3-41e4-8a0d-2dd8cc508661", "name": "Honeycomb SR MPLS", "description": "Examples of configuring some basic MPLS SR scenariou using hc2vpp", - "schema": "https://schema.getpostman.com/json/collection/v2.0.0/collection.json" + "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" }, "item": [ { "name": "vpp3", - "description": "", + "description": null, "item": [ { "name": "Enable mpls on host-veth341", @@ -28,7 +28,25 @@ "mode": "raw", "raw": "{\n \"interface\": [\n {\n \"name\": \"host-veth341\",\n \"config\": {\n \"enabled\": \"true\"\n }\n }\n ]\n}" }, - "url": "https://172.17.0.4:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/interface/host-veth341", + "url": { + "raw": "https://172.17.0.4:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/interface/host-veth341", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "4" + ], + "port": "8445", + "path": [ + "restconf", + "config", + "hc2vpp-ietf-routing:routing", + "hc2vpp-ietf-mpls:mpls", + "interface", + "host-veth341" + ] + }, "description": "Correspondig CLI command:\n\nset interface mpls host-veth341 enable" }, "response": [] @@ -51,7 +69,23 @@ "mode": "raw", "raw": "{\r\n \r\n \"interface\": [\r\n {\r\n \"name\": \"testInterface\",\r\n \"description\": \"for testing purposes\",\r\n \"type\": \"iana-if-type:ethernetCsmacd\",\r\n \"enabled\": \"true\",\r\n \"link-up-down-trap-enable\": \"enabled\",\r\n \"ietf-ip:ipv4\": {\r\n \"enabled\": \"true\",\r\n \"mtu\": \"1500\",\r\n \"address\": [\r\n {\r\n \"ip\": \"1.2.3.0\",\r\n \"netmask\": \"255.255.255.0\"\r\n }\r\n ]\r\n }\r\n }\r\n ]\r\n \r\n}" }, - "url": "https://172.17.0.4:8445/restconf/config/ietf-interfaces:interfaces/" + "url": { + "raw": "https://172.17.0.4:8445/restconf/config/ietf-interfaces:interfaces/", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "4" + ], + "port": "8445", + "path": [ + "restconf", + "config", + "ietf-interfaces:interfaces", + "" + ] + } }, "response": [] }, @@ -73,7 +107,23 @@ "mode": "raw", "raw": "" }, - "url": "https://172.17.0.4:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls" + "url": { + "raw": "https://172.17.0.4:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "4" + ], + "port": "8445", + "path": [ + "restconf", + "config", + "hc2vpp-ietf-routing:routing", + "hc2vpp-ietf-mpls:mpls" + ] + } }, "response": [] }, @@ -95,7 +145,25 @@ "mode": "raw", "raw": "{\n \"interface\": [\n {\n \"name\": \"host-veth342\",\n \"config\": {\n \"enabled\": \"true\"\n }\n }\n ]\n}" }, - "url": "https://172.17.0.4:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/interface/host-veth342", + "url": { + "raw": "https://172.17.0.4:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/interface/host-veth342", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "4" + ], + "port": "8445", + "path": [ + "restconf", + "config", + "hc2vpp-ietf-routing:routing", + "hc2vpp-ietf-mpls:mpls", + "interface", + "host-veth342" + ] + }, "description": "Correspondig CLI command:\n\nset interface mpls host-veth342 enable" }, "response": [] @@ -118,7 +186,25 @@ "mode": "raw", "raw": "{\n \"interface\": [\n {\n \"name\": \"host-veth31\",\n \"config\": {\n \"enabled\": \"true\"\n }\n }\n ]\n}" }, - "url": "https://172.17.0.4:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/interface/host-veth31", + "url": { + "raw": "https://172.17.0.4:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/interface/host-veth31", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "4" + ], + "port": "8445", + "path": [ + "restconf", + "config", + "hc2vpp-ietf-routing:routing", + "hc2vpp-ietf-mpls:mpls", + "interface", + "host-veth31" + ] + }, "description": "Correspondig CLI command:\n\nset interface mpls host-veth31 enable" }, "response": [] @@ -141,7 +227,26 @@ "mode": "raw", "raw": "{\n \"static-lsp\": [\n {\n \"name\": \"lsp1\",\n \"config\": {\n \"in-segment\": {\n \t\"config\" : {\n \t\t\"incoming-label\": 103\n \t}\n },\n \"operation\": \"pop-and-lookup\",\n \"vpp-mpls:label-lookup\" : {\n \"type\": \"mpls\",\n \"mpls-lookup-in-table\": 0\n }\n }\n }\n ]\n}" }, - "url": "https://172.17.0.4:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/lsp1", + "url": { + "raw": "https://172.17.0.4:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/lsp1", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "4" + ], + "port": "8445", + "path": [ + "restconf", + "config", + "hc2vpp-ietf-routing:routing", + "hc2vpp-ietf-mpls:mpls", + "hc2vpp-ietf-mpls-static:static-lsps", + "static-lsp", + "lsp1" + ] + }, "description": "Corresponding CLI command:\n\nmpls local-label add non-eos 103 mpls-lookup-in-table 0\n\n\nCan be verified via CLI using:\n\nshow mpls fib 103" }, "response": [] @@ -164,7 +269,26 @@ "mode": "raw", "raw": "{\n \"static-lsp\": [\n {\n \"name\": \"lsp2\",\n \"config\": {\n \"in-segment\": {\n \t\"config\" : {\n \t\t\"incoming-label\": 104\n \t}\n },\n \"operation\": \"swap-and-forward\"\n },\n \"simple-path\": {\n\t\t\t\"config\": {\n\t\t \"next-hop\": \"10.34.1.4\",\n\t\t \"outgoing-label\": 104,\n\t\t \"outgoing-interface\": \"host-veth341\"\n\t\t\t}\n\t\t}\n }\n ]\n}" }, - "url": "https://172.17.0.4:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/lsp2", + "url": { + "raw": "https://172.17.0.4:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/lsp2", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "4" + ], + "port": "8445", + "path": [ + "restconf", + "config", + "hc2vpp-ietf-routing:routing", + "hc2vpp-ietf-mpls:mpls", + "hc2vpp-ietf-mpls-static:static-lsps", + "static-lsp", + "lsp2" + ] + }, "description": "Corresponding CLI command:\n\nmpls local-label add eos 104 via 10.34.1.4 host-veth341 out-labels 104\n\n\nCan be verified via CLI using:\n\nshow mpls fib 104" }, "response": [] @@ -187,7 +311,26 @@ "mode": "raw", "raw": "{\n \"static-lsp\": [\n {\n \"name\": \"lsp3\",\n \"config\": {\n \"in-segment\": {\n \t\"config\" : {\n \t\t\"incoming-label\": 104\n \t}\n },\n \"operation\": \"swap-and-forward\"\n },\n \"simple-path\": {\n\t\t\t\"config\": {\n\t\t \"next-hop\": \"10.34.2.4\",\n\t\t \"outgoing-label\": 104,\n\t\t \"outgoing-interface\": \"host-veth342\"\n\t\t\t}\n\t\t}\n }\n ]\n}" }, - "url": "https://172.17.0.4:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/lsp3", + "url": { + "raw": "https://172.17.0.4:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/lsp3", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "4" + ], + "port": "8445", + "path": [ + "restconf", + "config", + "hc2vpp-ietf-routing:routing", + "hc2vpp-ietf-mpls:mpls", + "hc2vpp-ietf-mpls-static:static-lsps", + "static-lsp", + "lsp3" + ] + }, "description": "Corresponding CLI command:\n\nmpls local-label add eos 104 via 10.34.2.4 host-veth342 out-labels 104\n\n\nCan be verified via CLI using:\n\nshow mpls fib 104" }, "response": [] @@ -210,7 +353,23 @@ "mode": "raw", "raw": "{\r\n \r\n \"interface\": [\r\n {\r\n \"name\": \"testInterface\",\r\n \"description\": \"for testing purposes\",\r\n \"type\": \"iana-if-type:ethernetCsmacd\",\r\n \"enabled\": \"true\",\r\n \"link-up-down-trap-enable\": \"enabled\",\r\n \"ietf-ip:ipv4\": {\r\n \"enabled\": \"true\",\r\n \"mtu\": \"1500\",\r\n \"address\": [\r\n {\r\n \"ip\": \"1.2.3.0\",\r\n \"netmask\": \"255.255.255.0\"\r\n }\r\n ]\r\n }\r\n }\r\n ]\r\n \r\n}" }, - "url": "https://172.17.0.4:8445/restconf/operational/ietf-interfaces:interfaces-state/" + "url": { + "raw": "https://172.17.0.4:8445/restconf/operational/ietf-interfaces:interfaces-state/", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "4" + ], + "port": "8445", + "path": [ + "restconf", + "operational", + "ietf-interfaces:interfaces-state", + "" + ] + } }, "response": [] }, @@ -232,7 +391,26 @@ "mode": "raw", "raw": "{\n \"static-lsp\": [\n {\n \"name\": \"lsp4\",\n \"config\": {\n \"in-segment\": {\n \t\"config\" : {\n \t\t\"incoming-label\": 10341\n \t}\n },\n \"operation\": \"swap-and-forward\"\n },\n \"simple-path\": {\n\t\t\t\"config\": {\n\t\t \"next-hop\": \"10.34.1.4\",\n\t\t \"outgoing-label\": 104,\n\t\t \"outgoing-interface\": \"host-veth341\"\n\t\t\t}\n\t\t}\n }\n ]\n}" }, - "url": "https://172.17.0.4:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/lsp4", + "url": { + "raw": "https://172.17.0.4:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/lsp4", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "4" + ], + "port": "8445", + "path": [ + "restconf", + "config", + "hc2vpp-ietf-routing:routing", + "hc2vpp-ietf-mpls:mpls", + "hc2vpp-ietf-mpls-static:static-lsps", + "static-lsp", + "lsp4" + ] + }, "description": "Corresponding CLI command:\n\nmpls local-label add eos 10341 via 10.34.1.4 host-veth341 out-labels 104\n\n\nCan be verified via CLI using:\n\nshow mpls fib 10341" }, "response": [] @@ -255,7 +433,26 @@ "mode": "raw", "raw": "{\n \"static-lsp\": [\n {\n \"name\": \"lsp5\",\n \"config\": {\n \"in-segment\": {\n \t\"config\" : {\n \t\t\"incoming-label\": 10342\n \t}\n },\n \"operation\": \"swap-and-forward\"\n },\n \"simple-path\": {\n\t\t\t\"config\": {\n\t\t \"next-hop\": \"10.34.2.4\",\n\t\t \"outgoing-label\": 104,\n\t\t \"outgoing-interface\": \"host-veth342\"\n\t\t\t}\n\t\t}\n }\n ]\n}" }, - "url": "https://172.17.0.4:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/lsp5", + "url": { + "raw": "https://172.17.0.4:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/lsp5", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "4" + ], + "port": "8445", + "path": [ + "restconf", + "config", + "hc2vpp-ietf-routing:routing", + "hc2vpp-ietf-mpls:mpls", + "hc2vpp-ietf-mpls-static:static-lsps", + "static-lsp", + "lsp5" + ] + }, "description": "Corresponding CLI command:\n\nmpls local-label add eos 10342 via 10.34.2.4 host-veth342 out-labels 104\n\n\nCan be verified via CLI using:\n\nshow mpls fib 10342" }, "response": [] @@ -264,7 +461,7 @@ }, { "name": "vpp4", - "description": "", + "description": null, "item": [ { "name": "Enable mpls on veth431", @@ -284,7 +481,25 @@ "mode": "raw", "raw": "{\n \"interface\": [\n {\n \"name\": \"host-veth431\",\n \"config\": {\n \"enabled\": \"true\"\n }\n }\n ]\n}" }, - "url": "https://172.17.0.5:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/interface/host-veth431", + "url": { + "raw": "https://172.17.0.5:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/interface/host-veth431", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "5" + ], + "port": "8445", + "path": [ + "restconf", + "config", + "hc2vpp-ietf-routing:routing", + "hc2vpp-ietf-mpls:mpls", + "interface", + "host-veth431" + ] + }, "description": "Correspondig CLI command:\n\nset interface mpls host-veth431 enable" }, "response": [] @@ -307,7 +522,25 @@ "mode": "raw", "raw": "{\n \"interface\": [\n {\n \"name\": \"host-veth432\",\n \"config\": {\n \"enabled\": \"true\"\n }\n }\n ]\n}" }, - "url": "https://172.17.0.5:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/interface/host-veth432", + "url": { + "raw": "https://172.17.0.5:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/interface/host-veth432", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "5" + ], + "port": "8445", + "path": [ + "restconf", + "config", + "hc2vpp-ietf-routing:routing", + "hc2vpp-ietf-mpls:mpls", + "interface", + "host-veth432" + ] + }, "description": "Correspondig CLI command:\n\nset interface mpls host-veth432 enable" }, "response": [] @@ -330,7 +563,26 @@ "mode": "raw", "raw": "{\r\n\t\"control-plane-protocol\":[\r\n\t\t{\r\n\t\t\t\"name\":\"learned-protocol-0\",\r\n\t\t\t\"type\":\"static\",\r\n\t\t\t\"vpp-protocol-attributes\": {\r\n\t \"primary-vrf\": 0\r\n }\r\n\t\t}\t\r\n\t]\r\n}" }, - "url": "https://172.17.0.5:8445/restconf/config/hc2vpp-ietf-routing:routing/control-plane-protocols/control-plane-protocol/hc2vpp-ietf-routing:static/learned-protocol-0", + "url": { + "raw": "https://172.17.0.5:8445/restconf/config/hc2vpp-ietf-routing:routing/control-plane-protocols/control-plane-protocol/hc2vpp-ietf-routing:static/learned-protocol-0", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "5" + ], + "port": "8445", + "path": [ + "restconf", + "config", + "hc2vpp-ietf-routing:routing", + "control-plane-protocols", + "control-plane-protocol", + "hc2vpp-ietf-routing:static", + "learned-protocol-0" + ] + }, "description": "Hc2vpp by default stores it under learned-protocol-0" }, "response": [] @@ -353,7 +605,30 @@ "mode": "raw", "raw": "{\n\t\"route\": [\n\t\t{\n\t\t\t\"destination-prefix\": \"10.13.1.0/24\",\n\t\t\t\"next-hop\": {\n \t\"next-hop-address\" : \"10.34.2.3\",\n\t\t\t\t\"outgoing-interface\": \"host-veth432\"\n }\n\t}]\n}" }, - "url": "https://172.17.0.5:8445/restconf/config/hc2vpp-ietf-routing:routing/control-plane-protocols/control-plane-protocol/hc2vpp-ietf-routing:static/learned-protocol-0/static-routes/ipv4/route/10.13.1.0%2f24", + "url": { + "raw": "https://172.17.0.5:8445/restconf/config/hc2vpp-ietf-routing:routing/control-plane-protocols/control-plane-protocol/hc2vpp-ietf-routing:static/learned-protocol-0/static-routes/ipv4/route/10.13.1.0%2f24", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "5" + ], + "port": "8445", + "path": [ + "restconf", + "config", + "hc2vpp-ietf-routing:routing", + "control-plane-protocols", + "control-plane-protocol", + "hc2vpp-ietf-routing:static", + "learned-protocol-0", + "static-routes", + "ipv4", + "route", + "10.13.1.0%2f24" + ] + }, "description": "Send reverse traffic using IP.\n\nCorresponding CLI command:\n\nip route add 10.13.1.0/24 via 10.34.2.3 host-veth432" }, "response": [] @@ -376,7 +651,23 @@ "mode": "raw", "raw": "{\r\n \r\n \"interface\": [\r\n {\r\n \"name\": \"testInterface\",\r\n \"description\": \"for testing purposes\",\r\n \"type\": \"iana-if-type:ethernetCsmacd\",\r\n \"enabled\": \"true\",\r\n \"link-up-down-trap-enable\": \"enabled\",\r\n \"ietf-ip:ipv4\": {\r\n \"enabled\": \"true\",\r\n \"mtu\": \"1500\",\r\n \"address\": [\r\n {\r\n \"ip\": \"1.2.3.0\",\r\n \"netmask\": \"255.255.255.0\"\r\n }\r\n ]\r\n }\r\n }\r\n ]\r\n \r\n}" }, - "url": "https://172.17.0.5:8445/restconf/operational/ietf-interfaces:interfaces-state/" + "url": { + "raw": "https://172.17.0.5:8445/restconf/operational/ietf-interfaces:interfaces-state/", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "5" + ], + "port": "8445", + "path": [ + "restconf", + "operational", + "ietf-interfaces:interfaces-state", + "" + ] + } }, "response": [] }, @@ -398,7 +689,24 @@ "mode": "raw", "raw": "{\r\n \r\n \"interface\": [\r\n {\r\n \"name\": \"A\",\r\n \"description\": \"Host A\",\r\n \"type\": \"v3po:tap\",\r\n \"tap\" : {\r\n \"tap-name\" : \"A\"\r\n },\r\n \"ipv4\" : {\r\n \t\"address\" : [{\r\n \t\t\"ip\" : \"10.100.1.1\",\r\n \t\t\"prefix-length\" : \"24\"\r\n \t}]\r\n }\r\n }\r\n ]\r\n \r\n}" }, - "url": "https://172.17.0.5:8445/restconf/config/ietf-interfaces:interfaces/interface/A" + "url": { + "raw": "https://172.17.0.5:8445/restconf/config/ietf-interfaces:interfaces/interface/A", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "5" + ], + "port": "8445", + "path": [ + "restconf", + "config", + "ietf-interfaces:interfaces", + "interface", + "A" + ] + } }, "response": [] }, @@ -420,7 +728,26 @@ "mode": "raw", "raw": "{\n \"static-lsp\": [\n {\n \"name\": \"lsp1\",\n \"config\": {\n \"in-segment\": {\n \t\"config\" : {\n \t\t\"incoming-label\": 104\n \t}\n },\n \"operation\": \"pop-and-lookup\",\n \"vpp-mpls:label-lookup\" : {\n \"type\": \"ipv4\",\n \"ip4-lookup-in-table\": 0\n }\n }\n }\n ]\n}" }, - "url": "https://172.17.0.5:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/lsp1", + "url": { + "raw": "https://172.17.0.5:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/lsp1", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "5" + ], + "port": "8445", + "path": [ + "restconf", + "config", + "hc2vpp-ietf-routing:routing", + "hc2vpp-ietf-mpls:mpls", + "hc2vpp-ietf-mpls-static:static-lsps", + "static-lsp", + "lsp1" + ] + }, "description": "Corresponding CLI command:\n\nmpls local-label add eos 104 ip4-lookup-in-table 0\n\n\nCan be verified via CLI using:\n\nshow mpls fib 104" }, "response": [] @@ -443,7 +770,30 @@ "mode": "raw", "raw": "{\n\t\"route\": [\n\t\t{\n\t\t\t\"destination-prefix\": \"10.12.1.0/24\",\n\t\t\t\"next-hop\": {\n \t\"next-hop-address\" : \"10.24.1.2\",\n\t\t\t\t\"outgoing-interface\": \"host-veth42\"\n }\n\t}]\n}" }, - "url": "https://172.17.0.5:8445/restconf/config/hc2vpp-ietf-routing:routing/control-plane-protocols/control-plane-protocol/hc2vpp-ietf-routing:static/learned-protocol-0/static-routes/ipv4/route/10.12.1.0%2F24", + "url": { + "raw": "https://172.17.0.5:8445/restconf/config/hc2vpp-ietf-routing:routing/control-plane-protocols/control-plane-protocol/hc2vpp-ietf-routing:static/learned-protocol-0/static-routes/ipv4/route/10.12.1.0%2F24", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "5" + ], + "port": "8445", + "path": [ + "restconf", + "config", + "hc2vpp-ietf-routing:routing", + "control-plane-protocols", + "control-plane-protocol", + "hc2vpp-ietf-routing:static", + "learned-protocol-0", + "static-routes", + "ipv4", + "route", + "10.12.1.0%2F24" + ] + }, "description": "Send reverse traffic using IP.\n\nCorresponding CLI command:\n\nip route add 10.12.1.0/24 via 10.24.1.2 host-veth42" }, "response": [] @@ -466,7 +816,24 @@ "mode": "raw", "raw": "{\r\n \r\n \"interface\": [\r\n {\r\n \"name\": \"B\",\r\n \"description\": \"Host B\",\r\n \"type\": \"v3po:tap\",\r\n \"tap\" : {\r\n \"tap-name\" : \"B\"\r\n },\r\n \"ipv4\" : {\r\n \t\"address\" : [{\r\n \t\t\"ip\" : \"10.200.1.1\",\r\n \t\t\"prefix-length\" : \"24\"\r\n \t}]\r\n }\r\n }\r\n ]\r\n \r\n}" }, - "url": "https://172.17.0.5:8445/restconf/config/ietf-interfaces:interfaces/interface/B" + "url": { + "raw": "https://172.17.0.5:8445/restconf/config/ietf-interfaces:interfaces/interface/B", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "5" + ], + "port": "8445", + "path": [ + "restconf", + "config", + "ietf-interfaces:interfaces", + "interface", + "B" + ] + } }, "response": [] }, @@ -488,7 +855,25 @@ "mode": "raw", "raw": "{\n \"interface\": [\n {\n \"name\": \"host-veth42\",\n \"config\": {\n \"enabled\": \"true\"\n }\n }\n ]\n}" }, - "url": "https://172.17.0.5:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/interface/host-veth42", + "url": { + "raw": "https://172.17.0.5:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/interface/host-veth42", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "5" + ], + "port": "8445", + "path": [ + "restconf", + "config", + "hc2vpp-ietf-routing:routing", + "hc2vpp-ietf-mpls:mpls", + "interface", + "host-veth42" + ] + }, "description": "Correspondig CLI command:\n\nset interface mpls host-veth42 enable" }, "response": [] @@ -511,7 +896,23 @@ "mode": "raw", "raw": "{\r\n \r\n \"interface\": [\r\n {\r\n \"name\": \"testInterface\",\r\n \"description\": \"for testing purposes\",\r\n \"type\": \"iana-if-type:ethernetCsmacd\",\r\n \"enabled\": \"true\",\r\n \"link-up-down-trap-enable\": \"enabled\",\r\n \"ietf-ip:ipv4\": {\r\n \"enabled\": \"true\",\r\n \"mtu\": \"1500\",\r\n \"address\": [\r\n {\r\n \"ip\": \"1.2.3.0\",\r\n \"netmask\": \"255.255.255.0\"\r\n }\r\n ]\r\n }\r\n }\r\n ]\r\n \r\n}" }, - "url": "https://172.17.0.5:8445/restconf/config/ietf-interfaces:interfaces/" + "url": { + "raw": "https://172.17.0.5:8445/restconf/config/ietf-interfaces:interfaces/", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "5" + ], + "port": "8445", + "path": [ + "restconf", + "config", + "ietf-interfaces:interfaces", + "" + ] + } }, "response": [] }, @@ -533,7 +934,23 @@ "mode": "raw", "raw": "" }, - "url": "https://172.17.0.5:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls" + "url": { + "raw": "https://172.17.0.5:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "5" + ], + "port": "8445", + "path": [ + "restconf", + "config", + "hc2vpp-ietf-routing:routing", + "hc2vpp-ietf-mpls:mpls" + ] + } }, "response": [] } @@ -541,7 +958,7 @@ }, { "name": "vpp1", - "description": "", + "description": null, "item": [ { "name": "Get mpls (cfg)", @@ -561,7 +978,23 @@ "mode": "raw", "raw": "" }, - "url": "https://172.17.0.2:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls" + "url": { + "raw": "https://172.17.0.2:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "2" + ], + "port": "8445", + "path": [ + "restconf", + "config", + "hc2vpp-ietf-routing:routing", + "hc2vpp-ietf-mpls:mpls" + ] + } }, "response": [] }, @@ -583,7 +1016,25 @@ "mode": "raw", "raw": "{\n \"interface\": [\n {\n \"name\": \"host-veth12\",\n \"config\": {\n \"enabled\": \"true\"\n }\n }\n ]\n}" }, - "url": "https://172.17.0.2:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/interface/host-veth12", + "url": { + "raw": "https://172.17.0.2:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/interface/host-veth12", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "2" + ], + "port": "8445", + "path": [ + "restconf", + "config", + "hc2vpp-ietf-routing:routing", + "hc2vpp-ietf-mpls:mpls", + "interface", + "host-veth12" + ] + }, "description": "Correspondig CLI command:\n\nset interface mpls host-veth12 enable" }, "response": [] @@ -606,7 +1057,26 @@ "mode": "raw", "raw": "{\n\t\"static-lsp\": [{\n\t\t\"name\": \"trafficToA\",\n\t\t\"config\": {\n\t\t\t\"in-segment\": {\n\t\t\t\t\"ip-prefix\": \"10.100.1.1/24\"\n\t\t\t},\n\t\t\t\"operation\": \"impose-and-forward\"\n\t\t},\n\t\t\"paths\": {\n\t\t\t\"path\": [{\n\t\t\t\t\"path-index\": 0,\n\t\t\t\t\"config\": {\n\t\t\t\t\t\"path-index\": 0,\n\t\t\t\t\t\"next-hop\": \"10.13.1.3\",\n\t\t\t\t\t\"outgoing-interface\": \"host-veth13\"\n\t\t\t\t}\n\t\t\t}],\n\t\t\t\"outgoing-labels\": {\n\t\t\t\t\"outgoing-labels\": [{\n\t\t\t\t\t\"index\": 0,\n\t\t\t\t\t\"config\": {\n\t\t\t\t\t\t\"index\": 0,\n\t\t\t\t\t\t\"label\": 103\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"index\": 1,\n\t\t\t\t\t\"config\": {\n\t\t\t\t\t\t\"index\": 1,\n\t\t\t\t\t\t\"label\": 104\n\t\t\t\t\t}\n\t\t\t\t}]\n\t\t\t}\n\t\t}\n\t}]\n}" }, - "url": "https://172.17.0.2:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/trafficToA", + "url": { + "raw": "https://172.17.0.2:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/trafficToA", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "2" + ], + "port": "8445", + "path": [ + "restconf", + "config", + "hc2vpp-ietf-routing:routing", + "hc2vpp-ietf-mpls:mpls", + "hc2vpp-ietf-mpls-static:static-lsps", + "static-lsp", + "trafficToA" + ] + }, "description": "Corresponding CLI command:\n\nip route add 10.100.1.1/24 via 10.13.1.3 host-veth13 out-labels 103 104\n\nCan be verified via CLI using:\n\nshow ip fib 10.100.1.1/24" }, "response": [] @@ -629,7 +1099,26 @@ "mode": "raw", "raw": "{\n\t\"static-lsp\": [{\n\t\t\"name\": \"trafficToA\",\n\t\t\"config\": {\n\t\t\t\"in-segment\": {\n\t\t\t\t\"config\": {\n\t\t\t\t\t\"ip-prefix\": \"10.100.1.1/24\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"operation\": \"impose-and-forward\"\n\t\t},\n\t\t\"paths\": {\n\t\t\t\"path\": [{\n\t\t\t\t\"path-index\": 0,\n\t\t\t\t\"config\": {\n\t\t\t\t\t\"path-index\": 0,\n\t\t\t\t\t\"next-hop\": \"10.13.1.3\",\n\t\t\t\t\t\"outgoing-interface\": \"host-veth13\"\n\t\t\t\t}\n\t\t\t}],\n\t\t\t\"outgoing-labels\": {\n\t\t\t\t\"outgoing-labels\": [{\n\t\t\t\t\t\"index\": 0,\n\t\t\t\t\t\"config\": {\n\t\t\t\t\t\t\"index\": 0,\n\t\t\t\t\t\t\"label\": 103\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"index\": 1,\n\t\t\t\t\t\"config\": {\n\t\t\t\t\t\t\"index\": 1,\n\t\t\t\t\t\t\"label\": 10341\n\t\t\t\t\t}\n\t\t\t\t}]\n\t\t\t}\n\t\t}\n\t}]\n}" }, - "url": "https://172.17.0.2:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/trafficToA", + "url": { + "raw": "https://172.17.0.2:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/trafficToA", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "2" + ], + "port": "8445", + "path": [ + "restconf", + "config", + "hc2vpp-ietf-routing:routing", + "hc2vpp-ietf-mpls:mpls", + "hc2vpp-ietf-mpls-static:static-lsps", + "static-lsp", + "trafficToA" + ] + }, "description": "Node + adjacency SID example.\n\nSteers traffic to A veth341 (the first interface between vpp3 and vpp4)." }, "response": [] @@ -652,7 +1141,23 @@ "mode": "raw", "raw": "{\r\n \r\n \"interface\": [\r\n {\r\n \"name\": \"testInterface\",\r\n \"description\": \"for testing purposes\",\r\n \"type\": \"iana-if-type:ethernetCsmacd\",\r\n \"enabled\": \"true\",\r\n \"link-up-down-trap-enable\": \"enabled\",\r\n \"ietf-ip:ipv4\": {\r\n \"enabled\": \"true\",\r\n \"mtu\": \"1500\",\r\n \"address\": [\r\n {\r\n \"ip\": \"1.2.3.0\",\r\n \"netmask\": \"255.255.255.0\"\r\n }\r\n ]\r\n }\r\n }\r\n ]\r\n \r\n}" }, - "url": "https://172.17.0.2:8445/restconf/operational/ietf-interfaces:interfaces-state/" + "url": { + "raw": "https://172.17.0.2:8445/restconf/operational/ietf-interfaces:interfaces-state/", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "2" + ], + "port": "8445", + "path": [ + "restconf", + "operational", + "ietf-interfaces:interfaces-state", + "" + ] + } }, "response": [] }, @@ -674,7 +1179,26 @@ "mode": "raw", "raw": "" }, - "url": "https://172.17.0.2:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/trafficToB" + "url": { + "raw": "https://172.17.0.2:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/trafficToB", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "2" + ], + "port": "8445", + "path": [ + "restconf", + "config", + "hc2vpp-ietf-routing:routing", + "hc2vpp-ietf-mpls:mpls", + "hc2vpp-ietf-mpls-static:static-lsps", + "static-lsp", + "trafficToB" + ] + } }, "response": [] }, @@ -696,7 +1220,26 @@ "mode": "raw", "raw": "{\n\t\"static-lsp\": [{\n\t\t\"name\": \"trafficToA\",\n\t\t\"config\": {\n\t\t\t\"in-segment\": {\n\t\t\t\t\"config\": {\n\t\t\t\t\t\"ip-prefix\": \"10.100.1.1/24\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"operation\": \"impose-and-forward\"\n\t\t},\n\t\t\"paths\": {\n\t\t\t\"path\": [{\n\t\t\t\t\"path-index\": 0,\n\t\t\t\t\"config\": {\n\t\t\t\t\t\"path-index\": 0,\n\t\t\t\t\t\"next-hop\": \"10.13.1.3\",\n\t\t\t\t\t\"outgoing-interface\": \"host-veth13\"\n\t\t\t\t}\n\t\t\t}],\n\t\t\t\"outgoing-labels\": {\n\t\t\t\t\"outgoing-labels\": [{\n\t\t\t\t\t\"index\": 0,\n\t\t\t\t\t\"config\": {\n\t\t\t\t\t\t\"index\": 0,\n\t\t\t\t\t\t\"label\": 103\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"index\": 1,\n\t\t\t\t\t\"config\": {\n\t\t\t\t\t\t\"index\": 1,\n\t\t\t\t\t\t\"label\": 10342\n\t\t\t\t\t}\n\t\t\t\t}]\n\t\t\t}\n\t\t}\n\t}]\n}\n" }, - "url": "https://172.17.0.2:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/trafficToA", + "url": { + "raw": "https://172.17.0.2:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/trafficToA", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "2" + ], + "port": "8445", + "path": [ + "restconf", + "config", + "hc2vpp-ietf-routing:routing", + "hc2vpp-ietf-mpls:mpls", + "hc2vpp-ietf-mpls-static:static-lsps", + "static-lsp", + "trafficToA" + ] + }, "description": "Node + adjacency SID example.\n\nSteers traffic to A veth342 (the second interface between vpp3 and vpp4)." }, "response": [] @@ -719,7 +1262,26 @@ "mode": "raw", "raw": "" }, - "url": "https://172.17.0.2:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/trafficToB" + "url": { + "raw": "https://172.17.0.2:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/trafficToB", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "2" + ], + "port": "8445", + "path": [ + "restconf", + "config", + "hc2vpp-ietf-routing:routing", + "hc2vpp-ietf-mpls:mpls", + "hc2vpp-ietf-mpls-static:static-lsps", + "static-lsp", + "trafficToB" + ] + } }, "response": [] }, @@ -741,7 +1303,23 @@ "mode": "raw", "raw": "" }, - "url": "https://172.17.0.2:8445/restconf/config/ietf-interfaces:interfaces/" + "url": { + "raw": "https://172.17.0.2:8445/restconf/config/ietf-interfaces:interfaces/", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "2" + ], + "port": "8445", + "path": [ + "restconf", + "config", + "ietf-interfaces:interfaces", + "" + ] + } }, "response": [] }, @@ -763,7 +1341,26 @@ "mode": "raw", "raw": "" }, - "url": "https://172.17.0.2:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/trafficToA" + "url": { + "raw": "https://172.17.0.2:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/trafficToA", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "2" + ], + "port": "8445", + "path": [ + "restconf", + "config", + "hc2vpp-ietf-routing:routing", + "hc2vpp-ietf-mpls:mpls", + "hc2vpp-ietf-mpls-static:static-lsps", + "static-lsp", + "trafficToA" + ] + } }, "response": [] }, @@ -785,7 +1382,26 @@ "mode": "raw", "raw": "" }, - "url": "https://172.17.0.2:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/trafficToA" + "url": { + "raw": "https://172.17.0.2:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/trafficToA", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "2" + ], + "port": "8445", + "path": [ + "restconf", + "config", + "hc2vpp-ietf-routing:routing", + "hc2vpp-ietf-mpls:mpls", + "hc2vpp-ietf-mpls-static:static-lsps", + "static-lsp", + "trafficToA" + ] + } }, "response": [] }, @@ -807,7 +1423,26 @@ "mode": "raw", "raw": "{\n\t\"static-lsp\": [{\n\t\t\"name\": \"trafficToB\",\n\t\t\"config\": {\n\t\t\t\"in-segment\": {\n\t\t\t\t\"config\": {\n\t\t\t\t\t\"config\" : {\n\t\t\t\t\t\t\"ip-prefix\": \"10.200.1.1/24\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"operation\": \"impose-and-forward\"\n\t\t},\n\t\t\"paths\": {\n\t\t\t\"path\": [{\n\t\t\t\t\"path-index\": 0,\n\t\t\t\t\"config\": {\n\t\t\t\t\t\"path-index\": 0,\n\t\t\t\t\t\"next-hop\": \"10.12.1.2\",\n\t\t\t\t\t\"outgoing-interface\": \"host-veth12\"\n\t\t\t\t}\n\t\t\t}],\n\t\t\t\"outgoing-labels\": {\n\t\t\t\t\"outgoing-labels\": [{\n\t\t\t\t\t\"index\": 0,\n\t\t\t\t\t\"config\": {\n\t\t\t\t\t\t\"index\": 0,\n\t\t\t\t\t\t\"label\": 102\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"index\": 1,\n\t\t\t\t\t\"config\": {\n\t\t\t\t\t\t\"index\": 1,\n\t\t\t\t\t\t\"label\": 104\n\t\t\t\t\t}\n\t\t\t\t}]\n\t\t\t}\n\t\t}\n\t}]\n}" }, - "url": "https://172.17.0.2:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/trafficToB", + "url": { + "raw": "https://172.17.0.2:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/trafficToB", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "2" + ], + "port": "8445", + "path": [ + "restconf", + "config", + "hc2vpp-ietf-routing:routing", + "hc2vpp-ietf-mpls:mpls", + "hc2vpp-ietf-mpls-static:static-lsps", + "static-lsp", + "trafficToB" + ] + }, "description": "Corresponding CLI command:\n\nip route add 10.200.1.1/24 via 10.12.1.2 host-veth12 out-labels 102 104\n\nCan be verified via CLI using:\n\nshow ip fib 10.200.1.1/24" }, "response": [] @@ -830,7 +1465,26 @@ "mode": "raw", "raw": "{\n\t\"static-lsp\": [{\n\t\t\"name\": \"trafficToB\",\n\t\t\"config\": {\n\t\t\t\"in-segment\": {\n\t\t\t\t\"config\": {\n\t\t\t\t\t\"ip-prefix\": \"10.200.1.1/24\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"operation\": \"impose-and-forward\"\n\t\t},\n\t\t\"simple-path\": {\n\t\t\t\"config\": {\n\t\t\t\t\"next-hop\": \"10.12.1.2\",\n\t\t\t\t\"outgoing-label\": 102,\n\t\t\t\t\"outgoing-interface\": \"host-veth12\"\n\t\t\t}\n\t\t}\n\t}]\n}" }, - "url": "https://172.17.0.2:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/trafficToB" + "url": { + "raw": "https://172.17.0.2:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/trafficToB", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "2" + ], + "port": "8445", + "path": [ + "restconf", + "config", + "hc2vpp-ietf-routing:routing", + "hc2vpp-ietf-mpls:mpls", + "hc2vpp-ietf-mpls-static:static-lsps", + "static-lsp", + "trafficToB" + ] + } }, "response": [] } @@ -838,7 +1492,7 @@ }, { "name": "vpp2", - "description": "", + "description": null, "item": [ { "name": "Enable mpls on host-veth24 interface", @@ -858,7 +1512,25 @@ "mode": "raw", "raw": "{\n \"interface\": [\n {\n \"name\": \"host-veth24\",\n \"config\": {\n \"enabled\": \"true\"\n }\n }\n ]\n}" }, - "url": "https://172.17.0.3:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/interface/host-veth24", + "url": { + "raw": "https://172.17.0.3:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/interface/host-veth24", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "3" + ], + "port": "8445", + "path": [ + "restconf", + "config", + "hc2vpp-ietf-routing:routing", + "hc2vpp-ietf-mpls:mpls", + "interface", + "host-veth24" + ] + }, "description": "Correspondig CLI command:\n\nset interface mpls host-veth24 enable" }, "response": [] @@ -881,7 +1553,23 @@ "mode": "raw", "raw": "{\r\n \r\n \"interface\": [\r\n {\r\n \"name\": \"testInterface\",\r\n \"description\": \"for testing purposes\",\r\n \"type\": \"iana-if-type:ethernetCsmacd\",\r\n \"enabled\": \"true\",\r\n \"link-up-down-trap-enable\": \"enabled\",\r\n \"ietf-ip:ipv4\": {\r\n \"enabled\": \"true\",\r\n \"mtu\": \"1500\",\r\n \"address\": [\r\n {\r\n \"ip\": \"1.2.3.0\",\r\n \"netmask\": \"255.255.255.0\"\r\n }\r\n ]\r\n }\r\n }\r\n ]\r\n \r\n}" }, - "url": "https://172.17.0.3:8445/restconf/operational/ietf-interfaces:interfaces-state/" + "url": { + "raw": "https://172.17.0.3:8445/restconf/operational/ietf-interfaces:interfaces-state/", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "3" + ], + "port": "8445", + "path": [ + "restconf", + "operational", + "ietf-interfaces:interfaces-state", + "" + ] + } }, "response": [] }, @@ -903,7 +1591,25 @@ "mode": "raw", "raw": "{\n \"interface\": [\n {\n \"name\": \"host-veth21\",\n \"config\": {\n \"enabled\": \"true\"\n }\n }\n ]\n}" }, - "url": "https://172.17.0.3:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/interface/host-veth21", + "url": { + "raw": "https://172.17.0.3:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/interface/host-veth21", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "3" + ], + "port": "8445", + "path": [ + "restconf", + "config", + "hc2vpp-ietf-routing:routing", + "hc2vpp-ietf-mpls:mpls", + "interface", + "host-veth21" + ] + }, "description": "Correspondig CLI command:\n\nset interface mpls host-veth21 enable" }, "response": [] @@ -926,7 +1632,23 @@ "mode": "raw", "raw": "{\r\n \r\n \"interface\": [\r\n {\r\n \"name\": \"testInterface\",\r\n \"description\": \"for testing purposes\",\r\n \"type\": \"iana-if-type:ethernetCsmacd\",\r\n \"enabled\": \"true\",\r\n \"link-up-down-trap-enable\": \"enabled\",\r\n \"ietf-ip:ipv4\": {\r\n \"enabled\": \"true\",\r\n \"mtu\": \"1500\",\r\n \"address\": [\r\n {\r\n \"ip\": \"1.2.3.0\",\r\n \"netmask\": \"255.255.255.0\"\r\n }\r\n ]\r\n }\r\n }\r\n ]\r\n \r\n}" }, - "url": "https://172.17.0.3:8445/restconf/config/ietf-interfaces:interfaces/" + "url": { + "raw": "https://172.17.0.3:8445/restconf/config/ietf-interfaces:interfaces/", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "3" + ], + "port": "8445", + "path": [ + "restconf", + "config", + "ietf-interfaces:interfaces", + "" + ] + } }, "response": [] }, @@ -948,7 +1670,23 @@ "mode": "raw", "raw": "" }, - "url": "https://172.17.0.3:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls" + "url": { + "raw": "https://172.17.0.3:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "3" + ], + "port": "8445", + "path": [ + "restconf", + "config", + "hc2vpp-ietf-routing:routing", + "hc2vpp-ietf-mpls:mpls" + ] + } }, "response": [] }, @@ -970,7 +1708,26 @@ "mode": "raw", "raw": "{\n \"static-lsp\": [\n {\n \"name\": \"trafficToB\",\n \"config\": {\n \"in-segment\": {\n \t\"config\" : {\n \"ip-prefix\": \"10.200.1.1/24\"\n \t}\n },\n \"operation\": \"impose-and-forward\"\n },\n \"simple-path\": {\n\t\t\"config\": {\n\t\t\t\"next-hop\": \"10.24.1.4\",\n\t\t\t\"outgoing-label\": 104,\n\t\t\t\"outgoing-interface\": \"host-veth24\"\n\t\t}\n\t }\n }\n ]\n}" }, - "url": "https://172.17.0.3:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/trafficToB", + "url": { + "raw": "https://172.17.0.3:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/trafficToB", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "3" + ], + "port": "8445", + "path": [ + "restconf", + "config", + "hc2vpp-ietf-routing:routing", + "hc2vpp-ietf-mpls:mpls", + "hc2vpp-ietf-mpls-static:static-lsps", + "static-lsp", + "trafficToB" + ] + }, "description": "Simulates route that could be received via BGP." }, "response": [] @@ -993,7 +1750,26 @@ "mode": "raw", "raw": "{\n\t\"static-lsp\": [{\n\t\t\"name\": \"lsp1\",\n\t\t\"config\": {\n\t\t\t\"in-segment\": {\n\t\t\t\t\"config\": {\n\t\t\t\t\t\"incoming-label\": 102\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"operation\": \"pop-and-lookup\",\n\t\t\t\"vpp-mpls:label-lookup\": {\n\t\t\t\t\"type\": \"mpls\",\n\t\t\t\t\"mpls-lookup-in-table\": 0\n\t\t\t}\n\t\t}\n\t}]\n}" }, - "url": "https://172.17.0.3:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/lsp1", + "url": { + "raw": "https://172.17.0.3:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/lsp1", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "3" + ], + "port": "8445", + "path": [ + "restconf", + "config", + "hc2vpp-ietf-routing:routing", + "hc2vpp-ietf-mpls:mpls", + "hc2vpp-ietf-mpls-static:static-lsps", + "static-lsp", + "lsp1" + ] + }, "description": "Corresponding CLI command:\n\nmpls local-label add non-eos 102 mpls-lookup-in-table 0\n\n\nCan be verified via CLI using:\n\nshow mpls fib 102" }, "response": [] @@ -1016,7 +1792,26 @@ "mode": "raw", "raw": "{\n\t\"static-lsp\": [{\n\t\t\"name\": \"lsp3\",\n\t\t\"config\": {\n\t\t\t\"in-segment\": {\n\t\t\t\t\"config\": {\n\t\t\t\t\t\"incoming-label\": 102\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"operation\": \"pop-and-lookup\",\n\t\t\t\"vpp-mpls:label-lookup\": {\n\t\t\t\t\"type\": \"ipv4\",\n\t\t\t\t\"ip4-lookup-in-table\": 0\n\t\t\t}\n\t\t}\n\t}]\n}" }, - "url": "https://172.17.0.3:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/lsp3", + "url": { + "raw": "https://172.17.0.3:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/lsp3", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "3" + ], + "port": "8445", + "path": [ + "restconf", + "config", + "hc2vpp-ietf-routing:routing", + "hc2vpp-ietf-mpls:mpls", + "hc2vpp-ietf-mpls-static:static-lsps", + "static-lsp", + "lsp3" + ] + }, "description": "In case 102 is the last label,\npop it and check if we have route for destination." }, "response": [] @@ -1039,7 +1834,26 @@ "mode": "raw", "raw": "{\n\t\"static-lsp\": [{\n\t\t\"name\": \"lsp2\",\n\t\t\"config\": {\n\t\t\t\"in-segment\": {\n\t\t\t\t\"config\": {\n\t\t\t\t\t\"incoming-label\": 104\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"operation\": \"swap-and-forward\"\n\t\t},\n\t\t\"simple-path\": {\n\t\t\t\"config\": {\n\t\t\t\t\"next-hop\": \"10.24.1.4\",\n\t\t\t\t\"outgoing-label\": 104,\n\t\t\t\t\"outgoing-interface\": \"host-veth24\"\n\t\t\t}\n\t\t}\n\t}]\n}" }, - "url": "https://172.17.0.3:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/lsp2", + "url": { + "raw": "https://172.17.0.3:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/lsp2", + "protocol": "https", + "host": [ + "172", + "17", + "0", + "3" + ], + "port": "8445", + "path": [ + "restconf", + "config", + "hc2vpp-ietf-routing:routing", + "hc2vpp-ietf-mpls:mpls", + "hc2vpp-ietf-mpls-static:static-lsps", + "static-lsp", + "lsp2" + ] + }, "description": "Corresponding CLI command:\n\nmpls local-label add eos 104 via 10.24.1.4 host-veth24 out-labels 104\n\n\nCan be verified via CLI using:\n\nshow mpls fib 104" }, "response": [] diff --git a/examples/docker/mpls_demo/postman_collection_v2.0.0.json b/examples/docker/mpls_demo/postman_collection_v2.0.0.json new file mode 100644 index 000000000..0420f2a42 --- /dev/null +++ b/examples/docker/mpls_demo/postman_collection_v2.0.0.json @@ -0,0 +1,1050 @@ +{ + "info": { + "_postman_id": "4165ed66-ad4e-4003-99dd-285a50e86f15", + "name": "Honeycomb SR MPLS", + "description": "Examples of configuring some basic MPLS SR scenariou using hc2vpp", + "schema": "https://schema.getpostman.com/json/collection/v2.0.0/collection.json" + }, + "item": [ + { + "name": "vpp3", + "description": "", + "item": [ + { + "name": "Enable mpls on host-veth341", + "request": { + "method": "PUT", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"interface\": [\n {\n \"name\": \"host-veth341\",\n \"config\": {\n \"enabled\": \"true\"\n }\n }\n ]\n}" + }, + "url": "https://172.17.0.4:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/interface/host-veth341", + "description": "Correspondig CLI command:\n\nset interface mpls host-veth341 enable" + }, + "response": [] + }, + { + "name": "List ifcs - cfg", + "request": { + "method": "GET", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \r\n \"interface\": [\r\n {\r\n \"name\": \"testInterface\",\r\n \"description\": \"for testing purposes\",\r\n \"type\": \"iana-if-type:ethernetCsmacd\",\r\n \"enabled\": \"true\",\r\n \"link-up-down-trap-enable\": \"enabled\",\r\n \"ietf-ip:ipv4\": {\r\n \"enabled\": \"true\",\r\n \"mtu\": \"1500\",\r\n \"address\": [\r\n {\r\n \"ip\": \"1.2.3.0\",\r\n \"netmask\": \"255.255.255.0\"\r\n }\r\n ]\r\n }\r\n }\r\n ]\r\n \r\n}" + }, + "url": "https://172.17.0.4:8445/restconf/config/ietf-interfaces:interfaces/" + }, + "response": [] + }, + { + "name": "Get mpls (cfg)", + "request": { + "method": "GET", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "" + }, + "url": "https://172.17.0.4:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls" + }, + "response": [] + }, + { + "name": "Enable mpls on host-veth342", + "request": { + "method": "PUT", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"interface\": [\n {\n \"name\": \"host-veth342\",\n \"config\": {\n \"enabled\": \"true\"\n }\n }\n ]\n}" + }, + "url": "https://172.17.0.4:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/interface/host-veth342", + "description": "Correspondig CLI command:\n\nset interface mpls host-veth342 enable" + }, + "response": [] + }, + { + "name": "Enable mpls on host-veth31", + "request": { + "method": "PUT", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"interface\": [\n {\n \"name\": \"host-veth31\",\n \"config\": {\n \"enabled\": \"true\"\n }\n }\n ]\n}" + }, + "url": "https://172.17.0.4:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/interface/host-veth31", + "description": "Correspondig CLI command:\n\nset interface mpls host-veth31 enable" + }, + "response": [] + }, + { + "name": "Pop 103 and MPLS lookup", + "request": { + "method": "PUT", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"static-lsp\": [\n {\n \"name\": \"lsp1\",\n \"config\": {\n \"in-segment\": {\n \t\"config\" : {\n \t\t\"incoming-label\": 103\n \t}\n },\n \"operation\": \"pop-and-lookup\",\n \"vpp-mpls:label-lookup\" : {\n \"type\": \"mpls\",\n \"mpls-lookup-in-table\": 0\n }\n }\n }\n ]\n}" + }, + "url": "https://172.17.0.4:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/lsp1", + "description": "Corresponding CLI command:\n\nmpls local-label add non-eos 103 mpls-lookup-in-table 0\n\n\nCan be verified via CLI using:\n\nshow mpls fib 103" + }, + "response": [] + }, + { + "name": "Swap 104 and forward via veth341", + "request": { + "method": "PUT", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"static-lsp\": [\n {\n \"name\": \"lsp2\",\n \"config\": {\n \"in-segment\": {\n \t\"config\" : {\n \t\t\"incoming-label\": 104\n \t}\n },\n \"operation\": \"swap-and-forward\"\n },\n \"simple-path\": {\n\t\t\t\"config\": {\n\t\t \"next-hop\": \"10.34.1.4\",\n\t\t \"outgoing-label\": 104,\n\t\t \"outgoing-interface\": \"host-veth341\"\n\t\t\t}\n\t\t}\n }\n ]\n}" + }, + "url": "https://172.17.0.4:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/lsp2", + "description": "Corresponding CLI command:\n\nmpls local-label add eos 104 via 10.34.1.4 host-veth341 out-labels 104\n\n\nCan be verified via CLI using:\n\nshow mpls fib 104" + }, + "response": [] + }, + { + "name": "Swap 104 and forward via veth342", + "request": { + "method": "PUT", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"static-lsp\": [\n {\n \"name\": \"lsp3\",\n \"config\": {\n \"in-segment\": {\n \t\"config\" : {\n \t\t\"incoming-label\": 104\n \t}\n },\n \"operation\": \"swap-and-forward\"\n },\n \"simple-path\": {\n\t\t\t\"config\": {\n\t\t \"next-hop\": \"10.34.2.4\",\n\t\t \"outgoing-label\": 104,\n\t\t \"outgoing-interface\": \"host-veth342\"\n\t\t\t}\n\t\t}\n }\n ]\n}" + }, + "url": "https://172.17.0.4:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/lsp3", + "description": "Corresponding CLI command:\n\nmpls local-label add eos 104 via 10.34.2.4 host-veth342 out-labels 104\n\n\nCan be verified via CLI using:\n\nshow mpls fib 104" + }, + "response": [] + }, + { + "name": "List ifcs - oper", + "request": { + "method": "GET", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \r\n \"interface\": [\r\n {\r\n \"name\": \"testInterface\",\r\n \"description\": \"for testing purposes\",\r\n \"type\": \"iana-if-type:ethernetCsmacd\",\r\n \"enabled\": \"true\",\r\n \"link-up-down-trap-enable\": \"enabled\",\r\n \"ietf-ip:ipv4\": {\r\n \"enabled\": \"true\",\r\n \"mtu\": \"1500\",\r\n \"address\": [\r\n {\r\n \"ip\": \"1.2.3.0\",\r\n \"netmask\": \"255.255.255.0\"\r\n }\r\n ]\r\n }\r\n }\r\n ]\r\n \r\n}" + }, + "url": "https://172.17.0.4:8445/restconf/operational/ietf-interfaces:interfaces-state/" + }, + "response": [] + }, + { + "name": "Swap 10341 and forward via veth341", + "request": { + "method": "PUT", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"static-lsp\": [\n {\n \"name\": \"lsp4\",\n \"config\": {\n \"in-segment\": {\n \t\"config\" : {\n \t\t\"incoming-label\": 10341\n \t}\n },\n \"operation\": \"swap-and-forward\"\n },\n \"simple-path\": {\n\t\t\t\"config\": {\n\t\t \"next-hop\": \"10.34.1.4\",\n\t\t \"outgoing-label\": 104,\n\t\t \"outgoing-interface\": \"host-veth341\"\n\t\t\t}\n\t\t}\n }\n ]\n}" + }, + "url": "https://172.17.0.4:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/lsp4", + "description": "Corresponding CLI command:\n\nmpls local-label add eos 10341 via 10.34.1.4 host-veth341 out-labels 104\n\n\nCan be verified via CLI using:\n\nshow mpls fib 10341" + }, + "response": [] + }, + { + "name": "Swap 10342 and forward via veth342", + "request": { + "method": "PUT", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"static-lsp\": [\n {\n \"name\": \"lsp5\",\n \"config\": {\n \"in-segment\": {\n \t\"config\" : {\n \t\t\"incoming-label\": 10342\n \t}\n },\n \"operation\": \"swap-and-forward\"\n },\n \"simple-path\": {\n\t\t\t\"config\": {\n\t\t \"next-hop\": \"10.34.2.4\",\n\t\t \"outgoing-label\": 104,\n\t\t \"outgoing-interface\": \"host-veth342\"\n\t\t\t}\n\t\t}\n }\n ]\n}" + }, + "url": "https://172.17.0.4:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/lsp5", + "description": "Corresponding CLI command:\n\nmpls local-label add eos 10342 via 10.34.2.4 host-veth342 out-labels 104\n\n\nCan be verified via CLI using:\n\nshow mpls fib 10342" + }, + "response": [] + } + ] + }, + { + "name": "vpp4", + "description": "", + "item": [ + { + "name": "Enable mpls on veth431", + "request": { + "method": "PUT", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"interface\": [\n {\n \"name\": \"host-veth431\",\n \"config\": {\n \"enabled\": \"true\"\n }\n }\n ]\n}" + }, + "url": "https://172.17.0.5:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/interface/host-veth431", + "description": "Correspondig CLI command:\n\nset interface mpls host-veth431 enable" + }, + "response": [] + }, + { + "name": "Enable mpls on veth432", + "request": { + "method": "PUT", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"interface\": [\n {\n \"name\": \"host-veth432\",\n \"config\": {\n \"enabled\": \"true\"\n }\n }\n ]\n}" + }, + "url": "https://172.17.0.5:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/interface/host-veth432", + "description": "Correspondig CLI command:\n\nset interface mpls host-veth432 enable" + }, + "response": [] + }, + { + "name": "Create config for vrf0", + "request": { + "method": "PUT", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n\t\"control-plane-protocol\":[\r\n\t\t{\r\n\t\t\t\"name\":\"learned-protocol-0\",\r\n\t\t\t\"type\":\"static\",\r\n\t\t\t\"vpp-protocol-attributes\": {\r\n\t \"primary-vrf\": 0\r\n }\r\n\t\t}\t\r\n\t]\r\n}" + }, + "url": "https://172.17.0.5:8445/restconf/config/hc2vpp-ietf-routing:routing/control-plane-protocols/control-plane-protocol/hc2vpp-ietf-routing:static/learned-protocol-0", + "description": "Hc2vpp by default stores it under learned-protocol-0" + }, + "response": [] + }, + { + "name": "Add reverse direction for 10.13.1.0/24", + "request": { + "method": "PUT", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n\t\"route\": [\n\t\t{\n\t\t\t\"destination-prefix\": \"10.13.1.0/24\",\n\t\t\t\"next-hop\": {\n \t\"next-hop-address\" : \"10.34.2.3\",\n\t\t\t\t\"outgoing-interface\": \"host-veth432\"\n }\n\t}]\n}" + }, + "url": "https://172.17.0.5:8445/restconf/config/hc2vpp-ietf-routing:routing/control-plane-protocols/control-plane-protocol/hc2vpp-ietf-routing:static/learned-protocol-0/static-routes/ipv4/route/10.13.1.0%2f24", + "description": "Send reverse traffic using IP.\n\nCorresponding CLI command:\n\nip route add 10.13.1.0/24 via 10.34.2.3 host-veth432" + }, + "response": [] + }, + { + "name": "List ifcs - oper", + "request": { + "method": "GET", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \r\n \"interface\": [\r\n {\r\n \"name\": \"testInterface\",\r\n \"description\": \"for testing purposes\",\r\n \"type\": \"iana-if-type:ethernetCsmacd\",\r\n \"enabled\": \"true\",\r\n \"link-up-down-trap-enable\": \"enabled\",\r\n \"ietf-ip:ipv4\": {\r\n \"enabled\": \"true\",\r\n \"mtu\": \"1500\",\r\n \"address\": [\r\n {\r\n \"ip\": \"1.2.3.0\",\r\n \"netmask\": \"255.255.255.0\"\r\n }\r\n ]\r\n }\r\n }\r\n ]\r\n \r\n}" + }, + "url": "https://172.17.0.5:8445/restconf/operational/ietf-interfaces:interfaces-state/" + }, + "response": [] + }, + { + "name": "Configure tap for host A", + "request": { + "method": "PUT", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \r\n \"interface\": [\r\n {\r\n \"name\": \"A\",\r\n \"description\": \"Host A\",\r\n \"type\": \"v3po:tap\",\r\n \"tap\" : {\r\n \"tap-name\" : \"A\"\r\n },\r\n \"ipv4\" : {\r\n \t\"address\" : [{\r\n \t\t\"ip\" : \"10.100.1.1\",\r\n \t\t\"prefix-length\" : \"24\"\r\n \t}]\r\n }\r\n }\r\n ]\r\n \r\n}" + }, + "url": "https://172.17.0.5:8445/restconf/config/ietf-interfaces:interfaces/interface/A" + }, + "response": [] + }, + { + "name": "Pop 104 and IPv4 lookup", + "request": { + "method": "PUT", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"static-lsp\": [\n {\n \"name\": \"lsp1\",\n \"config\": {\n \"in-segment\": {\n \t\"config\" : {\n \t\t\"incoming-label\": 104\n \t}\n },\n \"operation\": \"pop-and-lookup\",\n \"vpp-mpls:label-lookup\" : {\n \"type\": \"ipv4\",\n \"ip4-lookup-in-table\": 0\n }\n }\n }\n ]\n}" + }, + "url": "https://172.17.0.5:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/lsp1", + "description": "Corresponding CLI command:\n\nmpls local-label add eos 104 ip4-lookup-in-table 0\n\n\nCan be verified via CLI using:\n\nshow mpls fib 104" + }, + "response": [] + }, + { + "name": "Add reverse direction for 10.12.1.0/24", + "request": { + "method": "PUT", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n\t\"route\": [\n\t\t{\n\t\t\t\"destination-prefix\": \"10.12.1.0/24\",\n\t\t\t\"next-hop\": {\n \t\"next-hop-address\" : \"10.24.1.2\",\n\t\t\t\t\"outgoing-interface\": \"host-veth42\"\n }\n\t}]\n}" + }, + "url": "https://172.17.0.5:8445/restconf/config/hc2vpp-ietf-routing:routing/control-plane-protocols/control-plane-protocol/hc2vpp-ietf-routing:static/learned-protocol-0/static-routes/ipv4/route/10.12.1.0%2F24", + "description": "Send reverse traffic using IP.\n\nCorresponding CLI command:\n\nip route add 10.12.1.0/24 via 10.24.1.2 host-veth42" + }, + "response": [] + }, + { + "name": "Configure tap for host B", + "request": { + "method": "PUT", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \r\n \"interface\": [\r\n {\r\n \"name\": \"B\",\r\n \"description\": \"Host B\",\r\n \"type\": \"v3po:tap\",\r\n \"tap\" : {\r\n \"tap-name\" : \"B\"\r\n },\r\n \"ipv4\" : {\r\n \t\"address\" : [{\r\n \t\t\"ip\" : \"10.200.1.1\",\r\n \t\t\"prefix-length\" : \"24\"\r\n \t}]\r\n }\r\n }\r\n ]\r\n \r\n}" + }, + "url": "https://172.17.0.5:8445/restconf/config/ietf-interfaces:interfaces/interface/B" + }, + "response": [] + }, + { + "name": "Enable mpls on host-veth42", + "request": { + "method": "PUT", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"interface\": [\n {\n \"name\": \"host-veth42\",\n \"config\": {\n \"enabled\": \"true\"\n }\n }\n ]\n}" + }, + "url": "https://172.17.0.5:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/interface/host-veth42", + "description": "Correspondig CLI command:\n\nset interface mpls host-veth42 enable" + }, + "response": [] + }, + { + "name": "List ifcs - cfg", + "request": { + "method": "GET", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \r\n \"interface\": [\r\n {\r\n \"name\": \"testInterface\",\r\n \"description\": \"for testing purposes\",\r\n \"type\": \"iana-if-type:ethernetCsmacd\",\r\n \"enabled\": \"true\",\r\n \"link-up-down-trap-enable\": \"enabled\",\r\n \"ietf-ip:ipv4\": {\r\n \"enabled\": \"true\",\r\n \"mtu\": \"1500\",\r\n \"address\": [\r\n {\r\n \"ip\": \"1.2.3.0\",\r\n \"netmask\": \"255.255.255.0\"\r\n }\r\n ]\r\n }\r\n }\r\n ]\r\n \r\n}" + }, + "url": "https://172.17.0.5:8445/restconf/config/ietf-interfaces:interfaces/" + }, + "response": [] + }, + { + "name": "Get mpls (cfg)", + "request": { + "method": "GET", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "" + }, + "url": "https://172.17.0.5:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls" + }, + "response": [] + } + ] + }, + { + "name": "vpp1", + "description": "", + "item": [ + { + "name": "Get mpls (cfg)", + "request": { + "method": "GET", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "" + }, + "url": "https://172.17.0.2:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls" + }, + "response": [] + }, + { + "name": "Enable mpls on host-veth12", + "request": { + "method": "PUT", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"interface\": [\n {\n \"name\": \"host-veth12\",\n \"config\": {\n \"enabled\": \"true\"\n }\n }\n ]\n}" + }, + "url": "https://172.17.0.2:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/interface/host-veth12", + "description": "Correspondig CLI command:\n\nset interface mpls host-veth12 enable" + }, + "response": [] + }, + { + "name": "Send traffic to A via 103, 104", + "request": { + "method": "PUT", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n\t\"static-lsp\": [{\n\t\t\"name\": \"trafficToA\",\n\t\t\"config\": {\n\t\t\t\"in-segment\": {\n\t\t\t\t\"ip-prefix\": \"10.100.1.1/24\"\n\t\t\t},\n\t\t\t\"operation\": \"impose-and-forward\"\n\t\t},\n\t\t\"paths\": {\n\t\t\t\"path\": [{\n\t\t\t\t\"path-index\": 0,\n\t\t\t\t\"config\": {\n\t\t\t\t\t\"path-index\": 0,\n\t\t\t\t\t\"next-hop\": \"10.13.1.3\",\n\t\t\t\t\t\"outgoing-interface\": \"host-veth13\"\n\t\t\t\t}\n\t\t\t}],\n\t\t\t\"outgoing-labels\": {\n\t\t\t\t\"outgoing-labels\": [{\n\t\t\t\t\t\"index\": 0,\n\t\t\t\t\t\"config\": {\n\t\t\t\t\t\t\"index\": 0,\n\t\t\t\t\t\t\"label\": 103\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"index\": 1,\n\t\t\t\t\t\"config\": {\n\t\t\t\t\t\t\"index\": 1,\n\t\t\t\t\t\t\"label\": 104\n\t\t\t\t\t}\n\t\t\t\t}]\n\t\t\t}\n\t\t}\n\t}]\n}" + }, + "url": "https://172.17.0.2:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/trafficToA", + "description": "Corresponding CLI command:\n\nip route add 10.100.1.1/24 via 10.13.1.3 host-veth13 out-labels 103 104\n\nCan be verified via CLI using:\n\nshow ip fib 10.100.1.1/24" + }, + "response": [] + }, + { + "name": "Send traffic to A via 103, 10341", + "request": { + "method": "PUT", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n\t\"static-lsp\": [{\n\t\t\"name\": \"trafficToA\",\n\t\t\"config\": {\n\t\t\t\"in-segment\": {\n\t\t\t\t\"config\": {\n\t\t\t\t\t\"ip-prefix\": \"10.100.1.1/24\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"operation\": \"impose-and-forward\"\n\t\t},\n\t\t\"paths\": {\n\t\t\t\"path\": [{\n\t\t\t\t\"path-index\": 0,\n\t\t\t\t\"config\": {\n\t\t\t\t\t\"path-index\": 0,\n\t\t\t\t\t\"next-hop\": \"10.13.1.3\",\n\t\t\t\t\t\"outgoing-interface\": \"host-veth13\"\n\t\t\t\t}\n\t\t\t}],\n\t\t\t\"outgoing-labels\": {\n\t\t\t\t\"outgoing-labels\": [{\n\t\t\t\t\t\"index\": 0,\n\t\t\t\t\t\"config\": {\n\t\t\t\t\t\t\"index\": 0,\n\t\t\t\t\t\t\"label\": 103\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"index\": 1,\n\t\t\t\t\t\"config\": {\n\t\t\t\t\t\t\"index\": 1,\n\t\t\t\t\t\t\"label\": 10341\n\t\t\t\t\t}\n\t\t\t\t}]\n\t\t\t}\n\t\t}\n\t}]\n}" + }, + "url": "https://172.17.0.2:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/trafficToA", + "description": "Node + adjacency SID example.\n\nSteers traffic to A veth341 (the first interface between vpp3 and vpp4)." + }, + "response": [] + }, + { + "name": "List ifcs - oper", + "request": { + "method": "GET", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \r\n \"interface\": [\r\n {\r\n \"name\": \"testInterface\",\r\n \"description\": \"for testing purposes\",\r\n \"type\": \"iana-if-type:ethernetCsmacd\",\r\n \"enabled\": \"true\",\r\n \"link-up-down-trap-enable\": \"enabled\",\r\n \"ietf-ip:ipv4\": {\r\n \"enabled\": \"true\",\r\n \"mtu\": \"1500\",\r\n \"address\": [\r\n {\r\n \"ip\": \"1.2.3.0\",\r\n \"netmask\": \"255.255.255.0\"\r\n }\r\n ]\r\n }\r\n }\r\n ]\r\n \r\n}" + }, + "url": "https://172.17.0.2:8445/restconf/operational/ietf-interfaces:interfaces-state/" + }, + "response": [] + }, + { + "name": "Delete rule for traffic to B", + "request": { + "method": "DELETE", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "" + }, + "url": "https://172.17.0.2:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/trafficToB" + }, + "response": [] + }, + { + "name": "Send traffic to A via 103, 10342", + "request": { + "method": "PUT", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n\t\"static-lsp\": [{\n\t\t\"name\": \"trafficToA\",\n\t\t\"config\": {\n\t\t\t\"in-segment\": {\n\t\t\t\t\"config\": {\n\t\t\t\t\t\"ip-prefix\": \"10.100.1.1/24\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"operation\": \"impose-and-forward\"\n\t\t},\n\t\t\"paths\": {\n\t\t\t\"path\": [{\n\t\t\t\t\"path-index\": 0,\n\t\t\t\t\"config\": {\n\t\t\t\t\t\"path-index\": 0,\n\t\t\t\t\t\"next-hop\": \"10.13.1.3\",\n\t\t\t\t\t\"outgoing-interface\": \"host-veth13\"\n\t\t\t\t}\n\t\t\t}],\n\t\t\t\"outgoing-labels\": {\n\t\t\t\t\"outgoing-labels\": [{\n\t\t\t\t\t\"index\": 0,\n\t\t\t\t\t\"config\": {\n\t\t\t\t\t\t\"index\": 0,\n\t\t\t\t\t\t\"label\": 103\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"index\": 1,\n\t\t\t\t\t\"config\": {\n\t\t\t\t\t\t\"index\": 1,\n\t\t\t\t\t\t\"label\": 10342\n\t\t\t\t\t}\n\t\t\t\t}]\n\t\t\t}\n\t\t}\n\t}]\n}\n" + }, + "url": "https://172.17.0.2:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/trafficToA", + "description": "Node + adjacency SID example.\n\nSteers traffic to A veth342 (the second interface between vpp3 and vpp4)." + }, + "response": [] + }, + { + "name": "Delete rule for traffic to B", + "request": { + "method": "DELETE", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "" + }, + "url": "https://172.17.0.2:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/trafficToB" + }, + "response": [] + }, + { + "name": "List ifcs - cfg", + "request": { + "method": "GET", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "" + }, + "url": "https://172.17.0.2:8445/restconf/config/ietf-interfaces:interfaces/" + }, + "response": [] + }, + { + "name": "Delete rule for traffic to A", + "request": { + "method": "DELETE", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "" + }, + "url": "https://172.17.0.2:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/trafficToA" + }, + "response": [] + }, + { + "name": "Delete rule for traffic to A", + "request": { + "method": "DELETE", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "" + }, + "url": "https://172.17.0.2:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/trafficToA" + }, + "response": [] + }, + { + "name": "Send traffic to B via 102,104", + "request": { + "method": "PUT", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n\t\"static-lsp\": [{\n\t\t\"name\": \"trafficToB\",\n\t\t\"config\": {\n\t\t\t\"in-segment\": {\n\t\t\t\t\"config\": {\n\t\t\t\t\t\"config\" : {\n\t\t\t\t\t\t\"ip-prefix\": \"10.200.1.1/24\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"operation\": \"impose-and-forward\"\n\t\t},\n\t\t\"paths\": {\n\t\t\t\"path\": [{\n\t\t\t\t\"path-index\": 0,\n\t\t\t\t\"config\": {\n\t\t\t\t\t\"path-index\": 0,\n\t\t\t\t\t\"next-hop\": \"10.12.1.2\",\n\t\t\t\t\t\"outgoing-interface\": \"host-veth12\"\n\t\t\t\t}\n\t\t\t}],\n\t\t\t\"outgoing-labels\": {\n\t\t\t\t\"outgoing-labels\": [{\n\t\t\t\t\t\"index\": 0,\n\t\t\t\t\t\"config\": {\n\t\t\t\t\t\t\"index\": 0,\n\t\t\t\t\t\t\"label\": 102\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"index\": 1,\n\t\t\t\t\t\"config\": {\n\t\t\t\t\t\t\"index\": 1,\n\t\t\t\t\t\t\"label\": 104\n\t\t\t\t\t}\n\t\t\t\t}]\n\t\t\t}\n\t\t}\n\t}]\n}" + }, + "url": "https://172.17.0.2:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/trafficToB", + "description": "Corresponding CLI command:\n\nip route add 10.200.1.1/24 via 10.12.1.2 host-veth12 out-labels 102 104\n\nCan be verified via CLI using:\n\nshow ip fib 10.200.1.1/24" + }, + "response": [] + }, + { + "name": "Send traffic to B via 102", + "request": { + "method": "PUT", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n\t\"static-lsp\": [{\n\t\t\"name\": \"trafficToB\",\n\t\t\"config\": {\n\t\t\t\"in-segment\": {\n\t\t\t\t\"config\": {\n\t\t\t\t\t\"ip-prefix\": \"10.200.1.1/24\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"operation\": \"impose-and-forward\"\n\t\t},\n\t\t\"simple-path\": {\n\t\t\t\"config\": {\n\t\t\t\t\"next-hop\": \"10.12.1.2\",\n\t\t\t\t\"outgoing-label\": 102,\n\t\t\t\t\"outgoing-interface\": \"host-veth12\"\n\t\t\t}\n\t\t}\n\t}]\n}" + }, + "url": "https://172.17.0.2:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/trafficToB" + }, + "response": [] + } + ] + }, + { + "name": "vpp2", + "description": "", + "item": [ + { + "name": "Enable mpls on host-veth24 interface", + "request": { + "method": "PUT", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"interface\": [\n {\n \"name\": \"host-veth24\",\n \"config\": {\n \"enabled\": \"true\"\n }\n }\n ]\n}" + }, + "url": "https://172.17.0.3:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/interface/host-veth24", + "description": "Correspondig CLI command:\n\nset interface mpls host-veth24 enable" + }, + "response": [] + }, + { + "name": "List ifcs - oper", + "request": { + "method": "GET", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \r\n \"interface\": [\r\n {\r\n \"name\": \"testInterface\",\r\n \"description\": \"for testing purposes\",\r\n \"type\": \"iana-if-type:ethernetCsmacd\",\r\n \"enabled\": \"true\",\r\n \"link-up-down-trap-enable\": \"enabled\",\r\n \"ietf-ip:ipv4\": {\r\n \"enabled\": \"true\",\r\n \"mtu\": \"1500\",\r\n \"address\": [\r\n {\r\n \"ip\": \"1.2.3.0\",\r\n \"netmask\": \"255.255.255.0\"\r\n }\r\n ]\r\n }\r\n }\r\n ]\r\n \r\n}" + }, + "url": "https://172.17.0.3:8445/restconf/operational/ietf-interfaces:interfaces-state/" + }, + "response": [] + }, + { + "name": "Enable mpls on host-veth21 interface", + "request": { + "method": "PUT", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"interface\": [\n {\n \"name\": \"host-veth21\",\n \"config\": {\n \"enabled\": \"true\"\n }\n }\n ]\n}" + }, + "url": "https://172.17.0.3:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/interface/host-veth21", + "description": "Correspondig CLI command:\n\nset interface mpls host-veth21 enable" + }, + "response": [] + }, + { + "name": "List ifcs - cfg", + "request": { + "method": "GET", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \r\n \"interface\": [\r\n {\r\n \"name\": \"testInterface\",\r\n \"description\": \"for testing purposes\",\r\n \"type\": \"iana-if-type:ethernetCsmacd\",\r\n \"enabled\": \"true\",\r\n \"link-up-down-trap-enable\": \"enabled\",\r\n \"ietf-ip:ipv4\": {\r\n \"enabled\": \"true\",\r\n \"mtu\": \"1500\",\r\n \"address\": [\r\n {\r\n \"ip\": \"1.2.3.0\",\r\n \"netmask\": \"255.255.255.0\"\r\n }\r\n ]\r\n }\r\n }\r\n ]\r\n \r\n}" + }, + "url": "https://172.17.0.3:8445/restconf/config/ietf-interfaces:interfaces/" + }, + "response": [] + }, + { + "name": "Get mpls (cfg)", + "request": { + "method": "GET", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "" + }, + "url": "https://172.17.0.3:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls" + }, + "response": [] + }, + { + "name": "Send traffic to B via 104", + "request": { + "method": "PUT", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"static-lsp\": [\n {\n \"name\": \"trafficToB\",\n \"config\": {\n \"in-segment\": {\n \t\"config\" : {\n \"ip-prefix\": \"10.200.1.1/24\"\n \t}\n },\n \"operation\": \"impose-and-forward\"\n },\n \"simple-path\": {\n\t\t\"config\": {\n\t\t\t\"next-hop\": \"10.24.1.4\",\n\t\t\t\"outgoing-label\": 104,\n\t\t\t\"outgoing-interface\": \"host-veth24\"\n\t\t}\n\t }\n }\n ]\n}" + }, + "url": "https://172.17.0.3:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/trafficToB", + "description": "Simulates route that could be received via BGP." + }, + "response": [] + }, + { + "name": "Pop 102 and MPLS lookup", + "request": { + "method": "PUT", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n\t\"static-lsp\": [{\n\t\t\"name\": \"lsp1\",\n\t\t\"config\": {\n\t\t\t\"in-segment\": {\n\t\t\t\t\"config\": {\n\t\t\t\t\t\"incoming-label\": 102\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"operation\": \"pop-and-lookup\",\n\t\t\t\"vpp-mpls:label-lookup\": {\n\t\t\t\t\"type\": \"mpls\",\n\t\t\t\t\"mpls-lookup-in-table\": 0\n\t\t\t}\n\t\t}\n\t}]\n}" + }, + "url": "https://172.17.0.3:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/lsp1", + "description": "Corresponding CLI command:\n\nmpls local-label add non-eos 102 mpls-lookup-in-table 0\n\n\nCan be verified via CLI using:\n\nshow mpls fib 102" + }, + "response": [] + }, + { + "name": "Pop 102 and IPv4 lookup", + "request": { + "method": "PUT", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n\t\"static-lsp\": [{\n\t\t\"name\": \"lsp3\",\n\t\t\"config\": {\n\t\t\t\"in-segment\": {\n\t\t\t\t\"config\": {\n\t\t\t\t\t\"incoming-label\": 102\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"operation\": \"pop-and-lookup\",\n\t\t\t\"vpp-mpls:label-lookup\": {\n\t\t\t\t\"type\": \"ipv4\",\n\t\t\t\t\"ip4-lookup-in-table\": 0\n\t\t\t}\n\t\t}\n\t}]\n}" + }, + "url": "https://172.17.0.3:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/lsp3", + "description": "In case 102 is the last label,\npop it and check if we have route for destination." + }, + "response": [] + }, + { + "name": "Swap 104 and forward", + "request": { + "method": "PUT", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n\t\"static-lsp\": [{\n\t\t\"name\": \"lsp2\",\n\t\t\"config\": {\n\t\t\t\"in-segment\": {\n\t\t\t\t\"config\": {\n\t\t\t\t\t\"incoming-label\": 104\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"operation\": \"swap-and-forward\"\n\t\t},\n\t\t\"simple-path\": {\n\t\t\t\"config\": {\n\t\t\t\t\"next-hop\": \"10.24.1.4\",\n\t\t\t\t\"outgoing-label\": 104,\n\t\t\t\t\"outgoing-interface\": \"host-veth24\"\n\t\t\t}\n\t\t}\n\t}]\n}" + }, + "url": "https://172.17.0.3:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/lsp2", + "description": "Corresponding CLI command:\n\nmpls local-label add eos 104 via 10.24.1.4 host-veth24 out-labels 104\n\n\nCan be verified via CLI using:\n\nshow mpls fib 104" + }, + "response": [] + } + ] + } + ] +} \ No newline at end of file -- cgit 1.2.3-korg