HC2VPP-297 - MPLS model updates 96/11496/10
authorMichal Cmarada <[email protected]>
Fri, 11 May 2018 10:16:10 +0000 (12:16 +0200)
committerMarek Gradzki <[email protected]>
Fri, 11 May 2018 11:02:10 +0000 (11:02 +0000)
This patch updates MPLS models to:
[email protected]
  (draft at: https://tools.ietf.org/html/draft-ietf-mpls-static-yang-05)

Due to odl bugs these models were changed,
see HC2VPP-307 for more details.

see mpls_postman_collection.json for examples and usage

Summary of changes:
- leaf operation in static-lsp->config was replaced
  with mpls-operations-type
- paths were refactored and moved to static-lsp
- outgoing-labels container was introduced in
  static-lsp->paths
- MPLS docker demo was updated to reflect model changes

Change-Id: I725ec5e4b3a1acea2aeabec41185949fc498ff26
Signed-off-by: Michal Cmarada <[email protected]>
16 files changed:
examples/docker/mpls_demo/postman_collection.json [changed mode: 0644->0755]
mpls/api/src/main/yang/[email protected] [moved from mpls/api/src/main/yang/[email protected] with 50% similarity, mode: 0755]
mpls/api/src/main/yang/[email protected]
mpls/impl/src/main/java/io/fd/hc2vpp/mpls/ImposeAndForwardWriter.java
mpls/impl/src/main/java/io/fd/hc2vpp/mpls/Ipv4LookupWriter.java
mpls/impl/src/main/java/io/fd/hc2vpp/mpls/LspWriter.java
mpls/impl/src/main/java/io/fd/hc2vpp/mpls/MplsInSegmentTranslator.java
mpls/impl/src/main/java/io/fd/hc2vpp/mpls/MplsLookupWriter.java
mpls/impl/src/main/java/io/fd/hc2vpp/mpls/MplsSwapWriter.java
mpls/impl/src/main/java/io/fd/hc2vpp/mpls/MplsWriterFactory.java
mpls/impl/src/main/java/io/fd/hc2vpp/mpls/StaticLspCustomizer.java
mpls/impl/src/test/java/io/fd/hc2vpp/mpls/ImposeAndForwardTest.java
mpls/impl/src/test/java/io/fd/hc2vpp/mpls/PopAndIpv4LookupTest.java
mpls/impl/src/test/java/io/fd/hc2vpp/mpls/PopAndMplsLookupTest.java
mpls/impl/src/test/java/io/fd/hc2vpp/mpls/SwapAndForwardTest.java
mpls/mpls_postman_collection.json [changed mode: 0644->0755]

old mode 100644 (file)
new mode 100755 (executable)
index 6c8d5cc..0420f2a
 {
-       "id": "775eb149-1920-2405-14f1-0a578e6dfa17",
-       "name": "Honeycomb SR MPLS",
-       "description": "Examples of configuring some basic MPLS SR scenariou using hc2vpp",
-       "order": [],
-       "folders": [
+       "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": [
                {
-                       "id": "43395a46-591f-06e1-c6f7-2d3be218f4b7",
-                       "name": "vpp1",
-                       "description": "",
-                       "order": [
-                               "16657be6-c235-6e55-46aa-bfcd9509c677",
-                               "563861ed-4363-071e-9bd5-eaff5eb8c98b",
-                               "2cf9511c-b24b-b79e-d73a-2c22b1ad0399",
-                               "c013c45c-91d1-1a3b-f79d-70b3b64b9e80",
-                               "8822aefb-a139-52a4-b013-d27e34038e3b",
-                               "6180b672-0422-1c86-6982-213d297f644e",
-                               "7c820a89-b5b6-de2d-a24e-272e8652132e",
-                               "5f3d1085-288d-b0cd-d0fc-4c9d5e56bb97",
-                               "b884638e-79a4-525b-45aa-82833fdd1dfb",
-                               "aeb31fa2-4e55-2d4f-eb86-09ee2cf61d18",
-                               "786bf7e9-315d-4367-6bab-044f197182f4",
-                               "c6f22ad3-fb95-f8d5-59ae-46bb1187161d",
-                               "21677d79-6b69-ec38-6547-9aaace9a2a22"
-                       ],
-                       "owner": 0,
-                       "collectionId": "775eb149-1920-2405-14f1-0a578e6dfa17"
-               },
-               {
-                       "id": "527edbd2-7633-b78f-eef0-f8286979c6ea",
-                       "name": "vpp2",
-                       "description": "",
-                       "order": [
-                               "8207832c-31f7-3a6c-635d-84acb0dc5aec",
-                               "b9f4ce2e-514f-5bbc-adf1-8a21e9930f0c",
-                               "45abf6ec-633c-24da-ba25-47e918e6de6c",
-                               "c81edfa7-eed8-7034-2b2f-b51d1790769b",
-                               "7db6d85d-ece1-aac3-d22f-d0d1a235cafc",
-                               "747b2251-395e-610b-7645-9a41b0b64488",
-                               "1454328e-2d83-bc67-7a8f-271d11fc18cb",
-                               "336475cb-227c-e04d-5726-c7fcfd87dbaa",
-                               "c8669e95-8c4f-4ab7-2c4a-676349929ecc"
-                       ],
-                       "owner": 0,
-                       "collectionId": "775eb149-1920-2405-14f1-0a578e6dfa17"
-               },
-               {
-                       "id": "ef180850-5af2-a60b-eeca-85252e9ce8ec",
                        "name": "vpp3",
                        "description": "",
-                       "order": [
-                               "119ec4e0-605d-08b4-fec1-cf4a131ad000",
-                               "13c7a902-2a09-dbcb-15e2-44bad8fef7db",
-                               "dcbbd269-63b7-910c-a710-4ad8fd0573ee",
-                               "c3f46171-f7c7-f959-ef2d-2c0c7a2b42c9",
-                               "cca562e5-6677-83b3-c694-e2852ae34582",
-                               "21db6249-27ed-7f90-07c3-0596d703916f",
-                               "0fb225aa-cb57-8823-6b10-fe11bfa5b722",
-                               "d968a2a2-8c53-528e-31a7-4d34e85c3fd9",
-                               "5e1eb658-1b3d-7033-3f76-3077d62550b4",
-                               "608eb5d9-ec75-80f8-5f68-ad8393fbaa06",
-                               "cc6688cb-9b65-e4d0-4985-d4d9dec14ca6"
-                       ],
-                       "owner": 0,
-                       "collectionId": "775eb149-1920-2405-14f1-0a578e6dfa17"
+                       "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": []
+                               }
+                       ]
                },
                {
-                       "id": "d51a02ef-c70d-b9cf-496f-9f4bd807476e",
                        "name": "vpp4",
                        "description": "",
-                       "order": [
-                               "d1f8d9e4-9546-1aae-2b86-b88a5baa53e4",
-                               "0cb9c591-37ea-1f32-403b-a28097796e37",
-                               "045b4a83-98da-a106-a82c-066e4ee6538f",
-                               "2fab46ad-11bd-4d1f-acee-612e03b5c6a2",
-                               "36bd3b64-d122-4f11-69e1-99848539cc47",
-                               "9d7d5222-0fdb-5779-1afd-34d2991d7de7",
-                               "d98ec90f-b870-6ab7-ce74-46b78e4c4615",
-                               "fc075349-ef0d-a0cc-dd7e-1de162c42c64",
-                               "33de5e94-c1fd-96bc-e5e0-3bd586c87886",
-                               "51b46690-bab5-dcfc-bb2e-8b61f666adda",
-                               "c8e47113-0a93-33c7-d2e3-872a831aa0aa",
-                               "51d3fcb9-bbf8-0a54-8d1a-c50372554a45"
-                       ],
-                       "owner": 0,
-                       "collectionId": "775eb149-1920-2405-14f1-0a578e6dfa17"
-               }
-       ],
-       "timestamp": 1511524812433,
-       "owner": 0,
-       "public": false,
-       "requests": [
-               {
-                       "id": "045b4a83-98da-a106-a82c-066e4ee6538f",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n",
-                       "url": "https://172.17.0.5:8445/restconf/config/ietf-interfaces:interfaces/interface/A",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "PUT",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511854983587,
-                       "name": "Configure tap for host A",
-                       "description": "",
-                       "collectionId": "775eb149-1920-2405-14f1-0a578e6dfa17",
-                       "responses": [],
-                       "rawModeData": "{\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}"
-               },
-               {
-                       "id": "0cb9c591-37ea-1f32-403b-a28097796e37",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n",
-                       "url": "https://172.17.0.5:8445/restconf/operational/ietf-interfaces:interfaces-state/",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "GET",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511784764401,
-                       "name": "List ifcs - oper",
-                       "description": "",
-                       "collectionId": "775eb149-1920-2405-14f1-0a578e6dfa17",
-                       "responses": [],
-                       "rawModeData": "{\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}"
-               },
-               {
-                       "id": "0fb225aa-cb57-8823-6b10-fe11bfa5b722",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\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",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "PUT",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511801165058,
-                       "name": "Swap 104 and forward via veth341",
-                       "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",
-                       "collectionId": "775eb149-1920-2405-14f1-0a578e6dfa17",
-                       "responses": [],
-                       "rawModeData": "{\n  \"static-lsp\": [\n    {\n      \"name\": \"lsp2\",\n      \"config\": {\n        \"in-segment\": {\n          \"incoming-label\": 104\n        },\n        \"operation\": \"swap-and-forward\",\n        \"next-hop\": \"10.34.1.4\",\n        \"outgoing-label\": 104,\n        \"outgoing-interface\": \"host-veth341\"\n      }\n    }\n  ]\n}"
-               },
-               {
-                       "id": "119ec4e0-605d-08b4-fec1-cf4a131ad000",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n",
-                       "url": "https://172.17.0.4:8445/restconf/config/ietf-interfaces:interfaces/",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "GET",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511787251902,
-                       "name": "List ifcs - cfg",
-                       "description": "",
-                       "collectionId": "775eb149-1920-2405-14f1-0a578e6dfa17",
-                       "responses": [],
-                       "rawModeData": "{\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}"
-               },
-               {
-                       "id": "13c7a902-2a09-dbcb-15e2-44bad8fef7db",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n",
-                       "url": "https://172.17.0.4:8445/restconf/operational/ietf-interfaces:interfaces-state/",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "GET",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511787294881,
-                       "name": "List ifcs - oper",
-                       "description": "",
-                       "collectionId": "775eb149-1920-2405-14f1-0a578e6dfa17",
-                       "responses": [],
-                       "rawModeData": "{\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}"
-               },
-               {
-                       "id": "1454328e-2d83-bc67-7a8f-271d11fc18cb",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\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",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "PUT",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511879008223,
-                       "name": "Pop 102 and IPv4 lookup",
-                       "description": "In case 102 is the last label,\npop it and check if we have route for destination.",
-                       "collectionId": "775eb149-1920-2405-14f1-0a578e6dfa17",
-                       "responses": [],
-                       "rawModeData": "{\n  \"static-lsp\": [\n    {\n      \"name\": \"lsp3\",\n      \"config\": {\n        \"in-segment\": {\n          \"incoming-label\": 102\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}"
-               },
-               {
-                       "id": "16657be6-c235-6e55-46aa-bfcd9509c677",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n",
-                       "url": "https://172.17.0.2:8445/restconf/config/ietf-interfaces:interfaces/",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "GET",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511561704894,
-                       "name": "List ifcs - cfg",
-                       "description": "",
-                       "collectionId": "775eb149-1920-2405-14f1-0a578e6dfa17",
-                       "responses": [],
-                       "rawModeData": ""
-               },
-               {
-                       "id": "21677d79-6b69-ec38-6547-9aaace9a2a22",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n",
-                       "url": "https://172.17.0.2:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "GET",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511781091941,
-                       "name": "Get mpls (cfg)",
-                       "description": "",
-                       "collectionId": "775eb149-1920-2405-14f1-0a578e6dfa17",
-                       "responses": [],
-                       "rawModeData": ""
-               },
-               {
-                       "id": "21db6249-27ed-7f90-07c3-0596d703916f",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\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",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "PUT",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511801154966,
-                       "name": "Pop 103 and MPLS lookup",
-                       "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",
-                       "collectionId": "775eb149-1920-2405-14f1-0a578e6dfa17",
-                       "responses": [],
-                       "rawModeData": "{\n  \"static-lsp\": [\n    {\n      \"name\": \"lsp1\",\n      \"config\": {\n        \"in-segment\": {\n          \"incoming-label\": 103\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}"
-               },
-               {
-                       "id": "2cf9511c-b24b-b79e-d73a-2c22b1ad0399",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n",
-                       "url": "https://172.17.0.2:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/interface/host-veth12",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "PUT",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511782604060,
-                       "name": "Enable mpls on host-veth12",
-                       "description": "Correspondig CLI command:\n\nset interface mpls host-veth12 enable",
-                       "collectionId": "775eb149-1920-2405-14f1-0a578e6dfa17",
-                       "responses": [],
-                       "rawModeData": "{\n  \"interface\": [\n    {\n      \"name\": \"host-veth12\",\n      \"config\": {\n        \"enabled\": \"true\"\n      }\n    }\n  ]\n}"
-               },
-               {
-                       "id": "2fab46ad-11bd-4d1f-acee-612e03b5c6a2",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n",
-                       "url": "https://172.17.0.5:8445/restconf/config/ietf-interfaces:interfaces/interface/B",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "PUT",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511855043182,
-                       "name": "Configure tap for host B",
-                       "description": "",
-                       "collectionId": "775eb149-1920-2405-14f1-0a578e6dfa17",
-                       "responses": [],
-                       "rawModeData": "{\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}"
-               },
-               {
-                       "id": "336475cb-227c-e04d-5726-c7fcfd87dbaa",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\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",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "PUT",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511879106545,
-                       "name": "Send traffic to B via 104",
-                       "description": "Simulates route that could be received via BGP.",
-                       "collectionId": "775eb149-1920-2405-14f1-0a578e6dfa17",
-                       "responses": [],
-                       "rawModeData": "{\n  \"static-lsp\": [\n    {\n      \"name\": \"trafficToB\",\n      \"config\": {\n        \"in-segment\": {\n          \"ip-prefix\": \"10.200.1.1/24\"\n        },\n        \"operation\": \"impose-and-forward\",\n        \"paths\": [\n          {\n            \"path-index\": 0,\n            \"next-hop\": \"10.24.1.4\",\n            \"outgoing-labels\": [\n              104\n            ],\n            \"outgoing-interface\": \"host-veth24\"\n          }\n        ]\n      }\n    }\n  ]\n}"
-               },
-               {
-                       "id": "33de5e94-c1fd-96bc-e5e0-3bd586c87886",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n",
-                       "url": "https://172.17.0.5:8445/restconf/config/hc2vpp-ietf-routing:routing/routing-instance/vpp-routing-instance/routing-protocols/routing-protocol/learned-protocol-0",
-                       "preRequestScript": null,
-                       "pathVariables": {},
-                       "method": "PUT",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": null,
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511791932269,
-                       "name": "Create config for vrf0",
-                       "description": "Hc2vpp by default stores it under learned-protocol-0",
-                       "collectionId": "775eb149-1920-2405-14f1-0a578e6dfa17",
-                       "responses": [],
-                       "rawModeData": "{\n\t\"routing-protocol\":[\n\t\t{\n\t\t\t\"name\":\"learned-protocol-0\",\n\t\t\t\"enabled\":\"true\",\n\t\t\t\"type\":\"static\",\n\t\t\t\"vpp-protocol-attributes\": {\n\t              \"primary-vrf\": 0\n            }\n\t\t}\t\n\t]\n}"
-               },
-               {
-                       "id": "36bd3b64-d122-4f11-69e1-99848539cc47",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n",
-                       "url": "https://172.17.0.5:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/interface/host-veth42",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "PUT",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511784773818,
-                       "name": "Enable mpls on host-veth42",
-                       "description": "Correspondig CLI command:\n\nset interface mpls host-veth42 enable",
-                       "collectionId": "775eb149-1920-2405-14f1-0a578e6dfa17",
-                       "responses": [],
-                       "rawModeData": "{\n  \"interface\": [\n    {\n      \"name\": \"host-veth42\",\n      \"config\": {\n        \"enabled\": \"true\"\n      }\n    }\n  ]\n}"
-               },
-               {
-                       "id": "45abf6ec-633c-24da-ba25-47e918e6de6c",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n",
-                       "url": "https://172.17.0.3:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/interface/host-veth21",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "PUT",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511783000679,
-                       "name": "Enable mpls on host-veth21 interface",
-                       "description": "Correspondig CLI command:\n\nset interface mpls host-veth21 enable",
-                       "collectionId": "775eb149-1920-2405-14f1-0a578e6dfa17",
-                       "responses": [],
-                       "rawModeData": "{\n  \"interface\": [\n    {\n      \"name\": \"host-veth21\",\n      \"config\": {\n        \"enabled\": \"true\"\n      }\n    }\n  ]\n}"
-               },
-               {
-                       "id": "51b46690-bab5-dcfc-bb2e-8b61f666adda",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n",
-                       "url": "https://172.17.0.5:8445/restconf/config/hc2vpp-ietf-routing:routing/routing-instance/vpp-routing-instance/routing-protocols/routing-protocol/learned-protocol-0/static-routes/ipv4/route/1",
-                       "preRequestScript": null,
-                       "pathVariables": {},
-                       "method": "PUT",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": null,
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511796631088,
-                       "name": "Add reverse direction for 10.12.1.0/24",
-                       "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",
-                       "collectionId": "775eb149-1920-2405-14f1-0a578e6dfa17",
-                       "responses": [],
-                       "rawModeData": "{\n\t\"route\": [\n\t\t{\n\t\t\t\"id\": 1,\n\t\t\t\"destination-prefix\": \"10.12.1.0/24\",\n\t\t\t\"next-hop\": \"10.24.1.2\",\n\t\t\t\"outgoing-interface\": \"host-veth42\"\n\t\t\t\n\t\t}]\n}"
-               },
-               {
-                       "id": "51d3fcb9-bbf8-0a54-8d1a-c50372554a45",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n",
-                       "url": "https://172.17.0.5:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "GET",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511784778628,
-                       "name": "Get mpls (cfg)",
-                       "description": "",
-                       "collectionId": "775eb149-1920-2405-14f1-0a578e6dfa17",
-                       "responses": [],
-                       "rawModeData": ""
-               },
-               {
-                       "id": "563861ed-4363-071e-9bd5-eaff5eb8c98b",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n",
-                       "url": "https://172.17.0.2:8445/restconf/operational/ietf-interfaces:interfaces-state/",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "GET",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511781058381,
-                       "name": "List ifcs - oper",
-                       "description": "",
-                       "collectionId": "775eb149-1920-2405-14f1-0a578e6dfa17",
-                       "responses": [],
-                       "rawModeData": "{\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}"
-               },
-               {
-                       "id": "5e1eb658-1b3d-7033-3f76-3077d62550b4",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\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",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "PUT",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511801190473,
-                       "name": "Swap 10341 and forward via veth341",
-                       "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",
-                       "collectionId": "775eb149-1920-2405-14f1-0a578e6dfa17",
-                       "responses": [],
-                       "rawModeData": "{\n  \"static-lsp\": [\n    {\n      \"name\": \"lsp4\",\n      \"config\": {\n        \"in-segment\": {\n          \"incoming-label\": 10341\n        },\n        \"operation\": \"swap-and-forward\",\n        \"next-hop\": \"10.34.1.4\",\n        \"outgoing-label\": 104,\n        \"outgoing-interface\": \"host-veth341\"\n      }\n    }\n  ]\n}"
-               },
-               {
-                       "id": "5f3d1085-288d-b0cd-d0fc-4c9d5e56bb97",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\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",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "PUT",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511857030755,
-                       "name": "Send traffic to A via 103, 104",
-                       "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",
-                       "collectionId": "775eb149-1920-2405-14f1-0a578e6dfa17",
-                       "responses": [],
-                       "rawModeData": "{\n  \"static-lsp\": [\n    {\n      \"name\": \"trafficToA\",\n      \"config\": {\n        \"in-segment\": {\n          \"ip-prefix\": \"10.100.1.1/24\"\n        },\n        \"operation\": \"impose-and-forward\",\n        \"paths\": [\n          {\n            \"path-index\": 0,\n            \"next-hop\": \"10.13.1.3\",\n            \"outgoing-labels\": [\n              103,\n              104\n            ],\n            \"outgoing-interface\": \"host-veth13\"\n          }\n        ]\n      }\n    }\n  ]\n}"
+                       "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": []
+                               }
+                       ]
                },
                {
-                       "id": "608eb5d9-ec75-80f8-5f68-ad8393fbaa06",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\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",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "PUT",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511802701919,
-                       "name": "Swap 10342 and forward via veth342",
-                       "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",
-                       "collectionId": "775eb149-1920-2405-14f1-0a578e6dfa17",
-                       "responses": [],
-                       "rawModeData": "{\n  \"static-lsp\": [\n    {\n      \"name\": \"lsp5\",\n      \"config\": {\n        \"in-segment\": {\n          \"incoming-label\": 10342\n        },\n        \"operation\": \"swap-and-forward\",\n        \"next-hop\": \"10.34.2.4\",\n        \"outgoing-label\": 104,\n        \"outgoing-interface\": \"host-veth342\"\n      }\n    }\n  ]\n}"
-               },
-               {
-                       "id": "6180b672-0422-1c86-6982-213d297f644e",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\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",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "PUT",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511879726989,
-                       "name": "Send traffic to B via 102",
-                       "description": "",
-                       "collectionId": "775eb149-1920-2405-14f1-0a578e6dfa17",
-                       "responses": [],
-                       "rawModeData": "{\n  \"static-lsp\": [\n    {\n      \"name\": \"trafficToB\",\n      \"config\": {\n        \"in-segment\": {\n          \"ip-prefix\": \"10.200.1.1/24\"\n        },\n        \"operation\": \"impose-and-forward\",\n        \"next-hop\": \"10.12.1.2\",\n        \"outgoing-label\" : 102,\n        \"outgoing-interface\": \"host-veth12\"\n      }\n    }\n  ]\n}"
-               },
-               {
-                       "id": "747b2251-395e-610b-7645-9a41b0b64488",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\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",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "PUT",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511804026118,
-                       "name": "Swap 104 and forward",
-                       "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",
-                       "collectionId": "775eb149-1920-2405-14f1-0a578e6dfa17",
-                       "responses": [],
-                       "rawModeData": "{\n  \"static-lsp\": [\n    {\n      \"name\": \"lsp2\",\n      \"config\": {\n        \"in-segment\": {\n          \"incoming-label\": 104\n        },\n        \"operation\": \"swap-and-forward\",\n        \"next-hop\": \"10.24.1.4\",\n        \"outgoing-label\": 104,\n        \"outgoing-interface\": \"host-veth24\"\n      }\n    }\n  ]\n}"
-               },
-               {
-                       "id": "786bf7e9-315d-4367-6bab-044f197182f4",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\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",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "DELETE",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511878077664,
-                       "name": "Delete rule for traffic to A",
-                       "description": "",
-                       "collectionId": "775eb149-1920-2405-14f1-0a578e6dfa17",
-                       "responses": [],
-                       "rawModeData": ""
-               },
-               {
-                       "id": "7c820a89-b5b6-de2d-a24e-272e8652132e",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\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",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "DELETE",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511856670841,
-                       "name": "Delete rule for traffic to B",
-                       "description": "",
-                       "collectionId": "775eb149-1920-2405-14f1-0a578e6dfa17",
-                       "responses": [],
-                       "isFromCollection": true,
-                       "collectionRequestId": "8822aefb-a139-52a4-b013-d27e34038e3b",
-                       "folder": "43395a46-591f-06e1-c6f7-2d3be218f4b7",
-                       "rawModeData": ""
-               },
-               {
-                       "id": "7db6d85d-ece1-aac3-d22f-d0d1a235cafc",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\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",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "PUT",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511804019361,
-                       "name": "Pop 102 and MPLS lookup",
-                       "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",
-                       "collectionId": "775eb149-1920-2405-14f1-0a578e6dfa17",
-                       "responses": [],
-                       "rawModeData": "{\n  \"static-lsp\": [\n    {\n      \"name\": \"lsp1\",\n      \"config\": {\n        \"in-segment\": {\n          \"incoming-label\": 102\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}"
-               },
-               {
-                       "id": "8207832c-31f7-3a6c-635d-84acb0dc5aec",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n",
-                       "url": "https://172.17.0.3:8445/restconf/config/ietf-interfaces:interfaces/",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "GET",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511782986509,
-                       "name": "List ifcs - cfg",
-                       "description": "",
-                       "collectionId": "775eb149-1920-2405-14f1-0a578e6dfa17",
-                       "responses": [],
-                       "rawModeData": "{\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}"
-               },
-               {
-                       "id": "8822aefb-a139-52a4-b013-d27e34038e3b",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\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",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "DELETE",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511856670841,
-                       "name": "Delete rule for traffic to B",
-                       "description": "",
-                       "collectionId": "775eb149-1920-2405-14f1-0a578e6dfa17",
-                       "responses": [],
-                       "rawModeData": ""
-               },
-               {
-                       "id": "9d7d5222-0fdb-5779-1afd-34d2991d7de7",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n",
-                       "url": "https://172.17.0.5:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/interface/host-veth431",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "PUT",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511790495962,
-                       "name": "Enable mpls on veth431",
-                       "description": "Correspondig CLI command:\n\nset interface mpls host-veth431 enable",
-                       "collectionId": "775eb149-1920-2405-14f1-0a578e6dfa17",
-                       "responses": [],
-                       "rawModeData": "{\n  \"interface\": [\n    {\n      \"name\": \"host-veth431\",\n      \"config\": {\n        \"enabled\": \"true\"\n      }\n    }\n  ]\n}"
-               },
-               {
-                       "id": "aeb31fa2-4e55-2d4f-eb86-09ee2cf61d18",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\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",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "PUT",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511862434935,
-                       "name": "Send traffic to A via 103, 10341",
-                       "description": "Node + adjacency SID example.\n\nSteers traffic to A veth341 (the first interface between vpp3 and vpp4).",
-                       "collectionId": "775eb149-1920-2405-14f1-0a578e6dfa17",
-                       "responses": [],
-                       "rawModeData": "{\n  \"static-lsp\": [\n    {\n      \"name\": \"trafficToA\",\n      \"config\": {\n        \"in-segment\": {\n          \"ip-prefix\": \"10.100.1.1/24\"\n        },\n        \"operation\": \"impose-and-forward\",\n        \"paths\": [\n          {\n            \"path-index\": 0,\n            \"next-hop\": \"10.13.1.3\",\n            \"outgoing-labels\": [\n              103,\n              10341\n            ],\n            \"outgoing-interface\": \"host-veth13\"\n          }\n        ]\n      }\n    }\n  ]\n}"
-               },
-               {
-                       "id": "b884638e-79a4-525b-45aa-82833fdd1dfb",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\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",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "DELETE",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511878069136,
-                       "name": "Delete rule for traffic to A",
-                       "description": "",
-                       "collectionId": "775eb149-1920-2405-14f1-0a578e6dfa17",
-                       "responses": [],
-                       "rawModeData": ""
-               },
-               {
-                       "id": "b9f4ce2e-514f-5bbc-adf1-8a21e9930f0c",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n",
-                       "url": "https://172.17.0.3:8445/restconf/operational/ietf-interfaces:interfaces-state/",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "GET",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511782992979,
-                       "name": "List ifcs - oper",
-                       "description": "",
-                       "collectionId": "775eb149-1920-2405-14f1-0a578e6dfa17",
-                       "responses": [],
-                       "rawModeData": "{\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}"
-               },
-               {
-                       "id": "c013c45c-91d1-1a3b-f79d-70b3b64b9e80",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\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",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "PUT",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511856993179,
-                       "name": "Send traffic to B via 102,104",
-                       "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",
-                       "collectionId": "775eb149-1920-2405-14f1-0a578e6dfa17",
-                       "responses": [],
-                       "rawModeData": "{\n  \"static-lsp\": [\n    {\n      \"name\": \"trafficToB\",\n      \"config\": {\n        \"in-segment\": {\n          \"ip-prefix\": \"10.200.1.1/24\"\n        },\n        \"operation\": \"impose-and-forward\",\n        \"paths\": [\n          {\n            \"path-index\": 0,\n            \"next-hop\": \"10.12.1.2\",\n            \"outgoing-labels\": [\n              102,\n              104\n            ],\n            \"outgoing-interface\": \"host-veth12\"\n          }\n        ]\n      }\n    }\n  ]\n}"
-               },
-               {
-                       "id": "c3f46171-f7c7-f959-ef2d-2c0c7a2b42c9",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n",
-                       "url": "https://172.17.0.4:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/interface/host-veth341",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "PUT",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511787493647,
-                       "name": "Enable mpls on host-veth341",
-                       "description": "Correspondig CLI command:\n\nset interface mpls host-veth341 enable",
-                       "collectionId": "775eb149-1920-2405-14f1-0a578e6dfa17",
-                       "responses": [],
-                       "rawModeData": "{\n  \"interface\": [\n    {\n      \"name\": \"host-veth341\",\n      \"config\": {\n        \"enabled\": \"true\"\n      }\n    }\n  ]\n}"
-               },
-               {
-                       "id": "c6f22ad3-fb95-f8d5-59ae-46bb1187161d",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\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",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "PUT",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511862579692,
-                       "name": "Send traffic to A via 103, 10342",
-                       "description": "Node + adjacency SID example.\n\nSteers traffic to A veth342 (the second interface between vpp3 and vpp4).",
-                       "collectionId": "775eb149-1920-2405-14f1-0a578e6dfa17",
-                       "responses": [],
-                       "rawModeData": "{\n  \"static-lsp\": [\n    {\n      \"name\": \"trafficToA\",\n      \"config\": {\n        \"in-segment\": {\n          \"ip-prefix\": \"10.100.1.1/24\"\n        },\n        \"operation\": \"impose-and-forward\",\n        \"paths\": [\n          {\n            \"path-index\": 0,\n            \"next-hop\": \"10.13.1.3\",\n            \"outgoing-labels\": [\n              103,\n              10342\n            ],\n            \"outgoing-interface\": \"host-veth13\"\n          }\n        ]\n      }\n    }\n  ]\n}"
-               },
-               {
-                       "id": "c81edfa7-eed8-7034-2b2f-b51d1790769b",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n",
-                       "url": "https://172.17.0.3:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/interface/host-veth24",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "PUT",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511783009910,
-                       "name": "Enable mpls on host-veth24 interface",
-                       "description": "Correspondig CLI command:\n\nset interface mpls host-veth24 enable",
-                       "collectionId": "775eb149-1920-2405-14f1-0a578e6dfa17",
-                       "responses": [],
-                       "rawModeData": "{\n  \"interface\": [\n    {\n      \"name\": \"host-veth24\",\n      \"config\": {\n        \"enabled\": \"true\"\n      }\n    }\n  ]\n}"
-               },
-               {
-                       "id": "c8669e95-8c4f-4ab7-2c4a-676349929ecc",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n",
-                       "url": "https://172.17.0.3:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "GET",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511783016510,
-                       "name": "Get mpls (cfg)",
-                       "description": "",
-                       "collectionId": "775eb149-1920-2405-14f1-0a578e6dfa17",
-                       "responses": [],
-                       "rawModeData": ""
-               },
-               {
-                       "id": "c8e47113-0a93-33c7-d2e3-872a831aa0aa",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n",
-                       "url": "https://172.17.0.5:8445/restconf/config/hc2vpp-ietf-routing:routing/routing-instance/vpp-routing-instance/routing-protocols/routing-protocol/learned-protocol-0/static-routes/ipv4/route/2",
-                       "preRequestScript": null,
-                       "pathVariables": {},
-                       "method": "PUT",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": null,
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511797454889,
-                       "name": "Add reverse direction for 10.13.1.0/24",
-                       "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",
-                       "collectionId": "775eb149-1920-2405-14f1-0a578e6dfa17",
-                       "responses": [],
-                       "rawModeData": "{\n\t\"route\": [\n\t\t{\n\t\t\t\"id\": 2,\n\t\t\t\"destination-prefix\": \"10.13.1.0/24\",\n\t\t\t\"next-hop\": \"10.34.2.3\",\n\t\t\t\"outgoing-interface\": \"host-veth432\"\n\t\t\t\n\t\t}]\n}"
-               },
-               {
-                       "id": "cc6688cb-9b65-e4d0-4985-d4d9dec14ca6",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n",
-                       "url": "https://172.17.0.4:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "GET",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511787309539,
-                       "name": "Get mpls (cfg)",
+                       "name": "vpp1",
                        "description": "",
-                       "collectionId": "775eb149-1920-2405-14f1-0a578e6dfa17",
-                       "responses": [],
-                       "rawModeData": ""
+                       "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": []
+                               }
+                       ]
                },
                {
-                       "id": "cca562e5-6677-83b3-c694-e2852ae34582",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n",
-                       "url": "https://172.17.0.4:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/interface/host-veth342",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "PUT",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511787556015,
-                       "name": "Enable mpls on host-veth342",
-                       "description": "Correspondig CLI command:\n\nset interface mpls host-veth342 enable",
-                       "collectionId": "775eb149-1920-2405-14f1-0a578e6dfa17",
-                       "responses": [],
-                       "rawModeData": "{\n  \"interface\": [\n    {\n      \"name\": \"host-veth342\",\n      \"config\": {\n        \"enabled\": \"true\"\n      }\n    }\n  ]\n}"
-               },
-               {
-                       "id": "d1f8d9e4-9546-1aae-2b86-b88a5baa53e4",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n",
-                       "url": "https://172.17.0.5:8445/restconf/config/ietf-interfaces:interfaces/",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "GET",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511784757365,
-                       "name": "List ifcs - cfg",
+                       "name": "vpp2",
                        "description": "",
-                       "collectionId": "775eb149-1920-2405-14f1-0a578e6dfa17",
-                       "responses": [],
-                       "rawModeData": "{\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}"
-               },
-               {
-                       "id": "d968a2a2-8c53-528e-31a7-4d34e85c3fd9",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\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",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "PUT",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511801173478,
-                       "name": "Swap 104 and forward via veth342",
-                       "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",
-                       "collectionId": "775eb149-1920-2405-14f1-0a578e6dfa17",
-                       "responses": [],
-                       "rawModeData": "{\n  \"static-lsp\": [\n    {\n      \"name\": \"lsp3\",\n      \"config\": {\n        \"in-segment\": {\n          \"incoming-label\": 104\n        },\n        \"operation\": \"swap-and-forward\",\n        \"next-hop\": \"10.34.2.4\",\n        \"outgoing-label\": 104,\n        \"outgoing-interface\": \"host-veth342\"\n      }\n    }\n  ]\n}"
-               },
-               {
-                       "id": "d98ec90f-b870-6ab7-ce74-46b78e4c4615",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n",
-                       "url": "https://172.17.0.5:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/interface/host-veth432",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "PUT",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511790503226,
-                       "name": "Enable mpls on veth432",
-                       "description": "Correspondig CLI command:\n\nset interface mpls host-veth432 enable",
-                       "collectionId": "775eb149-1920-2405-14f1-0a578e6dfa17",
-                       "responses": [],
-                       "rawModeData": "{\n  \"interface\": [\n    {\n      \"name\": \"host-veth432\",\n      \"config\": {\n        \"enabled\": \"true\"\n      }\n    }\n  ]\n}"
-               },
-               {
-                       "id": "dcbbd269-63b7-910c-a710-4ad8fd0573ee",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n",
-                       "url": "https://172.17.0.4:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/interface/host-veth31",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "PUT",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511787499174,
-                       "name": "Enable mpls on host-veth31",
-                       "description": "Correspondig CLI command:\n\nset interface mpls host-veth31 enable",
-                       "collectionId": "775eb149-1920-2405-14f1-0a578e6dfa17",
-                       "responses": [],
-                       "rawModeData": "{\n  \"interface\": [\n    {\n      \"name\": \"host-veth31\",\n      \"config\": {\n        \"enabled\": \"true\"\n      }\n    }\n  ]\n}"
-               },
-               {
-                       "id": "fc075349-ef0d-a0cc-dd7e-1de162c42c64",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\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",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "PUT",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511804229802,
-                       "name": "Pop 104 and IPv4 lookup",
-                       "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",
-                       "collectionId": "775eb149-1920-2405-14f1-0a578e6dfa17",
-                       "responses": [],
-                       "rawModeData": "{\n  \"static-lsp\": [\n    {\n      \"name\": \"lsp1\",\n      \"config\": {\n        \"in-segment\": {\n          \"incoming-label\": 104\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}"
+                       "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
old mode 100644 (file)
new mode 100755 (executable)
similarity index 50%
rename from mpls/api/src/main/yang/[email protected]
rename to mpls/api/src/main/yang/[email protected]
index ae8688b..9da4bb9
@@ -8,10 +8,13 @@ module hc2vpp-ietf-mpls-static {
     prefix mpls;
   }
 
-/*
-  TODO: changed to modified version of ietf-routing that we use
-  Set back to ietf-routing after HC2VPP-253 is resolved.
-*/
+  /*
+    TODO: HC2VPP-307 - Remove workarounds for ODL bugs from ietf-mpls YANG.
+  */
+  /*
+    TODO: changed to modified version of ietf-routing that we use
+    Set back to ietf-routing after HC2VPP-298 is resolved.
+  */
   import hc2vpp-ietf-routing {
     prefix "rt";
   }
@@ -53,7 +56,6 @@ module hc2vpp-ietf-mpls-static {
 
      WG Chair: Ross Callon
                <mailto:[email protected]>
-
      WG Chair: George Swallow
                <mailto:[email protected]>
 
@@ -93,9 +95,9 @@ module hc2vpp-ietf-mpls-static {
 
   /*
     TODO: 2017-07-02 defines grouping in-segment but does not use it.
-    Bump to newer version after the issue is resolved.
+    Bump to newer version after HC2VPP-306 is resolved.
   */
-  revision "2017-03-10" {
+  revision "2017-07-02" {
     description
       "Latest revision:
         - Addressed MPLS-RT review comments";
@@ -112,6 +114,35 @@ module hc2vpp-ietf-mpls-static {
        configured static LSP.";
   }
 
+  typedef mpls-operations-type {
+    type enumeration {
+      enum impose-and-forward {
+        description
+          "Operation impose outgoing label(s) and forward to
+           next-hop";
+      }
+      enum pop-and-forward {
+        description
+          "Operation pop incoming label and forward to next-hop";
+      }
+      enum pop-impose-and-forward {
+        description
+          "Operation pop incoming label, impose one or more
+           outgoing label(s) and forward to next-hop";
+      }
+      enum swap-and-forward {
+        description
+          "Operation swap incoming label, with outgoing label and
+           forward to next-hop";
+      }
+      enum pop-and-lookup {
+        description
+          "Operation pop incoming label and perform a lookup";
+      }
+    }
+    description "MPLS operations types";
+  }
+
   grouping path-basic_config {
     description "common definitions for statics";
 
@@ -134,6 +165,53 @@ module hc2vpp-ietf-mpls-static {
     }
   }
 
+  grouping path-outgoing-labels_config {
+    description "Path outgoing labels grouping";
+    leaf index {
+      type uint8 {
+        range "0..255";
+      }
+      description
+        "Index of the label. Index 0 indicates
+         top of the label stack";
+    }
+    leaf label {
+      type rt-types:mpls-label;
+      description
+        "The outgoing MPLS labels to impose";
+    }
+  }
+
+  grouping path-outgoing-labels {
+    description "Path outgoing labels grouping";
+    container outgoing-labels {
+      description "List of outgoing labels";
+      list outgoing-labels {
+        key "index";
+        description "Outgoing label list";
+        leaf index {
+          type leafref {
+            path "../config/index";
+          }
+          description
+            "Index of the label. Index 0 indicates
+             top of the label stack";
+        }
+        container config {
+          description
+            "Configuration intended parameters";
+          uses path-outgoing-labels_config;
+        }
+        container state {
+          config false;
+          description
+            "Configuration applied parameters and state";
+          uses path-outgoing-labels_config;
+        }
+      }
+    }
+  }
+
   grouping path-properties_config {
     description
       "MPLS path properties";
@@ -155,13 +233,6 @@ module hc2vpp-ietf-mpls-static {
         "The address of the next-hop";
     }
 
-    leaf-list outgoing-labels {
-      type rt-types:mpls-label;
-      ordered-by user;
-      description
-        "The outgoing MPLS labels to impose";
-    }
-
     leaf outgoing-interface {
       type if:interface-ref;
       description
@@ -197,103 +268,148 @@ module hc2vpp-ietf-mpls-static {
     }
   }
 
-  grouping static-lsp_config {
-    description "common definitions for static LSPs";
-
-    container in-segment {
-      description
-        "MPLS incoming segment";
-      choice type {
-        description
-          "Basic FEC choice";
-        case ip-prefix {
-          leaf ip-prefix {
-            type inet:ip-prefix;
-            description "An IP prefix";
+  grouping static-lsp-paths {
+    description "Static LSP path grouping";
+    choice out-segment {
+      description "The MPLS out-segment type choice";
+      case simple-path {
+        container simple-path {
+          description "Simple path container";
+          container config {
+            description
+              "Holds the intended configuration";
+            uses path-basic_config;
           }
-        }
-        case mpls-label {
-          leaf incoming-label {
-            type rt-types:mpls-label;
-            description "label value on the incoming packet";
+          container state {
+            config false;
+            description
+              "Holds the state and inuse configuration";
+            uses path-basic_config;
           }
         }
-        /*
-        Currently not supported. Commented out due to ODL issues (MDSAL-182, YANGTOOLS-677).
-        case tunnel {
-          leaf tunnel {
-            type te:tunnel-ref;
-            description "TE tunnel FEC mapping";
+      }
+      case multiple-paths {
+        container paths {
+          description "List of outgoing paths";
+          list path {
+            key path-index;
+            description
+              "The list of MPLS paths associated with the FEC";
+            leaf path-index {
+              type leafref {
+                path "../config/path-index";
+              }
+              description "Index of the path";
+            }
+            container config {
+              description
+                "Holds the intended configuration";
+              uses path-properties_config;
+            }
+            container state {
+              config false;
+              description
+                "Holds the state and inuse configuration";
+              uses path-properties_config;
+            }
           }
+          uses path-outgoing-labels;
         }
-        */
-      }
-      leaf incoming-interface {
-        type if:interface-ref;
-        description
-          "Optional incoming interface if FEC is restricted
-           to traffic incoming on a specific interface";
       }
     }
+  }
 
-    leaf operation {
-      type enumeration {
-        enum impose-and-forward {
-          description
-            "Operation impose outgoing label(s) and forward to
-             next-hop";
-        }
-        enum pop-and-forward {
-          description
-            "Operation pop incoming label and forward to next-hop";
-        }
-        enum pop-impose-and-forward {
-          description
-            "Operation pop incoming label, impose one or more
-             outgoing label(s) and forward to next-hop";
+  grouping in-segment_config {
+    description "In-segment grouping";
+    choice type {
+      description
+        "Basic FEC choice";
+      case ip-prefix {
+        leaf ip-prefix {
+          type inet:ip-prefix;
+          description "An IP prefix";
         }
-        enum swap-and-forward {
-          description
-            "Operation swap incoming label, with outgoing label and
-             forward to next-hop";
+      }
+      case mpls-label {
+        leaf incoming-label {
+          type rt-types:mpls-label;
+          description "label value on the incoming packet";
         }
-        enum pop-and-lookup {
-          description
-            "Operation pop incoming label and perform a lookup";
+      }
+      /* Import TE generic types */
+      /*
+      Yangtools has some issues with ietf-te model.
+      There is no plan to support tunnels currently, so we simply comment this out.
+      TODO: remove comment after following issues are resolved:
+      https://jira.opendaylight.org/browse/MDSAL-182
+      https://jira.opendaylight.org/browse/YANGTOOLS-677
+
+      case tunnel {
+        leaf tunnel {
+          type te:tunnel-ref;
+          description "TE tunnel FEC mapping";
         }
       }
+      */
+    }
+    leaf incoming-interface {
+      type if:interface-ref;
       description
-        "The MPLS operation to be executed on the incoming packet";
+        "Optional incoming interface if FEC is restricted
+         to traffic incoming on a specific interface";
     }
+  }
 
-    choice out-segment {
-      description "The MPLS out-segment type choice";
-      case simple-path {
-        uses path-basic_config;
+  grouping in-segment {
+    description "In-segment grouping";
+    container in-segment {
+      description
+        "MPLS incoming segment";
+      container config {
+        description
+          "Holds the intended configuration";
+        uses in-segment_config;
       }
-      case path-list {
-        list paths {
-          key path-index;
-          description
-            "The list of MPLS paths associated with the FEC";
-          uses path-properties_config;
-        }
+      container state {
+        config false;
+        description
+          "Holds the state and inuse configuration";
+        uses in-segment_config;
       }
     }
   }
 
-  grouping static-lsp {
-    description "grouping for top level list of static LSPs";
+  grouping static-lsp-top_config {
+    description "Static LSP configuration grouping";
+    /*
+    TODO: 2017-07-02 defines grouping in-segment but was not used - HC2VPP-306.
+    Added it here as it was in static-lsp-config in 2017-03-10 revision.
+    This will probably be fixed in next version of this model.
+    */
+    uses in-segment;
+    leaf name {
+      type string;
+      description "name to identify the LSP";
+    }
+    leaf operation {
+      type mpls-operations-type;
+      description
+        "The MPLS operation to be executed on the incoming packet";
+    }
+  }
+
+  grouping static-lsp-top {
+    description "common definitions for static LSPs";
     container config {
       description
         "Holds the intended configuration";
-      uses static-lsp_config;
+      uses static-lsp-top_config;
     }
     container state {
       config false;
       description
         "Holds the state and inuse configuration";
-      uses static-lsp_config;
+      uses static-lsp-top_config;
     }
   }
 
@@ -305,12 +421,14 @@ module hc2vpp-ietf-mpls-static {
       list static-lsp {
         key name;
         description "list of defined static LSPs";
-
         leaf name {
-          type string;
+          type leafref {
+            path "../config/name";
+          }
           description "name to identify the LSP";
         }
-        uses static-lsp;
+        uses static-lsp-top;
+        uses static-lsp-paths;
       }
     }
   }
index c417046..8b5aa5e 100644 (file)
@@ -15,7 +15,7 @@ module vpp-mpls {
 
   import hc2vpp-ietf-mpls-static {
     prefix "mpls-static";
-    revision-date 2017-03-10;
+    revision-date 2017-07-02;
   }
 
   import yang-ext {
index 5e38430..6a09b3e 100644 (file)
@@ -31,21 +31,22 @@ import javax.annotation.Nonnull;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310.StaticLspConfig.Operation;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310._static.lsp.Config;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310._static.lsp_config.InSegment;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310._static.lsp_config.OutSegment;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310._static.lsp_config.in.segment.Type;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310._static.lsp_config.in.segment.type.IpPrefix;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310._static.lsp_config.out.segment.PathList;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310._static.lsp_config.out.segment.SimplePath;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310._static.lsp_config.out.segment.path.list.Paths;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310.routing.mpls._static.lsps.StaticLsp;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.MplsOperationsType;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702._static.lsp.paths.OutSegment;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702._static.lsp.paths.out.segment.MultiplePaths;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702._static.lsp.paths.out.segment.SimplePath;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702._static.lsp.paths.out.segment.multiple.paths.Paths;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702._static.lsp.top.Config;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.in.segment.InSegment;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.in.segment_config.Type;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.in.segment_config.type.IpPrefix;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.path.outgoing.labels.outgoing.labels.OutgoingLabels;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.routing.mpls._static.lsps.StaticLsp;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.routing.types.rev171204.MplsLabel;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 
 /**
- * Translates {@link Operation#ImposeAndForward ImposeAndForward} operation to ip_add_del_route API.
+ * Translates {@link MplsOperationsType#ImposeAndForward ImposeAndForward} operation to ip_add_del_route API.
  *
  * @see <a href="https://git.fd.io/vpp/tree/src/vnet/ip/ip.api">ip_add_del_route</a> definition
  */
@@ -66,7 +67,7 @@ final class ImposeAndForwardWriter implements LspWriter, Ipv4Translator, MplsLab
         request.isAdd = booleanToByte(isAdd);
 
         translate(config.getInSegment(), request);
-        translate(config.getOutSegment(), request, ctx);
+        translate(data.getOutSegment(), request, ctx);
 
         // default values based on inspecting VPP's CLI and make test code
         request.nextHopWeight = 1;
@@ -76,8 +77,9 @@ final class ImposeAndForwardWriter implements LspWriter, Ipv4Translator, MplsLab
     }
 
     private void translate(@Nonnull final InSegment inSegment, @Nonnull final IpAddDelRoute request) {
-        checkArgument(inSegment != null, "Configuring impose-and-forward, but in-segment is missing.");
-        final Type type = inSegment.getType();
+        checkArgument(inSegment.getConfig() != null,
+                "Configuring impose-and-forward, but in-segment config is missing.");
+        final Type type = inSegment.getConfig().getType();
         checkArgument(type instanceof IpPrefix, "Only ip-prefix type is supported, but %s given.", type);
 
         // TODO(HC2VPP-264): add support for mpls + v6
@@ -93,8 +95,8 @@ final class ImposeAndForwardWriter implements LspWriter, Ipv4Translator, MplsLab
         final String outgoingInterface;
         if (outSegment instanceof SimplePath) {
             outgoingInterface = translate((SimplePath) outSegment, request);
-        } else if (outSegment instanceof PathList) {
-            outgoingInterface = translate((PathList) outSegment, request);
+        } else if (outSegment instanceof MultiplePaths) {
+            outgoingInterface = translate((MultiplePaths) outSegment, request);
         } else {
             throw new IllegalArgumentException("Unsupported out-segment type: " + outSegment);
         }
@@ -104,7 +106,7 @@ final class ImposeAndForwardWriter implements LspWriter, Ipv4Translator, MplsLab
     }
 
     private String translate(@Nonnull final SimplePath path, @Nonnull final IpAddDelRoute request) {
-        final IpAddress nextHop = path.getNextHop();
+        final IpAddress nextHop = path.getSimplePath().getConfig().getNextHop();
 
         // TODO(HC2VPP-264): add support for mpls + v6
         if (nextHop != null) {
@@ -115,18 +117,19 @@ final class ImposeAndForwardWriter implements LspWriter, Ipv4Translator, MplsLab
             request.nextHopAddress = new byte[0];
         }
 
-        final MplsLabel outgoingLabel = path.getOutgoingLabel();
+        final MplsLabel outgoingLabel = path.getSimplePath().getConfig().getOutgoingLabel();
         checkArgument(outgoingLabel != null, "Configuring impose-and-forward, but outgoing-label is missing.");
         request.nextHopOutLabelStack = new FibMplsLabel[] {translate(outgoingLabel.getValue())};
         request.nextHopNOutLabels = 1;
 
-        return path.getOutgoingInterface();
+        return path.getSimplePath().getConfig().getOutgoingInterface();
     }
 
-    private String translate(@Nonnull final PathList pathList, @Nonnull final IpAddDelRoute request) {
-        checkArgument(pathList.getPaths() != null && pathList.getPaths().size() == 1, "Only single path is supported");
-        final Paths paths = pathList.getPaths().get(0);
-        final IpAddress nextHop = paths.getNextHop();
+    private String translate(@Nonnull final MultiplePaths pathList, @Nonnull final IpAddDelRoute request) {
+        checkArgument(pathList.getPaths() != null && pathList.getPaths().getPath().size() == 1,
+                      "Only single path is supported");
+        final Paths paths = pathList.getPaths();
+        final IpAddress nextHop = paths.getPath().get(0).getConfig().getNextHop();
 
         // TODO(HC2VPP-264): add support for mpls + v6
         if (nextHop != null) {
@@ -137,14 +140,14 @@ final class ImposeAndForwardWriter implements LspWriter, Ipv4Translator, MplsLab
             request.nextHopAddress = new byte[0];
         }
 
-        final List<MplsLabel> labels = paths.getOutgoingLabels();
+        final List<OutgoingLabels> labels = paths.getOutgoingLabels().getOutgoingLabels();
         final int numberOfLabels = labels.size();
         checkArgument(numberOfLabels > 0 && numberOfLabels < MAX_LABELS, "Number of labels (%s) not in range (0, %s].",
             numberOfLabels, MAX_LABELS, numberOfLabels);
         request.nextHopNOutLabels = (byte) numberOfLabels;
-        request.nextHopOutLabelStack =
-            labels.stream().map(label -> translate(label.getValue())).toArray(FibMplsLabel[]::new);
+        request.nextHopOutLabelStack = labels.stream().map(label -> translate(label.getConfig().getLabel().getValue()))
+                .toArray(FibMplsLabel[]::new);
 
-        return paths.getOutgoingInterface();
+        return paths.getPath().get(0).getConfig().getOutgoingInterface();
     }
 }
index be26166..3b0be1f 100644 (file)
@@ -24,9 +24,8 @@ import io.fd.vpp.jvpp.core.dto.MplsRouteAddDel;
 import io.fd.vpp.jvpp.core.future.FutureJVppCore;
 import io.fd.vpp.jvpp.core.types.FibMplsLabel;
 import javax.annotation.Nonnull;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310.StaticLspConfig;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310._static.lsp.Config;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310.routing.mpls._static.lsps.StaticLsp;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702._static.lsp.top.Config;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.routing.mpls._static.lsps.StaticLsp;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.mpls.rev171120.LookupType;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.mpls.rev171120.StaticLspVppLookupAugmentation;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
index 0e68f0c..7a67b26 100644 (file)
@@ -21,7 +21,7 @@ import io.fd.hc2vpp.common.translate.util.JvppReplyConsumer;
 import io.fd.honeycomb.translate.MappingContext;
 import io.fd.honeycomb.translate.write.WriteFailedException;
 import javax.annotation.Nonnull;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310.routing.mpls._static.lsps.StaticLsp;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.routing.mpls._static.lsps.StaticLsp;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 
 /**
index 9f531bb..e15e50a 100644 (file)
@@ -20,9 +20,9 @@ import static com.google.common.base.Preconditions.checkArgument;
 
 import io.fd.vpp.jvpp.core.dto.MplsRouteAddDel;
 import javax.annotation.Nonnull;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310._static.lsp_config.InSegment;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310._static.lsp_config.in.segment.Type;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310._static.lsp_config.in.segment.type.MplsLabel;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.in.segment.InSegment;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.in.segment_config.Type;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.in.segment_config.type.MplsLabel;
 
 /**
  * Mixin that translates {@link InSegment} of {@link MplsLabel} type to {@link MplsRouteAddDel} message.
@@ -30,7 +30,7 @@ import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._stati
 interface MplsInSegmentTranslator {
     default void translate(@Nonnull final InSegment inSegment, @Nonnull final MplsRouteAddDel request) {
         checkArgument(inSegment != null, "Missing in-segment");
-        final Type type = inSegment.getType();
+        final Type type = inSegment.getConfig().getType();
         checkArgument(type instanceof MplsLabel, "Expecting in-segment of type mpls-label, but %s given.", type);
         final Long label = ((MplsLabel) type).getIncomingLabel().getValue();
         request.mrLabel = label.intValue();
index 86e7bde..c42aedd 100644 (file)
@@ -24,15 +24,15 @@ import io.fd.vpp.jvpp.core.dto.MplsRouteAddDel;
 import io.fd.vpp.jvpp.core.future.FutureJVppCore;
 import io.fd.vpp.jvpp.core.types.FibMplsLabel;
 import javax.annotation.Nonnull;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310.StaticLspConfig;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310._static.lsp.Config;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310.routing.mpls._static.lsps.StaticLsp;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.MplsOperationsType;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702._static.lsp.top.Config;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.routing.mpls._static.lsps.StaticLsp;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.mpls.rev171120.LookupType;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.mpls.rev171120.StaticLspVppLookupAugmentation;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 
 /**
- * Translates {@link StaticLspConfig.Operation#PopAndLookup} operation with {@link LookupType#Mpls} to
+ * Translates {@link MplsOperationsType#PopAndLookup} operation with {@link LookupType#Mpls} to
  * mpls_route_add_del API.
  *
  * @see <a href="https://git.fd.io/vpp/tree/src/vnet/mpls/mpls.api">mpls_route_add_del</a> definition
index 72d9c65..c8b47b8 100644 (file)
@@ -29,16 +29,16 @@ import io.fd.vpp.jvpp.core.types.FibMplsLabel;
 import javax.annotation.Nonnull;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310.StaticLspConfig;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310._static.lsp.Config;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310._static.lsp_config.OutSegment;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310._static.lsp_config.out.segment.SimplePath;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310.routing.mpls._static.lsps.StaticLsp;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.MplsOperationsType;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702._static.lsp.paths.OutSegment;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702._static.lsp.paths.out.segment.SimplePath;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702._static.lsp.top.Config;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.routing.mpls._static.lsps.StaticLsp;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.routing.types.rev171204.MplsLabel;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 
 /**
- * Translates {@link StaticLspConfig.Operation#SwapAndForward} operation to mpls_route_add_del API.
+ * Translates {@link MplsOperationsType#SwapAndForward} operation to mpls_route_add_del API.
  *
  * @see <a href="https://git.fd.io/vpp/tree/src/vnet/mpls/mpls.api">mpls_route_add_del</a> definition
  */
@@ -61,7 +61,7 @@ final class MplsSwapWriter implements LspWriter, Ipv4Translator, MplsInSegmentTr
         request.mrEos = 1; // only SWAP for the last label in the stack is currently supported
 
         translate(config.getInSegment(), request);
-        translate(config.getOutSegment(), request, ctx);
+        translate(data.getOutSegment(), request, ctx);
 
         // default values based on inspecting VPP's CLI and make test code
         request.mrClassifyTableIndex = -1;
@@ -75,7 +75,7 @@ final class MplsSwapWriter implements LspWriter, Ipv4Translator, MplsInSegmentTr
                            @Nonnull final MappingContext ctx) {
         checkArgument(outSegment instanceof SimplePath, "Unsupported out-segment type: %s", outSegment);
         final SimplePath path = (SimplePath) outSegment;
-        final IpAddress nextHop = path.getNextHop();
+        final IpAddress nextHop = path.getSimplePath().getConfig().getNextHop();
         checkArgument(nextHop != null, "Configuring swap-and-forward, but next-hop is missing.");
 
         // TODO(HC2VPP-264): add support for mpls + v6
@@ -83,12 +83,12 @@ final class MplsSwapWriter implements LspWriter, Ipv4Translator, MplsInSegmentTr
         checkArgument(address != null, "Only IPv4 next-hop address is supported.");
         request.mrNextHop = ipv4AddressNoZoneToArray(address.getValue());
 
-        final MplsLabel outgoingLabel = path.getOutgoingLabel();
+        final MplsLabel outgoingLabel = path.getSimplePath().getConfig().getOutgoingLabel();
         checkArgument(outgoingLabel != null, "Configuring swap-and-forward, but outgoing-label is missing.");
         request.mrNextHopOutLabelStack = new FibMplsLabel[] {translate(outgoingLabel.getValue())};
         request.mrNextHopNOutLabels = 1;
 
-        final String outgoingInterface = path.getOutgoingInterface();
+        final String outgoingInterface = path.getSimplePath().getConfig().getOutgoingInterface();
         checkArgument(outgoingInterface != null, "Configuring swap-and-forward, but outgoing-interface is missing.");
         request.mrNextHopSwIfIndex = interfaceContext.getIndex(outgoingInterface, ctx);
     }
index d81d6fa..475a062 100644 (file)
@@ -27,12 +27,15 @@ import io.fd.honeycomb.translate.write.registry.ModifiableWriterRegistryBuilder;
 import io.fd.vpp.jvpp.core.future.FutureJVppCore;
 import javax.annotation.Nonnull;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.Interfaces;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310.Mpls1;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310._static.lsp.Config;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310._static.lsp_config.InSegment;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310._static.lsp_config.out.segment.path.list.Paths;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310.routing.mpls.StaticLsps;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310.routing.mpls._static.lsps.StaticLsp;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.Mpls1;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702._static.lsp.paths.out.segment.multiple.paths.paths.Path;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702._static.lsp.paths.out.segment.simple.path.SimplePath;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702._static.lsp.paths.out.segment.multiple.paths.Paths;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702._static.lsp.top.Config;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.in.segment.InSegment;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.path.outgoing.labels.OutgoingLabels;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.routing.mpls.StaticLsps;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.routing.mpls._static.lsps.StaticLsp;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls.rev170702.Routing1;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls.rev170702.interfaces.mpls.Interface;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls.rev170702.routing.Mpls;
@@ -80,10 +83,27 @@ final class MplsWriterFactory implements WriterFactory {
         // First enable MPLS on interface, then configure it:
         registry.subtreeAddAfter(
             ImmutableSet
-                .of(CONFIG_ID, InstanceIdentifier.create(StaticLsp.class).child(Config.class).child(InSegment.class),
-                    InstanceIdentifier.create(StaticLsp.class).child(Config.class).child(Paths.class),
+                .of(CONFIG_ID,
+                    InstanceIdentifier.create(StaticLsp.class).child(Config.class).child(InSegment.class),
+                    InstanceIdentifier.create(StaticLsp.class)
+                        .child(Config.class)
+                        .child(InSegment.class)
+                        .child(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.in.segment.in.segment.Config.class),
                     InstanceIdentifier.create(StaticLsp.class).child(Config.class)
-                        .augmentation(StaticLspVppLookupAugmentation.class).child(LabelLookup.class)),
+                        .augmentation(StaticLspVppLookupAugmentation.class).child(LabelLookup.class),
+                    InstanceIdentifier.create(StaticLsp.class).child(Paths.class),
+                    InstanceIdentifier.create(StaticLsp.class).child(Paths.class).child(OutgoingLabels.class),
+                    InstanceIdentifier.create(StaticLsp.class).child(Paths.class).child(OutgoingLabels.class)
+                        .child(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.path.outgoing.labels.outgoing.labels.OutgoingLabels.class),
+                    InstanceIdentifier.create(StaticLsp.class).child(Paths.class).child(OutgoingLabels.class)
+                        .child(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.path.outgoing.labels.outgoing.labels.OutgoingLabels.class)
+                        .child(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.path.outgoing.labels.outgoing.labels.outgoing.labels.Config.class),
+                    InstanceIdentifier.create(StaticLsp.class).child(Paths.class).child(Path.class),
+                    InstanceIdentifier.create(StaticLsp.class).child(Paths.class).child(Path.class)
+                        .child(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702._static.lsp.paths.out.segment.multiple.paths.paths.path.Config.class),
+                    InstanceIdentifier.create(StaticLsp.class).child(SimplePath.class),
+                    InstanceIdentifier.create(StaticLsp.class).child(SimplePath.class)
+                        .child(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702._static.lsp.paths.out.segment.simple.path.simple.path.Config.class)),
             new GenericWriter<>(STATIC_LSP_ID, new StaticLspCustomizer(vppApi, ifcContext)),
             INTERFACE_ID);
     }
index 6aab1ed..b97a369 100644 (file)
@@ -18,9 +18,9 @@ package io.fd.hc2vpp.mpls;
 
 import static com.google.common.base.Preconditions.checkArgument;
 import static com.google.common.base.Preconditions.checkNotNull;
-import static org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310.StaticLspConfig.Operation.ImposeAndForward;
-import static org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310.StaticLspConfig.Operation.PopAndLookup;
-import static org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310.StaticLspConfig.Operation.SwapAndForward;
+import static org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.MplsOperationsType.ImposeAndForward;
+import static org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.MplsOperationsType.PopAndLookup;
+import static org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.MplsOperationsType.SwapAndForward;
 
 import io.fd.hc2vpp.common.translate.util.NamingContext;
 import io.fd.honeycomb.translate.MappingContext;
@@ -29,10 +29,11 @@ import io.fd.honeycomb.translate.write.WriteContext;
 import io.fd.honeycomb.translate.write.WriteFailedException;
 import io.fd.vpp.jvpp.core.future.FutureJVppCore;
 import javax.annotation.Nonnull;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310.StaticLspConfig;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310._static.lsp.Config;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310.routing.mpls._static.lsps.StaticLsp;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310.routing.mpls._static.lsps.StaticLspKey;
+
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.MplsOperationsType;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702._static.lsp.top.Config;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.routing.mpls._static.lsps.StaticLsp;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.routing.mpls._static.lsps.StaticLspKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.mpls.rev171120.LookupType;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.mpls.rev171120.StaticLspVppLookupAugmentation;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.mpls.rev171120.VppLabelLookupAttributes;
@@ -41,7 +42,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
- * Selects specific {@link LspWriter} based on {@link StaticLspConfig.Operation} and {@link LookupType}.
+ * Selects specific {@link LspWriter} based on {@link MplsOperationsType} and {@link LookupType}.
  */
 final class StaticLspCustomizer implements ListWriterCustomizer<StaticLsp, StaticLspKey>, LspWriter {
     private static final Logger LOG = LoggerFactory.getLogger(StaticLspCustomizer.class);
@@ -93,7 +94,7 @@ final class StaticLspCustomizer implements ListWriterCustomizer<StaticLsp, Stati
                       @Nonnull final MappingContext ctx, final boolean isAdd) throws WriteFailedException {
         final Config config = data.getConfig();
         checkArgument(config != null, "Config node of static-lsp is missing.");
-        final StaticLspConfig.Operation operation = config.getOperation();
+        final MplsOperationsType operation = config.getOperation();
         if (ImposeAndForward.equals(operation)) {
             imposeAndForward.write(id, data, ctx, isAdd);
         } else if (PopAndLookup.equals(operation)) {
index ca687b5..12312af 100644 (file)
@@ -36,18 +36,20 @@ import org.junit.Test;
 import org.mockito.Mock;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddressBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310.Mpls1;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310.StaticLspConfig;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310._static.lsp.ConfigBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310._static.lsp_config.InSegmentBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310._static.lsp_config.in.segment.type.IpPrefixBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310._static.lsp_config.out.segment.PathListBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310._static.lsp_config.out.segment.SimplePathBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310._static.lsp_config.out.segment.path.list.PathsBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310.routing.mpls.StaticLsps;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310.routing.mpls._static.lsps.StaticLsp;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310.routing.mpls._static.lsps.StaticLspBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310.routing.mpls._static.lsps.StaticLspKey;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.Mpls1;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.MplsOperationsType;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702._static.lsp.paths.out.segment.MultiplePathsBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702._static.lsp.paths.out.segment.multiple.paths.PathsBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702._static.lsp.paths.out.segment.multiple.paths.paths.PathBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702._static.lsp.paths.out.segment.simple.path.SimplePathBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702._static.lsp.top.ConfigBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.in.segment.InSegmentBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.in.segment_config.type.IpPrefixBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.path.outgoing.labels.OutgoingLabelsBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.routing.mpls.StaticLsps;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.routing.mpls._static.lsps.StaticLsp;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.routing.mpls._static.lsps.StaticLspBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.routing.mpls._static.lsps.StaticLspKey;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls.rev170702.Routing1;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls.rev170702.routing.Mpls;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.routing.rev180313.Routing;
@@ -73,44 +75,76 @@ public class ImposeAndForwardTest extends WriterCustomizerTest implements ByteDa
     private static StaticLsp getSimpleLsp(final long label) {
         return getSimpleLsp(label, IpAddressBuilder.getDefaultInstance("5.6.7.8"));
     }
-    private static StaticLsp getSimpleLsp(final long label,
-                                          final IpAddress nextHop) {
-        return new StaticLspBuilder()
-            .setName(LSP_NAME)
-            .setConfig(new ConfigBuilder()
-                .setInSegment(new InSegmentBuilder()
-                    .setType(new IpPrefixBuilder().setIpPrefix(getDefaultInstance("1.2.3.4/24"))
-                        .build())
-                    .build()
-                )
-                .setOperation(StaticLspConfig.Operation.ImposeAndForward)
-                .setOutSegment(new SimplePathBuilder()
-                    .setNextHop(nextHop)
-                    .setOutgoingInterface(IF_NAME)
-                    .setOutgoingLabel(new MplsLabel(label))
+
+    private static StaticLsp getSimpleLsp(final long label, final IpAddress nextHop) {
+        return new StaticLspBuilder().setName(LSP_NAME)
+            .setConfig(new ConfigBuilder().setInSegment(new InSegmentBuilder().setConfig(
+                new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.in.segment.in.segment.ConfigBuilder()
+                    .setType(new IpPrefixBuilder().setIpPrefix(getDefaultInstance("1.2.3.4/24")).build())
+                    .build())
+                                                            .build())
+                           .setOperation(MplsOperationsType.ImposeAndForward)
+                           .build())
+            .setOutSegment(
+                new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702._static.lsp.paths.out.segment.SimplePathBuilder()
+                    .setSimplePath(new SimplePathBuilder().setConfig(
+                        new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702._static.lsp.paths.out.segment.simple.path.simple.path.ConfigBuilder()
+                            .setNextHop(nextHop)
+                            .setOutgoingInterface(IF_NAME)
+                            .setOutgoingLabel(new MplsLabel(label))
+                            .build()).build())
                     .build())
-                .build())
             .build();
     }
 
     private static StaticLsp getComplexLsp() {
-        return new StaticLspBuilder()
-            .setName(LSP_NAME)
-            .setConfig(new ConfigBuilder()
-                .setInSegment(new InSegmentBuilder()
-                    .setType(new IpPrefixBuilder().setIpPrefix(getDefaultInstance("10.10.24.0/24"))
+        return new StaticLspBuilder().setName(LSP_NAME)
+            .setConfig(
+                new ConfigBuilder()
+                    .setInSegment(
+                        new InSegmentBuilder()
+                            .setConfig(
+                                new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.in.segment.in.segment.ConfigBuilder()
+                                    .setType(
+                                        new IpPrefixBuilder()
+                                            .setIpPrefix(getDefaultInstance("10.10.24.0/24"))
+                                            .build())
+                                    .build())
+                            .build())
+                    .setOperation(MplsOperationsType.ImposeAndForward)
+                    .build())
+            .setOutSegment(
+                new MultiplePathsBuilder()
+                    .setPaths(
+                        new PathsBuilder()
+                            .setPath(
+                                Collections.singletonList(new PathBuilder()
+                                                              .setConfig(
+                                                                  new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702._static.lsp.paths.out.segment.multiple.paths.paths.path.ConfigBuilder()
+                                                                      .setNextHop(
+                                                                          IpAddressBuilder
+                                                                              .getDefaultInstance("10.10.12.2"))
+                                                                      .setOutgoingInterface(IF_NAME)
+
+                                                                      .build()).build()))
+                            .setOutgoingLabels(
+                                new OutgoingLabelsBuilder()
+                                    .setOutgoingLabels(Arrays.asList(
+                                        new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.path.outgoing.labels.outgoing.labels.OutgoingLabelsBuilder()
+                                            .setIndex((short) 0)
+                                            .setConfig(new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.path.outgoing.labels.outgoing.labels.outgoing.labels.ConfigBuilder()
+                                                           .setLabel(new MplsLabel(102L))
+                                                           .build())
+                                            .build(),
+                                        new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.path.outgoing.labels.outgoing.labels.OutgoingLabelsBuilder()
+                                            .setIndex((short) 1)
+                                            .setConfig(new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.path.outgoing.labels.outgoing.labels.outgoing.labels.ConfigBuilder()
+                                                           .setLabel(new MplsLabel(104L))
+                                                           .build())
+                                            .build()))
+                                    .build())
                         .build())
-                    .build()
-                )
-                .setOperation(StaticLspConfig.Operation.ImposeAndForward)
-                .setOutSegment(new PathListBuilder()
-                    .setPaths(Collections.singletonList(new PathsBuilder()
-                        .setNextHop(IpAddressBuilder.getDefaultInstance("10.10.12.2"))
-                        .setOutgoingInterface(IF_NAME)
-                        .setOutgoingLabels(Arrays.asList(new MplsLabel(102L), new MplsLabel(104L)))
-                        .build()))
                     .build())
-                .build())
             .build();
     }
 
index 434f3b9..627c329 100644 (file)
@@ -30,15 +30,15 @@ import io.fd.vpp.jvpp.core.future.FutureJVppCoreFacade;
 import io.fd.vpp.jvpp.core.types.FibMplsLabel;
 import org.junit.Test;
 import org.mockito.Mock;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310.Mpls1;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310.StaticLspConfig;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310._static.lsp.ConfigBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310._static.lsp_config.InSegmentBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310._static.lsp_config.in.segment.type.MplsLabelBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310.routing.mpls.StaticLsps;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310.routing.mpls._static.lsps.StaticLsp;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310.routing.mpls._static.lsps.StaticLspBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310.routing.mpls._static.lsps.StaticLspKey;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.Mpls1;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.MplsOperationsType;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702._static.lsp.top.ConfigBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.in.segment.InSegmentBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.in.segment_config.type.MplsLabelBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.routing.mpls.StaticLsps;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.routing.mpls._static.lsps.StaticLsp;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.routing.mpls._static.lsps.StaticLspBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.routing.mpls._static.lsps.StaticLspKey;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls.rev170702.Routing1;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls.rev170702.routing.Mpls;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.routing.rev180313.Routing;
@@ -72,12 +72,18 @@ public class PopAndIpv4LookupTest extends WriterCustomizerTest implements ByteDa
         return new StaticLspBuilder()
             .setName(LSP_NAME)
             .setConfig(new ConfigBuilder()
-                .setInSegment(new InSegmentBuilder()
-                    .setType(new MplsLabelBuilder().setIncomingLabel(new MplsLabel((long) LOCAL_LABEL))
-                        .build())
+                .setInSegment(
+                    new InSegmentBuilder()
+                        .setConfig(
+                            new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.in.segment.in.segment.ConfigBuilder()
+                                .setType(new MplsLabelBuilder()
+                                             .setIncomingLabel(new MplsLabel((long) LOCAL_LABEL))
+                                             .build())
+                                .build())
+
                     .build()
                 )
-                .setOperation(StaticLspConfig.Operation.PopAndLookup)
+                .setOperation(MplsOperationsType.PopAndLookup)
                 .addAugmentation(StaticLspVppLookupAugmentation.class,
                     new StaticLspVppLookupAugmentationBuilder()
                         .setLabelLookup(new LabelLookupBuilder()
index a6bc343..ab06910 100644 (file)
@@ -30,15 +30,15 @@ import io.fd.vpp.jvpp.core.future.FutureJVppCoreFacade;
 import io.fd.vpp.jvpp.core.types.FibMplsLabel;
 import org.junit.Test;
 import org.mockito.Mock;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310.Mpls1;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310.StaticLspConfig;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310._static.lsp.ConfigBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310._static.lsp_config.InSegmentBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310._static.lsp_config.in.segment.type.MplsLabelBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310.routing.mpls.StaticLsps;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310.routing.mpls._static.lsps.StaticLsp;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310.routing.mpls._static.lsps.StaticLspBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310.routing.mpls._static.lsps.StaticLspKey;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.Mpls1;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.MplsOperationsType;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702._static.lsp.top.ConfigBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.in.segment.InSegmentBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.in.segment_config.type.MplsLabelBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.routing.mpls.StaticLsps;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.routing.mpls._static.lsps.StaticLsp;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.routing.mpls._static.lsps.StaticLspBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.routing.mpls._static.lsps.StaticLspKey;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls.rev170702.Routing1;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls.rev170702.routing.Mpls;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.routing.rev180313.Routing;
@@ -72,12 +72,16 @@ public class PopAndMplsLookupTest extends WriterCustomizerTest implements ByteDa
         return new StaticLspBuilder()
             .setName(LSP_NAME)
             .setConfig(new ConfigBuilder()
-                .setInSegment(new InSegmentBuilder()
-                    .setType(new MplsLabelBuilder().setIncomingLabel(new MplsLabel((long) LOCAL_LABEL))
+                .setInSegment(new InSegmentBuilder().setConfig(
+                    new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.in.segment.in.segment.ConfigBuilder()
+                        .setType(
+                            new MplsLabelBuilder()
+                                .setIncomingLabel(new MplsLabel((long) LOCAL_LABEL))
+                                .build())
                         .build())
                     .build()
                 )
-                .setOperation(StaticLspConfig.Operation.PopAndLookup)
+                .setOperation(MplsOperationsType.PopAndLookup)
                 .addAugmentation(StaticLspVppLookupAugmentation.class,
                     new StaticLspVppLookupAugmentationBuilder()
                         .setLabelLookup(new LabelLookupBuilder()
index 4a962dd..677bb09 100644 (file)
@@ -32,16 +32,16 @@ import io.fd.vpp.jvpp.core.types.FibMplsLabel;
 import org.junit.Test;
 import org.mockito.Mock;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddressBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310.Mpls1;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310.StaticLspConfig;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310._static.lsp.ConfigBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310._static.lsp_config.InSegmentBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310._static.lsp_config.in.segment.type.MplsLabelBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310._static.lsp_config.out.segment.SimplePathBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310.routing.mpls.StaticLsps;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310.routing.mpls._static.lsps.StaticLsp;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310.routing.mpls._static.lsps.StaticLspBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170310.routing.mpls._static.lsps.StaticLspKey;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.Mpls1;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.MplsOperationsType;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702._static.lsp.paths.out.segment.SimplePathBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702._static.lsp.top.ConfigBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.in.segment.InSegmentBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.in.segment_config.type.MplsLabelBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.routing.mpls.StaticLsps;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.routing.mpls._static.lsps.StaticLsp;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.routing.mpls._static.lsps.StaticLspBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.routing.mpls._static.lsps.StaticLspKey;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls.rev170702.Routing1;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls.rev170702.routing.Mpls;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.routing.rev180313.Routing;
@@ -73,18 +73,29 @@ public class SwapAndForwardTest extends WriterCustomizerTest implements ByteData
         return new StaticLspBuilder()
             .setName(LSP_NAME)
             .setConfig(new ConfigBuilder()
-                .setInSegment(new InSegmentBuilder()
-                    .setType(new MplsLabelBuilder().setIncomingLabel(new MplsLabel((long) LOCAL_LABEL))
-                        .build())
+                .setInSegment(
+                    new InSegmentBuilder()
+                        .setConfig(
+                            new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702.in.segment.in.segment.ConfigBuilder()
+                                .setType(new MplsLabelBuilder().setIncomingLabel(new MplsLabel((long) LOCAL_LABEL))
+                                             .build())
+                                .build())
                     .build()
                 )
-                .setOperation(StaticLspConfig.Operation.SwapAndForward)
-                .setOutSegment(new SimplePathBuilder()
-                    .setNextHop(IpAddressBuilder.getDefaultInstance("10.10.24.4"))
-                    .setOutgoingInterface(IF_NAME)
-                    .setOutgoingLabel(new MplsLabel((long) OUT_LABEL))
-                    .build())
+                .setOperation(MplsOperationsType.SwapAndForward)
                 .build())
+            .setOutSegment(
+                new SimplePathBuilder()
+                    .setSimplePath(
+                        new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702._static.lsp.paths.out.segment.simple.path.SimplePathBuilder()
+                            .setConfig(
+                                new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.mpls._static.rev170702._static.lsp.paths.out.segment.simple.path.simple.path.ConfigBuilder()
+                                    .setNextHop(IpAddressBuilder.getDefaultInstance("10.10.24.4"))
+                                    .setOutgoingInterface(IF_NAME)
+                                    .setOutgoingLabel(new MplsLabel((long) OUT_LABEL))
+                                    .build())
+                            .build())
+                    .build())
             .build();
     }
 
old mode 100644 (file)
new mode 100755 (executable)
index c40afd7..1bede63
 {
-       "id": "5e8b5d56-56c7-e7b4-452a-0da051658425",
-       "name": "Honeycomb MPLS calls",
-       "description": "",
-       "order": [
-               "e8d94648-0106-feaa-f436-1c0cd327d89c",
-               "94581eee-036d-dced-1495-1b5c8c35059d",
-               "14fedcfb-faf6-00f5-4673-c1074923b92e",
-               "22964c4c-3ba1-39fe-9a24-de6af2ca53a2",
-               "48779e1a-5a6d-9e76-c646-8f3eea9433d2",
-               "65f84720-3266-322f-9739-af804da451b7",
-               "15a16a52-17fe-f50a-a973-90947ef6c625",
-               "1b3c51b3-0675-61e3-6670-d8b7fcdd2884",
-               "6fcda03b-3efa-3ae9-a1a0-5fafef5732a0",
-               "11f04e55-6c1f-38ad-ed12-dab1f1c5df97",
-               "15f14fb1-a102-e482-814f-7c8afca13812",
-               "5a271f51-ab7e-c007-882b-d5e0a99da138",
-               "b98635ba-fc25-feb7-8281-1654a7639ebd",
-               "3e9ec3af-3d8b-6b1e-c193-22c702c3e81e",
-               "590a3bad-ecbc-7309-1357-50e678036e17",
-               "1297c446-dc5f-51b1-3368-9d64e48fff83",
-               "27b745d3-2fbe-0f02-d605-904f8188088f"
-       ],
-       "folders": [],
-       "timestamp": 1509091634177,
-       "owner": 0,
-       "public": false,
-       "requests": [
+       "info": {
+               "_postman_id": "a86a2f22-d753-4a4b-a1a4-ade4f9bbfb2f",
+               "name": "Honeycomb MPLS calls",
+               "schema": "https://schema.getpostman.com/json/collection/v2.0.0/collection.json"
+       },
+       "item": [
                {
-                       "id": "11f04e55-6c1f-38ad-ed12-dab1f1c5df97",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n",
-                       "url": "http://localhost:8183/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/static-lsp4",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "PUT",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511436906647,
-                       "name": "Swap label and forward",
-                       "description": "Corresponding CLI command:\n\nmpls local-label add eos 123 via 10.10.24.4 loop0 out-labels 123\n\n\nCan be verified via CLI using:\n\nshow mpls fib 123",
-                       "collectionId": "5e8b5d56-56c7-e7b4-452a-0da051658425",
-                       "responses": [],
-                       "rawModeData": "{\n  \"static-lsp\": [\n    {\n      \"name\": \"static-lsp4\",\n      \"config\": {\n        \"in-segment\": {\n          \"incoming-label\": 123\n        },\n        \"operation\": \"swap-and-forward\",\n        \"next-hop\": \"10.10.24.5\",\n        \"outgoing-label\": 123,\n        \"outgoing-interface\": \"loop0\"\n      }\n    }\n  ]\n}"
+                       "name": "Add loopback ifc ",
+                       "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\": \"loop0\",\r\n            \"description\": \"for testing purposes\",\r\n            \"type\": \"v3po:loopback\",\r\n            \"loopback\" :{\r\n                \"mac\" : \"00:ff:ff:ff:ff:ff\"\r\n            }\r\n        }\r\n    ]\r\n    \r\n}"
+                               },
+                               "url": "http://localhost:8183/restconf/config/ietf-interfaces:interfaces/interface/loop0",
+                               "description": "Corresponding CLI command:\n\ncreate loop interface"
+                       },
+                       "response": []
                },
                {
-                       "id": "1297c446-dc5f-51b1-3368-9d64e48fff83",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n",
-                       "url": "http://localhost:8183/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/static-lsp4",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "DELETE",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511430765571,
-                       "name": "Delete label swap FIB entry",
-                       "description": "Corresponding CLI command:\n\nmpls local-label del eos 123 via 10.10.24.4 loop0 out-labels 123\n\nCan be verified via CLI using:\n\nshow mpls fib",
-                       "collectionId": "5e8b5d56-56c7-e7b4-452a-0da051658425",
-                       "responses": [],
-                       "rawModeData": ""
+                       "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": "http://localhost:8183/restconf/config/ietf-interfaces:interfaces/"
+                       },
+                       "response": []
                },
                {
-                       "id": "14fedcfb-faf6-00f5-4673-c1074923b92e",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n",
-                       "url": "http://localhost:8183/restconf/operational/ietf-interfaces:interfaces-state/",
-                       "pathVariables": {},
-                       "preRequestScript": "",
-                       "method": "GET",
-                       "collectionId": "5e8b5d56-56c7-e7b4-452a-0da051658425",
-                       "data": [],
-                       "dataMode": "raw",
                        "name": "List ifcs - oper",
-                       "description": "",
-                       "descriptionFormat": "html",
-                       "time": 1509094553742,
-                       "version": 2,
-                       "responses": [],
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "rawModeData": "{\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}"
+                       "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": "http://localhost:8183/restconf/operational/ietf-interfaces:interfaces-state/"
+                       },
+                       "response": []
                },
                {
-                       "id": "15a16a52-17fe-f50a-a973-90947ef6c625",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n",
-                       "url": "http://localhost:8183/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/static-lsp1",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "PUT",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511436768230,
-                       "name": "Push two MPLS labels",
-                       "description": "Corresponding CLI command:\n\nip route add 10.10.24.0/24 via 10.10.12.2 loop1 out-labels 102 104\n\nCan be verified via CLI using:\n\nshow ip fib 10.10.24.0/24",
-                       "collectionId": "5e8b5d56-56c7-e7b4-452a-0da051658425",
-                       "responses": [],
-                       "rawModeData": "{\n  \"static-lsp\": [\n    {\n      \"name\": \"static-lsp1\",\n      \"config\": {\n        \"in-segment\": {\n          \"ip-prefix\": \"10.10.24.0/24\"\n        },\n        \"operation\": \"impose-and-forward\",\n        \"paths\": [\n          {\n            \"path-index\": 0,\n            \"next-hop\": \"10.10.12.2\",\n            \"outgoing-labels\": [\n              102,\n              104\n            ],\n            \"outgoing-interface\": \"loop0\"\n          }\n        ]\n      }\n    }\n  ]\n}"
+                       "name": "Enable mpls on loop0 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\": \"loop0\",\n      \"config\": {\n        \"enabled\": \"true\"\n      }\n    }\n  ]\n}"
+                               },
+                               "url": "http://localhost:8183/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/interface/loop0",
+                               "description": "Correspondig CLI command:\n\nset interface mpls loop0 enable"
+                       },
+                       "response": []
                },
                {
-                       "id": "15f14fb1-a102-e482-814f-7c8afca13812",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n",
-                       "url": "http://localhost:8183/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "GET",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1509715185345,
-                       "name": "Get static LSPs (cfg)",
-                       "description": "",
-                       "collectionId": "5e8b5d56-56c7-e7b4-452a-0da051658425",
-                       "responses": [],
-                       "rawModeData": ""
+                       "name": "Get mpls interfaces (cfg)",
+                       "request": {
+                               "method": "GET",
+                               "header": [
+                                       {
+                                               "key": "Authorization",
+                                               "value": "Basic YWRtaW46YWRtaW4="
+                                       },
+                                       {
+                                               "key": "Content-Type",
+                                               "value": "application/json"
+                                       }
+                               ],
+                               "body": {
+                                       "mode": "raw",
+                                       "raw": ""
+                               },
+                               "url": "http://localhost:8183/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls"
+                       },
+                       "response": []
                },
                {
-                       "id": "1b3c51b3-0675-61e3-6670-d8b7fcdd2884",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n",
-                       "url": "http://localhost:8183/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/static-lsp2",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "PUT",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511358690276,
-                       "name": "Pop label and MPLS lookup",
-                       "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",
-                       "collectionId": "5e8b5d56-56c7-e7b4-452a-0da051658425",
-                       "responses": [],
-                       "rawModeData": "{\n  \"static-lsp\": [\n    {\n      \"name\": \"static-lsp2\",\n      \"config\": {\n        \"in-segment\": {\n          \"incoming-label\": 102\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}"
+                       "name": "Push single MPLS label",
+                       "request": {
+                               "method": "PUT",
+                               "header": [
+                                       {
+                                               "key": "Authorization",
+                                               "value": "Basic YWRtaW46YWRtaW4="
+                                       },
+                                       {
+                                               "key": "Content-Type",
+                                               "value": "application/json"
+                                       }
+                               ],
+                               "body": {
+                                       "mode": "raw",
+                                       "raw": "{\n  \"static-lsp\": [{\n    \"name\": \"static-lsp0\",\n    \"config\": {\n      \"in-segment\": {\n        \"config\": {\n          \"ip-prefix\": \"10.10.34.0/24\"\n        }\n      },\n      \"operation\": \"impose-and-forward\"\n    },\n    \"simple-path\": {\n      \"config\": {\n        \"next-hop\": \"10.10.13.3\",\n        \"outgoing-label\": 111,\n        \"outgoing-interface\": \"loop0\"\n      }\n    }\n  }]\n}"
+                               },
+                               "url": "http://localhost:8183/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/static-lsp0",
+                               "description": "Corresponding CLI command:\n\nip route add 10.10.34.0/24 via 10.10.13.3 loop0 out-labels 111\n\nCan be verified via CLI using:\n\nshow ip fib 10.10.34.0/24"
+                       },
+                       "response": []
                },
                {
-                       "id": "22964c4c-3ba1-39fe-9a24-de6af2ca53a2",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n",
-                       "url": "http://localhost:8183/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/interface/loop0",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "PUT",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511172459957,
-                       "name": "Enable mpls on loop0 interface",
-                       "description": "Correspondig CLI command:\n\nset interface mpls loop0 enable",
-                       "collectionId": "5e8b5d56-56c7-e7b4-452a-0da051658425",
-                       "responses": [],
-                       "rawModeData": "{\n  \"interface\": [\n    {\n      \"name\": \"loop0\",\n      \"config\": {\n        \"enabled\": \"true\"\n      }\n    }\n  ]\n}"
+                       "name": "Push two MPLS labels",
+                       "request": {
+                               "method": "PUT",
+                               "header": [
+                                       {
+                                               "key": "Authorization",
+                                               "value": "Basic YWRtaW46YWRtaW4="
+                                       },
+                                       {
+                                               "key": "Content-Type",
+                                               "value": "application/json"
+                                       }
+                               ],
+                               "body": {
+                                       "mode": "raw",
+                                       "raw": "{\r\n  \"static-lsp\": [{\r\n    \"name\": \"static-lsp1\",\r\n    \"config\": {\r\n      \"in-segment\": {\r\n        \"config\": {\r\n          \"ip-prefix\": \"10.10.24.0/24\"\r\n        }\r\n      },\r\n      \"operation\": \"impose-and-forward\"\r\n    },\r\n    \"paths\": {\r\n      \"path\": [{\r\n        \"path-index\": 0,\r\n        \"config\" : {\r\n          \"path-index\": 0,\r\n          \"next-hop\": \"10.10.12.2\",\r\n          \"outgoing-interface\": \"loop0\"  \r\n        }\r\n      }],\r\n      \"outgoing-labels\": {\r\n        \"outgoing-labels\": [\r\n          {\r\n            \"index\": 0,\r\n            \"config\": {\r\n              \"index\": 0,\r\n              \"label\": 102\r\n            }\r\n          },\r\n          {\r\n            \"index\": 1,\r\n            \"config\": {\r\n              \"index\": 1,\r\n              \"label\": 104\r\n            }\r\n          }\r\n          ]\r\n      }\r\n    }\r\n  }]\r\n}"
+                               },
+                               "url": "http://localhost:8183/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/static-lsp1",
+                               "description": "Corresponding CLI command:\n\nip route add 10.10.24.0/24 via 10.10.12.2 loop1 out-labels 102 104\n\nCan be verified via CLI using:\n\nshow ip fib 10.10.24.0/24"
+                       },
+                       "response": []
                },
                {
-                       "id": "27b745d3-2fbe-0f02-d605-904f8188088f",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n",
-                       "url": "http://localhost:8183/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/interface/loop0",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "DELETE",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511172494988,
-                       "name": "Disable mpls on loop0 interface",
-                       "description": "Correspondig CLI command:\n\nset interface mpls loop0 disable",
-                       "collectionId": "5e8b5d56-56c7-e7b4-452a-0da051658425",
-                       "responses": [],
-                       "rawModeData": ""
+                       "name": "Pop label 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    \"name\": \"static-lsp2\",\n    \"config\": {\n      \"in-segment\": {\n        \"config\": {\n          \"incoming-label\": 102\n        }\n      },\n      \"operation\": \"pop-and-lookup\",\n      \"vpp-mpls:label-lookup\": {\n        \"type\": \"mpls\",\n        \"mpls-lookup-in-table\": 0\n      }\n    }\n  }]\n}"
+                               },
+                               "url": "http://localhost:8183/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/static-lsp2",
+                               "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": []
                },
                {
-                       "id": "3e9ec3af-3d8b-6b1e-c193-22c702c3e81e",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n",
-                       "url": "http://localhost:8183/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/static-lsp2",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "DELETE",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511436719275,
-                       "name": "Delete label pop and MPLS lookup FIB entry",
-                       "description": "Corresponding CLI command:\n\nmpls local-label del non-eos 102 mpls-lookup-in-table 0\n\nCan be verified via CLI using:\n\nshow mpls fib",
-                       "collectionId": "5e8b5d56-56c7-e7b4-452a-0da051658425",
-                       "responses": [],
-                       "rawModeData": ""
+                       "name": "Pop label 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    \"name\": \"static-lsp3\",\n    \"config\": {\n      \"in-segment\": {\n        \"config\": {\n          \"incoming-label\": 104\n        }\n      },\n      \"operation\": \"pop-and-lookup\",\n      \"vpp-mpls:label-lookup\": {\n        \"type\": \"ipv4\",\n        \"ip4-lookup-in-table\": 0\n      }\n    }\n  }]\n}"
+                               },
+                               "url": "http://localhost:8183/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/static-lsp3",
+                               "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": []
                },
                {
-                       "id": "48779e1a-5a6d-9e76-c646-8f3eea9433d2",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n",
-                       "url": "http://localhost:8183/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "GET",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1509715030301,
-                       "name": "Get mpls interfaces (cfg)",
-                       "description": "",
-                       "collectionId": "5e8b5d56-56c7-e7b4-452a-0da051658425",
-                       "responses": [],
-                       "rawModeData": ""
+                       "name": "Swap label and forward",
+                       "request": {
+                               "method": "PUT",
+                               "header": [
+                                       {
+                                               "key": "Authorization",
+                                               "value": "Basic YWRtaW46YWRtaW4="
+                                       },
+                                       {
+                                               "key": "Content-Type",
+                                               "value": "application/json"
+                                       }
+                               ],
+                               "body": {
+                                       "mode": "raw",
+                                       "raw": "{\n  \"static-lsp\": [{\n    \"name\": \"static-lsp4\",\n    \"config\": {\n      \"in-segment\": {\n        \"config\": {\n          \"incoming-label\": 123\n        }\n      },\n      \"operation\": \"swap-and-forward\"\n    },\n    \"simple-path\": {\n      \"config\": {\n        \"next-hop\": \"10.10.24.5\",\n        \"outgoing-label\": 123,\n        \"outgoing-interface\": \"loop0\"\n      }\n    }\n  }]\n}"
+                               },
+                               "url": "http://localhost:8183/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/static-lsp4",
+                               "description": "Corresponding CLI command:\n\nmpls local-label add eos 123 via 10.10.24.4 loop0 out-labels 123\n\n\nCan be verified via CLI using:\n\nshow mpls fib 123"
+                       },
+                       "response": []
                },
                {
-                       "id": "590a3bad-ecbc-7309-1357-50e678036e17",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n",
-                       "url": "http://localhost:8183/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/static-lsp3",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "DELETE",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511437151063,
-                       "name": "Delete label pop and IPv4 lookup FIB entry",
-                       "description": "Corresponding CLI command:\n\nmpls local-label del eos 104 ip4-lookup-in-table 0\n\nCan be verified via CLI using:\n\nshow mpls fib",
-                       "collectionId": "5e8b5d56-56c7-e7b4-452a-0da051658425",
-                       "responses": [],
-                       "rawModeData": ""
+                       "name": "Get static LSPs (cfg)",
+                       "request": {
+                               "method": "GET",
+                               "header": [
+                                       {
+                                               "key": "Authorization",
+                                               "value": "Basic YWRtaW46YWRtaW4="
+                                       },
+                                       {
+                                               "key": "Content-Type",
+                                               "value": "application/json"
+                                       }
+                               ],
+                               "body": {
+                                       "mode": "raw",
+                                       "raw": ""
+                               },
+                               "url": "http://localhost:8183/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/"
+                       },
+                       "response": []
                },
                {
-                       "id": "5a271f51-ab7e-c007-882b-d5e0a99da138",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n",
-                       "url": "http://localhost:8183/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/static-lsp0",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "DELETE",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511172422196,
                        "name": "Delete single MPLS label push FIB entry",
-                       "description": "Corresponding CLI command:\n\nip route del 10.10.34.0/24 via 10.10.13.3 loop0 out-labels 111\n\nCan be verified via CLI using:\n\nshow ip fib",
-                       "collectionId": "5e8b5d56-56c7-e7b4-452a-0da051658425",
-                       "responses": [],
-                       "rawModeData": ""
+                       "request": {
+                               "method": "DELETE",
+                               "header": [
+                                       {
+                                               "key": "Authorization",
+                                               "value": "Basic YWRtaW46YWRtaW4="
+                                       },
+                                       {
+                                               "key": "Content-Type",
+                                               "value": "application/json"
+                                       }
+                               ],
+                               "body": {
+                                       "mode": "raw",
+                                       "raw": ""
+                               },
+                               "url": "http://localhost:8183/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/static-lsp0",
+                               "description": "Corresponding CLI command:\n\nip route del 10.10.34.0/24 via 10.10.13.3 loop0 out-labels 111\n\nCan be verified via CLI using:\n\nshow ip fib"
+                       },
+                       "response": []
                },
                {
-                       "id": "65f84720-3266-322f-9739-af804da451b7",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n",
-                       "url": "http://localhost:8183/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/static-lsp0",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "PUT",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511436775238,
-                       "name": "Push single MPLS label",
-                       "description": "Corresponding CLI command:\n\nip route add 10.10.34.0/24 via 10.10.13.3 loop0 out-labels 111\n\nCan be verified via CLI using:\n\nshow ip fib 10.10.34.0/24",
-                       "collectionId": "5e8b5d56-56c7-e7b4-452a-0da051658425",
-                       "responses": [],
-                       "rawModeData": "{\n  \"static-lsp\": [\n    {\n      \"name\": \"static-lsp0\",\n      \"config\": {\n        \"in-segment\": {\n          \"ip-prefix\": \"10.10.34.0/24\"\n        },\n        \"operation\": \"impose-and-forward\",\n        \"next-hop\": \"10.10.13.3\",\n        \"outgoing-label\": 111,\n        \"outgoing-interface\": \"loop0\"\n      }\n    }\n  ]\n}"
+                       "name": "Delete FIB entry that pushes two MPLS labels",
+                       "request": {
+                               "method": "DELETE",
+                               "header": [
+                                       {
+                                               "key": "Authorization",
+                                               "value": "Basic YWRtaW46YWRtaW4="
+                                       },
+                                       {
+                                               "key": "Content-Type",
+                                               "value": "application/json"
+                                       }
+                               ],
+                               "body": {
+                                       "mode": "raw",
+                                       "raw": ""
+                               },
+                               "url": "http://localhost:8183/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/static-lsp1",
+                               "description": "Corresponding CLI command:\n\nip route add 10.10.24.0/24 via 10.10.12.2 loop1 out-labels 102 104\n\nCan be verified via CLI using:\n\nshow ip fib"
+                       },
+                       "response": []
                },
                {
-                       "id": "6fcda03b-3efa-3ae9-a1a0-5fafef5732a0",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n",
-                       "url": "http://localhost:8183/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/static-lsp3",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "PUT",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511360517399,
-                       "name": "Pop label and IPv4 lookup",
-                       "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",
-                       "collectionId": "5e8b5d56-56c7-e7b4-452a-0da051658425",
-                       "responses": [],
-                       "rawModeData": "{\n  \"static-lsp\": [\n    {\n      \"name\": \"static-lsp3\",\n      \"config\": {\n        \"in-segment\": {\n          \"incoming-label\": 104\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}"
+                       "name": "Delete label pop and MPLS lookup FIB entry",
+                       "request": {
+                               "method": "DELETE",
+                               "header": [
+                                       {
+                                               "key": "Authorization",
+                                               "value": "Basic YWRtaW46YWRtaW4="
+                                       },
+                                       {
+                                               "key": "Content-Type",
+                                               "value": "application/json"
+                                       }
+                               ],
+                               "body": {
+                                       "mode": "raw",
+                                       "raw": ""
+                               },
+                               "url": "http://localhost:8183/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/static-lsp2",
+                               "description": "Corresponding CLI command:\n\nmpls local-label del non-eos 102 mpls-lookup-in-table 0\n\nCan be verified via CLI using:\n\nshow mpls fib"
+                       },
+                       "response": []
                },
                {
-                       "id": "94581eee-036d-dced-1495-1b5c8c35059d",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n",
-                       "url": "http://localhost:8183/restconf/config/ietf-interfaces:interfaces/",
-                       "pathVariables": {},
-                       "preRequestScript": "",
-                       "method": "GET",
-                       "collectionId": "5e8b5d56-56c7-e7b4-452a-0da051658425",
-                       "data": [],
-                       "dataMode": "raw",
-                       "name": "List ifcs - cfg",
-                       "description": "",
-                       "descriptionFormat": "html",
-                       "time": 1509094536608,
-                       "version": 2,
-                       "responses": [],
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "rawModeData": "{\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}"
+                       "name": "Delete label pop and IPv4 lookup FIB entry",
+                       "request": {
+                               "method": "DELETE",
+                               "header": [
+                                       {
+                                               "key": "Authorization",
+                                               "value": "Basic YWRtaW46YWRtaW4="
+                                       },
+                                       {
+                                               "key": "Content-Type",
+                                               "value": "application/json"
+                                       }
+                               ],
+                               "body": {
+                                       "mode": "raw",
+                                       "raw": ""
+                               },
+                               "url": "http://localhost:8183/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/static-lsp3",
+                               "description": "Corresponding CLI command:\n\nmpls local-label del eos 104 ip4-lookup-in-table 0\n\nCan be verified via CLI using:\n\nshow mpls fib"
+                       },
+                       "response": []
                },
                {
-                       "id": "b98635ba-fc25-feb7-8281-1654a7639ebd",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n",
-                       "url": "http://localhost:8183/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/static-lsp1",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "DELETE",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511172427485,
-                       "name": "Delete FIB entry that pushes two MPLS labels",
-                       "description": "Corresponding CLI command:\n\nip route add 10.10.24.0/24 via 10.10.12.2 loop1 out-labels 102 104\n\nCan be verified via CLI using:\n\nshow ip fib",
-                       "collectionId": "5e8b5d56-56c7-e7b4-452a-0da051658425",
-                       "responses": [],
-                       "rawModeData": ""
+                       "name": "Delete label swap FIB entry",
+                       "request": {
+                               "method": "DELETE",
+                               "header": [
+                                       {
+                                               "key": "Authorization",
+                                               "value": "Basic YWRtaW46YWRtaW4="
+                                       },
+                                       {
+                                               "key": "Content-Type",
+                                               "value": "application/json"
+                                       }
+                               ],
+                               "body": {
+                                       "mode": "raw",
+                                       "raw": ""
+                               },
+                               "url": "http://localhost:8183/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/static-lsp4",
+                               "description": "Corresponding CLI command:\n\nmpls local-label del eos 123 via 10.10.24.4 loop0 out-labels 123\n\nCan be verified via CLI using:\n\nshow mpls fib"
+                       },
+                       "response": []
                },
                {
-                       "id": "e8d94648-0106-feaa-f436-1c0cd327d89c",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n",
-                       "url": "http://localhost:8183/restconf/config/ietf-interfaces:interfaces/interface/loop0",
-                       "preRequestScript": "",
-                       "pathVariables": {},
-                       "method": "PUT",
-                       "data": [],
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "currentHelper": "normal",
-                       "helperAttributes": {},
-                       "time": 1511172015125,
-                       "name": "Add loopback ifc ",
-                       "description": "Corresponding CLI command:\n\ncreate loop interface",
-                       "collectionId": "5e8b5d56-56c7-e7b4-452a-0da051658425",
-                       "responses": [],
-                       "rawModeData": "{\r\n    \r\n    \"interface\": [\r\n        {\r\n            \"name\": \"loop0\",\r\n            \"description\": \"for testing purposes\",\r\n            \"type\": \"v3po:loopback\",\r\n            \"loopback\" :{\r\n                \"mac\" : \"00:ff:ff:ff:ff:ff\"\r\n            }\r\n        }\r\n    ]\r\n    \r\n}"
+                       "name": "Disable mpls on loop0 interface",
+                       "request": {
+                               "method": "DELETE",
+                               "header": [
+                                       {
+                                               "key": "Authorization",
+                                               "value": "Basic YWRtaW46YWRtaW4="
+                                       },
+                                       {
+                                               "key": "Content-Type",
+                                               "value": "application/json"
+                                       }
+                               ],
+                               "body": {
+                                       "mode": "raw",
+                                       "raw": ""
+                               },
+                               "url": "http://localhost:8183/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/interface/loop0",
+                               "description": "Correspondig CLI command:\n\nset interface mpls loop0 disable"
+                       },
+                       "response": []
                }
        ]
 }
\ No newline at end of file