{ "info": { "_postman_id": "fb857a99-6ac3-41e4-8a0d-2dd8cc508661", "name": "Honeycomb SR MPLS", "description": "Examples of configuring some basic MPLS SR scenariou using hc2vpp", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" }, "item": [ { "name": "vpp3", "description": null, "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": { "raw": "https://172.17.0.4:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/interface/host-veth341", "protocol": "https", "host": [ "172", "17", "0", "4" ], "port": "8445", "path": [ "restconf", "config", "hc2vpp-ietf-routing:routing", "hc2vpp-ietf-mpls:mpls", "interface", "host-veth341" ] }, "description": "Correspondig CLI command:\n\nset interface mpls host-veth341 enable" }, "response": [] }, { "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": { "raw": "https://172.17.0.4:8445/restconf/config/ietf-interfaces:interfaces/", "protocol": "https", "host": [ "172", "17", "0", "4" ], "port": "8445", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "" ] } }, "response": [] }, { "name": "Get mpls (cfg)", "request": { "method": "GET", "header": [ { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "https://172.17.0.4:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls", "protocol": "https", "host": [ "172", "17", "0", "4" ], "port": "8445", "path": [ "restconf", "config", "hc2vpp-ietf-routing:routing", "hc2vpp-ietf-mpls:mpls" ] } }, "response": [] }, { "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": { "raw": "https://172.17.0.4:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/interface/host-veth342", "protocol": "https", "host": [ "172", "17", "0", "4" ], "port": "8445", "path": [ "restconf", "config", "hc2vpp-ietf-routing:routing", "hc2vpp-ietf-mpls:mpls", "interface", "host-veth342" ] }, "description": "Correspondig CLI command:\n\nset interface mpls host-veth342 enable" }, "response": [] }, { "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": { "raw": "https://172.17.0.4:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/interface/host-veth31", "protocol": "https", "host": [ "172", "17", "0", "4" ], "port": "8445", "path": [ "restconf", "config", "hc2vpp-ietf-routing:routing", "hc2vpp-ietf-mpls:mpls", "interface", "host-veth31" ] }, "description": "Correspondig CLI command:\n\nset interface mpls host-veth31 enable" }, "response": [] }, { "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": { "raw": "https://172.17.0.4:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/lsp1", "protocol": "https", "host": [ "172", "17", "0", "4" ], "port": "8445", "path": [ "restconf", "config", "hc2vpp-ietf-routing:routing", "hc2vpp-ietf-mpls:mpls", "hc2vpp-ietf-mpls-static:static-lsps", "static-lsp", "lsp1" ] }, "description": "Corresponding CLI command:\n\nmpls local-label add non-eos 103 mpls-lookup-in-table 0\n\n\nCan be verified via CLI using:\n\nshow mpls fib 103" }, "response": [] }, { "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": { "raw": "https://172.17.0.4:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/lsp2", "protocol": "https", "host": [ "172", "17", "0", "4" ], "port": "8445", "path": [ "restconf", "config", "hc2vpp-ietf-routing:routing", "hc2vpp-ietf-mpls:mpls", "hc2vpp-ietf-mpls-static:static-lsps", "static-lsp", "lsp2" ] }, "description": "Corresponding CLI command:\n\nmpls local-label add eos 104 via 10.34.1.4 host-veth341 out-labels 104\n\n\nCan be verified via CLI using:\n\nshow mpls fib 104" }, "response": [] }, { "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": { "raw": "https://172.17.0.4:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/lsp3", "protocol": "https", "host": [ "172", "17", "0", "4" ], "port": "8445", "path": [ "restconf", "config", "hc2vpp-ietf-routing:routing", "hc2vpp-ietf-mpls:mpls", "hc2vpp-ietf-mpls-static:static-lsps", "static-lsp", "lsp3" ] }, "description": "Corresponding CLI command:\n\nmpls local-label add eos 104 via 10.34.2.4 host-veth342 out-labels 104\n\n\nCan be verified via CLI using:\n\nshow mpls fib 104" }, "response": [] }, { "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": { "raw": "https://172.17.0.4:8445/restconf/operational/ietf-interfaces:interfaces-state/", "protocol": "https", "host": [ "172", "17", "0", "4" ], "port": "8445", "path": [ "restconf", "operational", "ietf-interfaces:interfaces-state", "" ] } }, "response": [] }, { "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": { "raw": "https://172.17.0.4:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/lsp4", "protocol": "https", "host": [ "172", "17", "0", "4" ], "port": "8445", "path": [ "restconf", "config", "hc2vpp-ietf-routing:routing", "hc2vpp-ietf-mpls:mpls", "hc2vpp-ietf-mpls-static:static-lsps", "static-lsp", "lsp4" ] }, "description": "Corresponding CLI command:\n\nmpls local-label add eos 10341 via 10.34.1.4 host-veth341 out-labels 104\n\n\nCan be verified via CLI using:\n\nshow mpls fib 10341" }, "response": [] }, { "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": { "raw": "https://172.17.0.4:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/lsp5", "protocol": "https", "host": [ "172", "17", "0", "4" ], "port": "8445", "path": [ "restconf", "config", "hc2vpp-ietf-routing:routing", "hc2vpp-ietf-mpls:mpls", "hc2vpp-ietf-mpls-static:static-lsps", "static-lsp", "lsp5" ] }, "description": "Corresponding CLI command:\n\nmpls local-label add eos 10342 via 10.34.2.4 host-veth342 out-labels 104\n\n\nCan be verified via CLI using:\n\nshow mpls fib 10342" }, "response": [] } ] }, { "name": "vpp4", "description": null, "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": { "raw": "https://172.17.0.5:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/interface/host-veth431", "protocol": "https", "host": [ "172", "17", "0", "5" ], "port": "8445", "path": [ "restconf", "config", "hc2vpp-ietf-routing:routing", "hc2vpp-ietf-mpls:mpls", "interface", "host-veth431" ] }, "description": "Correspondig CLI command:\n\nset interface mpls host-veth431 enable" }, "response": [] }, { "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": { "raw": "https://172.17.0.5:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/interface/host-veth432", "protocol": "https", "host": [ "172", "17", "0", "5" ], "port": "8445", "path": [ "restconf", "config", "hc2vpp-ietf-routing:routing", "hc2vpp-ietf-mpls:mpls", "interface", "host-veth432" ] }, "description": "Correspondig CLI command:\n\nset interface mpls host-veth432 enable" }, "response": [] }, { "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": { "raw": "https://172.17.0.5:8445/restconf/config/hc2vpp-ietf-routing:routing/control-plane-protocols/control-plane-protocol/hc2vpp-ietf-routing:static/learned-protocol-0", "protocol": "https", "host": [ "172", "17", "0", "5" ], "port": "8445", "path": [ "restconf", "config", "hc2vpp-ietf-routing:routing", "control-plane-protocols", "control-plane-protocol", "hc2vpp-ietf-routing:static", "learned-protocol-0" ] }, "description": "Hc2vpp by default stores it under learned-protocol-0" }, "response": [] }, { "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": { "raw": "https://172.17.0.5:8445/restconf/config/hc2vpp-ietf-routing:routing/control-plane-protocols/control-plane-protocol/hc2vpp-ietf-routing:static/learned-protocol-0/static-routes/ipv4/route/10.13.1.0%2f24", "protocol": "https", "host": [ "172", "17", "0", "5" ], "port": "8445", "path": [ "restconf", "config", "hc2vpp-ietf-routing:routing", "control-plane-protocols", "control-plane-protocol", "hc2vpp-ietf-routing:static", "learned-protocol-0", "static-routes", "ipv4", "route", "10.13.1.0%2f24" ] }, "description": "Send reverse traffic using IP.\n\nCorresponding CLI command:\n\nip route add 10.13.1.0/24 via 10.34.2.3 host-veth432" }, "response": [] }, { "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": { "raw": "https://172.17.0.5:8445/restconf/operational/ietf-interfaces:interfaces-state/", "protocol": "https", "host": [ "172", "17", "0", "5" ], "port": "8445", "path": [ "restconf", "operational", "ietf-interfaces:interfaces-state", "" ] } }, "response": [] }, { "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": { "raw": "https://172.17.0.5:8445/restconf/config/ietf-interfaces:interfaces/interface/A", "protocol": "https", "host": [ "172", "17", "0", "5" ], "port": "8445", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "interface", "A" ] } }, "response": [] }, { "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": { "raw": "https://172.17.0.5:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/lsp1", "protocol": "https", "host": [ "172", "17", "0", "5" ], "port": "8445", "path": [ "restconf", "config", "hc2vpp-ietf-routing:routing", "hc2vpp-ietf-mpls:mpls", "hc2vpp-ietf-mpls-static:static-lsps", "static-lsp", "lsp1" ] }, "description": "Corresponding CLI command:\n\nmpls local-label add eos 104 ip4-lookup-in-table 0\n\n\nCan be verified via CLI using:\n\nshow mpls fib 104" }, "response": [] }, { "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": { "raw": "https://172.17.0.5:8445/restconf/config/hc2vpp-ietf-routing:routing/control-plane-protocols/control-plane-protocol/hc2vpp-ietf-routing:static/learned-protocol-0/static-routes/ipv4/route/10.12.1.0%2F24", "protocol": "https", "host": [ "172", "17", "0", "5" ], "port": "8445", "path": [ "restconf", "config", "hc2vpp-ietf-routing:routing", "control-plane-protocols", "control-plane-protocol", "hc2vpp-ietf-routing:static", "learned-protocol-0", "static-routes", "ipv4", "route", "10.12.1.0%2F24" ] }, "description": "Send reverse traffic using IP.\n\nCorresponding CLI command:\n\nip route add 10.12.1.0/24 via 10.24.1.2 host-veth42" }, "response": [] }, { "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": { "raw": "https://172.17.0.5:8445/restconf/config/ietf-interfaces:interfaces/interface/B", "protocol": "https", "host": [ "172", "17", "0", "5" ], "port": "8445", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "interface", "B" ] } }, "response": [] }, { "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": { "raw": "https://172.17.0.5:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/interface/host-veth42", "protocol": "https", "host": [ "172", "17", "0", "5" ], "port": "8445", "path": [ "restconf", "config", "hc2vpp-ietf-routing:routing", "hc2vpp-ietf-mpls:mpls", "interface", "host-veth42" ] }, "description": "Correspondig CLI command:\n\nset interface mpls host-veth42 enable" }, "response": [] }, { "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": { "raw": "https://172.17.0.5:8445/restconf/config/ietf-interfaces:interfaces/", "protocol": "https", "host": [ "172", "17", "0", "5" ], "port": "8445", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "" ] } }, "response": [] }, { "name": "Get mpls (cfg)", "request": { "method": "GET", "header": [ { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "https://172.17.0.5:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls", "protocol": "https", "host": [ "172", "17", "0", "5" ], "port": "8445", "path": [ "restconf", "config", "hc2vpp-ietf-routing:routing", "hc2vpp-ietf-mpls:mpls" ] } }, "response": [] } ] }, { "name": "vpp1", "description": null, "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": { "raw": "https://172.17.0.2:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls", "protocol": "https", "host": [ "172", "17", "0", "2" ], "port": "8445", "path": [ "restconf", "config", "hc2vpp-ietf-routing:routing", "hc2vpp-ietf-mpls:mpls" ] } }, "response": [] }, { "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": { "raw": "https://172.17.0.2:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/interface/host-veth12", "protocol": "https", "host": [ "172", "17", "0", "2" ], "port": "8445", "path": [ "restconf", "config", "hc2vpp-ietf-routing:routing", "hc2vpp-ietf-mpls:mpls", "interface", "host-veth12" ] }, "description": "Correspondig CLI command:\n\nset interface mpls host-veth12 enable" }, "response": [] }, { "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": { "raw": "https://172.17.0.2:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/trafficToA", "protocol": "https", "host": [ "172", "17", "0", "2" ], "port": "8445", "path": [ "restconf", "config", "hc2vpp-ietf-routing:routing", "hc2vpp-ietf-mpls:mpls", "hc2vpp-ietf-mpls-static:static-lsps", "static-lsp", "trafficToA" ] }, "description": "Corresponding CLI command:\n\nip route add 10.100.1.1/24 via 10.13.1.3 host-veth13 out-labels 103 104\n\nCan be verified via CLI using:\n\nshow ip fib 10.100.1.1/24" }, "response": [] }, { "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": { "raw": "https://172.17.0.2:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/trafficToA", "protocol": "https", "host": [ "172", "17", "0", "2" ], "port": "8445", "path": [ "restconf", "config", "hc2vpp-ietf-routing:routing", "hc2vpp-ietf-mpls:mpls", "hc2vpp-ietf-mpls-static:static-lsps", "static-lsp", "trafficToA" ] }, "description": "Node + adjacency SID example.\n\nSteers traffic to A veth341 (the first interface between vpp3 and vpp4)." }, "response": [] }, { "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": { "raw": "https://172.17.0.2:8445/restconf/operational/ietf-interfaces:interfaces-state/", "protocol": "https", "host": [ "172", "17", "0", "2" ], "port": "8445", "path": [ "restconf", "operational", "ietf-interfaces:interfaces-state", "" ] } }, "response": [] }, { "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": { "raw": "https://172.17.0.2:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/trafficToB", "protocol": "https", "host": [ "172", "17", "0", "2" ], "port": "8445", "path": [ "restconf", "config", "hc2vpp-ietf-routing:routing", "hc2vpp-ietf-mpls:mpls", "hc2vpp-ietf-mpls-static:static-lsps", "static-lsp", "trafficToB" ] } }, "response": [] }, { "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": { "raw": "https://172.17.0.2:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/trafficToA", "protocol": "https", "host": [ "172", "17", "0", "2" ], "port": "8445", "path": [ "restconf", "config", "hc2vpp-ietf-routing:routing", "hc2vpp-ietf-mpls:mpls", "hc2vpp-ietf-mpls-static:static-lsps", "static-lsp", "trafficToA" ] }, "description": "Node + adjacency SID example.\n\nSteers traffic to A veth342 (the second interface between vpp3 and vpp4)." }, "response": [] }, { "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": { "raw": "https://172.17.0.2:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/trafficToB", "protocol": "https", "host": [ "172", "17", "0", "2" ], "port": "8445", "path": [ "restconf", "config", "hc2vpp-ietf-routing:routing", "hc2vpp-ietf-mpls:mpls", "hc2vpp-ietf-mpls-static:static-lsps", "static-lsp", "trafficToB" ] } }, "response": [] }, { "name": "List ifcs - cfg", "request": { "method": "GET", "header": [ { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "https://172.17.0.2:8445/restconf/config/ietf-interfaces:interfaces/", "protocol": "https", "host": [ "172", "17", "0", "2" ], "port": "8445", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "" ] } }, "response": [] }, { "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": { "raw": "https://172.17.0.2:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/trafficToA", "protocol": "https", "host": [ "172", "17", "0", "2" ], "port": "8445", "path": [ "restconf", "config", "hc2vpp-ietf-routing:routing", "hc2vpp-ietf-mpls:mpls", "hc2vpp-ietf-mpls-static:static-lsps", "static-lsp", "trafficToA" ] } }, "response": [] }, { "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": { "raw": "https://172.17.0.2:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/trafficToA", "protocol": "https", "host": [ "172", "17", "0", "2" ], "port": "8445", "path": [ "restconf", "config", "hc2vpp-ietf-routing:routing", "hc2vpp-ietf-mpls:mpls", "hc2vpp-ietf-mpls-static:static-lsps", "static-lsp", "trafficToA" ] } }, "response": [] }, { "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": { "raw": "https://172.17.0.2:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/trafficToB", "protocol": "https", "host": [ "172", "17", "0", "2" ], "port": "8445", "path": [ "restconf", "config", "hc2vpp-ietf-routing:routing", "hc2vpp-ietf-mpls:mpls", "hc2vpp-ietf-mpls-static:static-lsps", "static-lsp", "trafficToB" ] }, "description": "Corresponding CLI command:\n\nip route add 10.200.1.1/24 via 10.12.1.2 host-veth12 out-labels 102 104\n\nCan be verified via CLI using:\n\nshow ip fib 10.200.1.1/24" }, "response": [] }, { "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": { "raw": "https://172.17.0.2:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/trafficToB", "protocol": "https", "host": [ "172", "17", "0", "2" ], "port": "8445", "path": [ "restconf", "config", "hc2vpp-ietf-routing:routing", "hc2vpp-ietf-mpls:mpls", "hc2vpp-ietf-mpls-static:static-lsps", "static-lsp", "trafficToB" ] } }, "response": [] } ] }, { "name": "vpp2", "description": null, "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": { "raw": "https://172.17.0.3:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/interface/host-veth24", "protocol": "https", "host": [ "172", "17", "0", "3" ], "port": "8445", "path": [ "restconf", "config", "hc2vpp-ietf-routing:routing", "hc2vpp-ietf-mpls:mpls", "interface", "host-veth24" ] }, "description": "Correspondig CLI command:\n\nset interface mpls host-veth24 enable" }, "response": [] }, { "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": { "raw": "https://172.17.0.3:8445/restconf/operational/ietf-interfaces:interfaces-state/", "protocol": "https", "host": [ "172", "17", "0", "3" ], "port": "8445", "path": [ "restconf", "operational", "ietf-interfaces:interfaces-state", "" ] } }, "response": [] }, { "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": { "raw": "https://172.17.0.3:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/interface/host-veth21", "protocol": "https", "host": [ "172", "17", "0", "3" ], "port": "8445", "path": [ "restconf", "config", "hc2vpp-ietf-routing:routing", "hc2vpp-ietf-mpls:mpls", "interface", "host-veth21" ] }, "description": "Correspondig CLI command:\n\nset interface mpls host-veth21 enable" }, "response": [] }, { "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": { "raw": "https://172.17.0.3:8445/restconf/config/ietf-interfaces:interfaces/", "protocol": "https", "host": [ "172", "17", "0", "3" ], "port": "8445", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "" ] } }, "response": [] }, { "name": "Get mpls (cfg)", "request": { "method": "GET", "header": [ { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "https://172.17.0.3:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls", "protocol": "https", "host": [ "172", "17", "0", "3" ], "port": "8445", "path": [ "restconf", "config", "hc2vpp-ietf-routing:routing", "hc2vpp-ietf-mpls:mpls" ] } }, "response": [] }, { "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": { "raw": "https://172.17.0.3:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/trafficToB", "protocol": "https", "host": [ "172", "17", "0", "3" ], "port": "8445", "path": [ "restconf", "config", "hc2vpp-ietf-routing:routing", "hc2vpp-ietf-mpls:mpls", "hc2vpp-ietf-mpls-static:static-lsps", "static-lsp", "trafficToB" ] }, "description": "Simulates route that could be received via BGP." }, "response": [] }, { "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": { "raw": "https://172.17.0.3:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/lsp1", "protocol": "https", "host": [ "172", "17", "0", "3" ], "port": "8445", "path": [ "restconf", "config", "hc2vpp-ietf-routing:routing", "hc2vpp-ietf-mpls:mpls", "hc2vpp-ietf-mpls-static:static-lsps", "static-lsp", "lsp1" ] }, "description": "Corresponding CLI command:\n\nmpls local-label add non-eos 102 mpls-lookup-in-table 0\n\n\nCan be verified via CLI using:\n\nshow mpls fib 102" }, "response": [] }, { "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": { "raw": "https://172.17.0.3:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/lsp3", "protocol": "https", "host": [ "172", "17", "0", "3" ], "port": "8445", "path": [ "restconf", "config", "hc2vpp-ietf-routing:routing", "hc2vpp-ietf-mpls:mpls", "hc2vpp-ietf-mpls-static:static-lsps", "static-lsp", "lsp3" ] }, "description": "In case 102 is the last label,\npop it and check if we have route for destination." }, "response": [] }, { "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": { "raw": "https://172.17.0.3:8445/restconf/config/hc2vpp-ietf-routing:routing/hc2vpp-ietf-mpls:mpls/hc2vpp-ietf-mpls-static:static-lsps/static-lsp/lsp2", "protocol": "https", "host": [ "172", "17", "0", "3" ], "port": "8445", "path": [ "restconf", "config", "hc2vpp-ietf-routing:routing", "hc2vpp-ietf-mpls:mpls", "hc2vpp-ietf-mpls-static:static-lsps", "static-lsp", "lsp2" ] }, "description": "Corresponding CLI command:\n\nmpls local-label add eos 104 via 10.24.1.4 host-veth24 out-labels 104\n\n\nCan be verified via CLI using:\n\nshow mpls fib 104" }, "response": [] } ] } ] }