{ "info": { "_postman_id": "f5f60790-000e-4a74-ae07-725cfaeaa0f6", "name": "Honeycomb V3PO RESTCONF calls", "description": "Common mgmt operations on VPP core using Honeycomb REST interface", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" }, "item": [ { "name": "Loopback", "item": [ { "name": "Add loopback ifc - cfg ", "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\": \"loop1\",\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": { "raw": "http://localhost:8183/restconf/config/ietf-interfaces:interfaces/interface/loop1", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "interface", "loop1" ] }, "description": "create loop interface" }, "response": [] }, { "name": "Delete loopback ifc - cfg ", "request": { "method": "DELETE", "header": [ { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "http://localhost:8183/restconf/config/ietf-interfaces:interfaces/interface/loop1", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "interface", "loop1" ] }, "description": "delete loop interface intfc loop1" }, "response": [] } ] }, { "name": "Bridge Domain management", "item": [ { "name": "Create bridge domain - cfg", "request": { "method": "PUT", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" } ], "body": { "mode": "raw", "raw": "{\r\n \"bridge-domain\": [\r\n {\r\n \"name\": \"testBD\",\r\n \"flood\": \"true\",\r\n \"forward\": \"false\",\r\n \"learn\": \"false\",\r\n \"unknown-unicast-flood\": \"false\",\r\n \"arp-termination\": \"false\"\r\n }\r\n ]\r\n}" }, "url": { "raw": "http://localhost:8183/restconf/config/v3po:bridge-domains/bridge-domain/testBD", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "v3po:bridge-domains", "bridge-domain", "testBD" ] }, "description": "Creates bridgfe domain. Corresponds to invoking:\n\nvat# bridge_domain_add_del bd_id [bd_id] learn 0 forward 0 uu-flood 0 flood 1 arp-term 0\n\nTo verify run:\n\nvppctl show bridge-domain [bd_id] detail" }, "response": [] }, { "name": "Show bridge domain - cfg", "request": { "method": "GET", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "http://localhost:8183/restconf/config/v3po:bridge-domains/bridge-domain/testBD", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "v3po:bridge-domains", "bridge-domain", "testBD" ] }, "description": "Shows testBD bridge domain configuration." }, "response": [] }, { "name": "Show bridge domain - oper", "request": { "method": "GET", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "http://localhost:8183/restconf/operational/v3po:bridge-domains-state/bridge-domain/testBD", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "operational", "v3po:bridge-domains-state", "bridge-domain", "testBD" ] }, "description": "Shows testBD bridge domain operational state.\nCorresponds to invoking:\n\nvppctl show bridge-domain [bd_id] detail" }, "response": [] }, { "name": "Add local0 to bridge domain", "request": { "method": "PUT", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" } ], "body": { "mode": "raw", "raw": "{\r\n \"l2\": {\r\n \"bridge-domain\": \"testBD\",\r\n \"split-horizon-group\": 1,\r\n \"bridged-virtual-interface\": \"false\"\r\n }\r\n}" }, "url": { "raw": "http://localhost:8183/restconf/config/ietf-interfaces:interfaces/interface/local0/v3po:l2", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "interface", "local0", "v3po:l2" ] }, "description": "Adds l2 interconnection of bridge-based type to local0 interface.\nCorresponds to the following command:\n\nvppctl set interface l2 bridge local0 [bd_id]\n\nTo verify invoke:\n\nvppctl show bridge-domain [bd_id] detail" }, "response": [] }, { "name": "Show local0 - cfg", "request": { "method": "GET", "header": [ { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "http://localhost:8183/restconf/config/ietf-interfaces:interfaces/interface/local0/", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "interface", "local0", "" ] }, "description": "Shows local0 interface configuration" }, "response": [] }, { "name": "Show local0 - oper", "request": { "method": "GET", "header": [ { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "http://localhost:8183/restconf/operational/ietf-interfaces:interfaces/interface/local0/", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "operational", "ietf-interfaces:interfaces", "interface", "local0", "" ] }, "description": "Shows local0 interface operational state" }, "response": [] }, { "name": "Add L2 FIB entry (forward)", "request": { "method": "PUT", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" } ], "body": { "mode": "raw", "raw": "{\n \"l2-fib-entry\": [\n {\n \"phys-address\": \"aa:bb:cc:dd:ee:ff\",\n \"outgoing-interface\": \"local0\",\n \"action\": \"l2-fib-forward\"\n }\n ]\n}" }, "url": { "raw": "http://localhost:8183/restconf/config/v3po:bridge-domains/bridge-domain/testBD/l2-fib-table/l2-fib-entry/aa:bb:cc:dd:ee:ff", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "v3po:bridge-domains", "bridge-domain", "testBD", "l2-fib-table", "l2-fib-entry", "aa:bb:cc:dd:ee:ff" ] }, "description": "Adds L2 FIB static entry. Corresponds to invoking:\n\nvppctl l2fib add aa:bb:cc:dd:ee:ff [bd_id] local0\n\nTo verify run:\n\nvppctl show l2fib verbose" }, "response": [] }, { "name": "Delete L2 FIB entry", "request": { "method": "DELETE", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "http://localhost:8183/restconf/config/v3po:bridge-domains/bridge-domain/testBD/l2-fib-table/l2-fib-entry/aa:bb:cc:dd:ee:ff", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "v3po:bridge-domains", "bridge-domain", "testBD", "l2-fib-table", "l2-fib-entry", "aa:bb:cc:dd:ee:ff" ] }, "description": "Removes L2 FIB entry. Corresponds to invoking:\n\nvppctl l2fib del aa:bb:cc:dd:ee:ff [bd_id]\n\nTo verify run:\n\nvppctl show l2fib verbose" }, "response": [] }, { "name": "Add L2 FIB entry (static, forward)", "request": { "method": "PUT", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" } ], "body": { "mode": "raw", "raw": "{\n \"l2-fib-entry\": [\n {\n \"phys-address\": \"11:22:33:44:55:66\",\n \"outgoing-interface\": \"local0\",\n \"static-config\": \"true\",\n \"action\": \"l2-fib-forward\"\n }\n ]\n}" }, "url": { "raw": "http://localhost:8183/restconf/config/v3po:bridge-domains/bridge-domain/testBD/l2-fib-table/l2-fib-entry/11:22:33:44:55:66", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "v3po:bridge-domains", "bridge-domain", "testBD", "l2-fib-table", "l2-fib-entry", "11:22:33:44:55:66" ] }, "description": "Adds L2 FIB static entry. Corresponds to invoking:\n\nvppctl l2fib add 11:22:33:44:55:66 [bd_id] local0 static\n\nTo verify run:\n\nvppctl show l2fib verbose" }, "response": [] }, { "name": "Add L2 FIB entry (filter)", "request": { "method": "PUT", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" } ], "body": { "mode": "raw", "raw": "{\n \"l2-fib-entry\": [\n {\n \"phys-address\": \"00:01:02:03:04:05\",\n \"static-config\": \"true\",\n \"action\": \"l2-fib-filter\"\n }\n ]\n}" }, "url": { "raw": "http://localhost:8183/restconf/config/v3po:bridge-domains/bridge-domain/testBD/l2-fib-table/l2-fib-entry/00:01:02:03:04:05", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "v3po:bridge-domains", "bridge-domain", "testBD", "l2-fib-table", "l2-fib-entry", "00:01:02:03:04:05" ] }, "description": "Adds L2 FIB static entry. Corresponds to invoking:\n\nvppctl l2fib add 00:01:02:03:04:05 [bd_id] filter\n\nTo verify run:\n\nvppctl show l2fib verbose" }, "response": [] }, { "name": "Remove local0 from bridge domain", "request": { "method": "DELETE", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "http://localhost:8183/restconf/config/ietf-interfaces:interfaces/interface/local0/v3po:l2", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "interface", "local0", "v3po:l2" ] }, "description": "Removes l2 interconnection of bridge-based type from local0 interface.\nCorresponds to the following VAT command:\n\nvat# sw_interface_set_l2_bridge sw_if_index 0 bd_id 1 disable\n\nVerification in VAT:\n\nvat# bridge_domain_dump" }, "response": [] }, { "name": "Add ARP termination table entry ", "request": { "method": "PUT", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" } ], "body": { "mode": "raw", "raw": "{\n \"arp-termination-table-entry\": [\n {\n \"ip-address\": \"1.2.3.4\",\n \"phys-address\": \"aa:bb:cc:dd:ee:ff\"\n }\n ]\n}" }, "url": { "raw": "http://localhost:8183/restconf/config/v3po:bridge-domains/bridge-domain/testBD/arp-termination-table/arp-termination-table-entry/1.2.3.4/aa:bb:cc:dd:ee:ff", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "v3po:bridge-domains", "bridge-domain", "testBD", "arp-termination-table", "arp-termination-table-entry", "1.2.3.4", "aa:bb:cc:dd:ee:ff" ] }, "description": "Adds ARP termination termination entry. Corresponds to invoking:\n\nvat# bd_ip_mac_add_del bd_id [bd_id] 1.2.3.4 aa:bb:cc:dd:ee:ff\n\nTo verify run:\n\nvppctl show bridge-domain 1 detail" }, "response": [] }, { "name": "Delete ARP termination table entry ", "request": { "method": "DELETE", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "http://localhost:8183/restconf/config/v3po:bridge-domains/bridge-domain/testBD/arp-termination-table/arp-termination-table-entry/1.2.3.4/aa:bb:cc:dd:ee:ff", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "v3po:bridge-domains", "bridge-domain", "testBD", "arp-termination-table", "arp-termination-table-entry", "1.2.3.4", "aa:bb:cc:dd:ee:ff" ] }, "description": "Removes ARP termination termination entry. Corresponds to invoking:\n\nvat# bd_ip_mac_add_del bd_id [bd_id] 1.2.3.4 aa:bb:cc:dd:ee:ff del\n\nTo verify run:\n\nvppctl show bridge-domain 1 detail" }, "response": [] } ] }, { "name": "Context", "item": [ { "name": "List naming contexts - context", "request": { "method": "GET", "header": [ { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "http://localhost:8183/restconf/operational/naming-context:contexts", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "operational", "naming-context:contexts" ] }, "description": "List mapping context stored in context datastore" }, "response": [] }, { "name": "List disabled interfaces - context", "request": { "method": "GET", "header": [ { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "http://localhost:8183/restconf/operational/v3po-context:disabled-interfaces", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "operational", "v3po-context:disabled-interfaces" ] }, "description": "List disabled interfaces (e.g. deleted vxlan tunnels)" }, "response": [] }, { "name": "List ACL contexts - context", "request": { "method": "GET", "header": [ { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "http://localhost:8183/restconf/operational/vpp-classifier-context:vpp-classifier-context", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "operational", "vpp-classifier-context:vpp-classifier-context" ] }, "description": "List mapping context for ACLs stored in context datastore" }, "response": [] } ] }, { "name": "ETH", "item": [ { "name": "Set interface mtu", "request": { "method": "PUT", "header": [ { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"interface\": [\n {\n \"name\": \"GigabitEthernet0/8/0\",\n \"type\": \"iana-if-type:ethernetCsmacd\",\n \"enabled\": false,\n \"v3po:ethernet\": {\n \"mtu\": 1234\n }\n }\n ]\n}" }, "url": { "raw": "http://localhost:8183/restconf/config/ietf-interfaces:interfaces/interface/GigabitEthernet0%2F8%2F0", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "interface", "GigabitEthernet0%2F8%2F0" ] } }, "response": [] }, { "name": "Get interface cfg", "request": { "method": "GET", "header": [ { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "http://localhost:8183/restconf/config/ietf-interfaces:interfaces/interface/GigabitEthernet0%2F8%2F0", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "interface", "GigabitEthernet0%2F8%2F0" ] }, "description": "Shows configuration for GigabitEthernet0/8/0" }, "response": [] }, { "name": "Get interface - oper", "request": { "method": "GET", "header": [ { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "http://localhost:8183/restconf/operational/ietf-interfaces:interfaces/interface/GigabitEthernet0%2F8%2F0", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "operational", "ietf-interfaces:interfaces", "interface", "GigabitEthernet0%2F8%2F0" ] }, "description": "Shows operational state for GigabitEthernet0/8/0" }, "response": [] } ], "description": "Example requests for management of Ethernet type interfaces" }, { "name": "GRE-TUNNEL", "item": [ { "name": "Add gre ifc - cfg", "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\": \"greTun1\",\r\n \"description\": \"for testing purposes\",\r\n \"type\": \"v3po:gre-tunnel\",\r\n \"enabled\": \"true\",\r\n \"link-up-down-trap-enable\": \"enabled\",\r\n \"routing\" : {\r\n \"ipv4-vrf-id\" : \"0\"\r\n },\r\n \"gre\" : {\r\n \"src\" : \"192.168.1.6\",\r\n \"dst\" : \"192.168.1.9\",\r\n \"outer-fib-id\" : \"0\"\r\n }\r\n }\r\n ]\r\n \r\n}" }, "url": { "raw": "http://localhost:8183/restconf/config/ietf-interfaces:interfaces/interface/greTun1", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "interface", "greTun1" ] } }, "response": [] }, { "name": "Delete gre ifc - cfg", "request": { "method": "DELETE", "header": [ { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "http://localhost:8183/restconf/config/ietf-interfaces:interfaces/interface/greTun1", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "interface", "greTun1" ] } }, "response": [] } ] }, { "name": "PBB", "item": [ { "name": "Enable local0 + configure Pbb", "request": { "method": "PUT", "header": [ { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\r\n \"interface\": [\r\n {\r\n \"name\": \"local0\",\r\n \"description\": \"for testing purposes\",\r\n \"type\": \"iana-if-type:ethernetCsmacd\",\r\n \"enabled\": \"true\",\r\n \"pbb-rewrite\":{\r\n \t\"destination-address\":\"aa:aa:aa:aa:aa:aa\",\r\n \t\"source-address\":\"bb:bb:bb:bb:bb:bb\",\r\n \t\"b-vlan-tag-vlan-id\":\"26\",\r\n \t\"i-tag-isid\":\"27\",\r\n \t\"interface-operation\":\"pop-2\"\r\n }\r\n }\r\n ]\r\n}" }, "url": { "raw": "http://localhost:8183/restconf/config/ietf-interfaces:interfaces/interface/local0", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "interface", "local0" ] } }, "response": [] }, { "name": "Update ppb rewrite", "request": { "method": "PUT", "header": [ { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\r\n \"pbb-rewrite\":{\r\n \t\"destination-address\":\"aa:aa:aa:aa:aa:aa\",\r\n \t\"source-address\":\"bb:bb:bb:bb:bb:bb\",\r\n \t\"b-vlan-tag-vlan-id\":\"26\",\r\n \t\"i-tag-isid\":\"27\",\r\n \t\"interface-operation\":\"translate-2-1\"\r\n }\r\n}" }, "url": { "raw": "http://localhost:8183/restconf/config/ietf-interfaces:interfaces/interface/local0/pbb-rewrite", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "interface", "local0", "pbb-rewrite" ] } }, "response": [] }, { "name": "Get ppb rewrite", "request": { "method": "GET", "header": [ { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "http://localhost:8183/restconf/config/ietf-interfaces:interfaces/interface/local0", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "interface", "local0" ] } }, "response": [] }, { "name": "Disable ppb rewrite", "request": { "method": "DELETE", "header": [ { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "http://localhost:8183/restconf/config/ietf-interfaces:interfaces/interface/local0", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "interface", "local0" ] } }, "response": [] } ] }, { "name": "IP", "item": [ { "name": "Ip Neighbour Get", "request": { "method": "GET", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "http://localhost:8183/restconf/config/ietf-interfaces:interfaces/interface/GigabitEthernet0%2F8%2F0/ipv4/neighbor/172.16.0.2", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "interface", "GigabitEthernet0%2F8%2F0", "ipv4", "neighbor", "172.16.0.2" ] }, "description": "This call returns data stored in honeycomb,to verify actual data stored by vpp, call vppctl show ip fib|arp" }, "response": [] }, { "name": "Ip Neighbour Add", "request": { "method": "PUT", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" } ], "body": { "mode": "raw", "raw": "{\n \n \"neighbor\":{\n \"ip\":\"172.16.0.2\",\n \"link-layer-address\":\"00:01:11:00:02:02\"\n }\n \n}\n" }, "url": { "raw": "http://localhost:8183/restconf/config/ietf-interfaces:interfaces/interface/GigabitEthernet0%2F8%2F0/ipv4/neighbor/172.16.0.2", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "interface", "GigabitEthernet0%2F8%2F0", "ipv4", "neighbor", "172.16.0.2" ] }, "description": "This call doesnt have respective dump call,because of performance issues(dump for this can contain millions of entries). Data inserted throught this call can be verified by calling vppctl show ip fib|arp" }, "response": [] }, { "name": "Ip Neighbour Delete", "request": { "method": "DELETE", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" } ], "body": { "mode": "raw", "raw": "{\n \"neighbor\":{\n \"ip\":\"172.16.0.2\",\n \"link-layer-address\":\"00:01:11:00:02:02\"\n }\n}\n" }, "url": { "raw": "http://localhost:8183/restconf/config/ietf-interfaces:interfaces/interface/GigabitEthernet0%2F8%2F0/ipv4/neighbor/172.16.0.2", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "interface", "GigabitEthernet0%2F8%2F0", "ipv4", "neighbor", "172.16.0.2" ] }, "description": "Verify this call by invoking vppctl show ip fib|arp" }, "response": [] }, { "name": "Read local0 - oper", "request": { "method": "GET", "header": [ { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "http://localhost:8183/restconf/operational/ietf-interfaces:interfaces/interface/local0", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "operational", "ietf-interfaces:interfaces", "interface", "local0" ] } }, "response": [] }, { "name": "Set ipv4 local0 interface - cfg", "request": { "method": "PUT", "header": [ { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\r\n \"address\": [{\r\n \"ip\" : \"127.0.0.1\",\r\n \"prefix-length\" : \"24\"\r\n }]\r\n}" }, "url": { "raw": "http://localhost:8183/restconf/config/ietf-interfaces:interfaces/interface/local0/ipv4/address/127.0.0.1", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "interface", "local0", "ipv4", "address", "127.0.0.1" ] } }, "response": [] }, { "name": "Remove ipv4 from local0 interface - cfg", "request": { "method": "DELETE", "header": [ { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "http://localhost:8183/restconf/config/ietf-interfaces:interfaces/interface/local0/ipv4/address/127.0.0.1", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "interface", "local0", "ipv4", "address", "127.0.0.1" ] } }, "response": [] }, { "name": "Set ipv4 local0 interface - cfg netmask", "request": { "method": "PUT", "header": [ { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\r\n \"address\": [{\r\n \"ip\" : \"127.0.0.1\",\r\n \"netmask\": \"255.255.255.128\"\r\n }]\r\n}" }, "url": { "raw": "http://localhost:8183/restconf/config/ietf-interfaces:interfaces/interface/local0/ipv4/address/127.0.0.1", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "interface", "local0", "ipv4", "address", "127.0.0.1" ] } }, "response": [] }, { "name": "Read local0/ipv4 - oper", "request": { "method": "GET", "header": [ { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "http://localhost:8183/restconf/operational/ietf-interfaces:interfaces/interface/local0/ipv4", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "operational", "ietf-interfaces:interfaces", "interface", "local0", "ipv4" ] } }, "response": [] }, { "name": "Read local0/ipv4 - cfg", "request": { "method": "GET", "header": [ { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "http://localhost:8183/restconf/config/ietf-interfaces:interfaces/interface/local0/ipv4", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "interface", "local0", "ipv4" ] } }, "response": [] }, { "name": "Set ipv4 for sub-interface - cfg", "request": { "method": "PUT", "header": [ { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\r\n \"address\": [{\r\n \"ip\" : \"1.2.3.4\",\r\n \"prefix-length\" : \"8\"\r\n }]\r\n}" }, "url": { "raw": "http://localhost:8183/restconf/config/ietf-interfaces:interfaces/interface/GigabitEthernet0%2F9%2F0/vpp-vlan:sub-interfaces/sub-interface/1/ipv4/address/1.2.3.4", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "interface", "GigabitEthernet0%2F9%2F0", "vpp-vlan:sub-interfaces", "sub-interface", "1", "ipv4", "address", "1.2.3.4" ] }, "description": "Correponds to the following command:\n\nvppctl set interface ip address GigabitEthernet0/9/0.1 1.2.3.4/8\n\nTo verify invoke:\nvppctl show int" }, "response": [] }, { "name": "Set local0 as unnumbered (use GigabitEthernet0/8/0)", "request": { "method": "PUT", "header": [ { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\r\n \"unnumbered\": {\r\n \t\"use\": \"GigabitEthernet0/8/0\"\r\n }\r\n}" }, "url": { "raw": "http://localhost:8183/restconf/config/ietf-interfaces:interfaces/interface/local0/unnumbered-interfaces:unnumbered", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "interface", "local0", "unnumbered-interfaces:unnumbered" ] }, "description": "Make local0 borrow ip from GigabiteEthernet0/8/0.\nEquivalent of\n\nset interface unnumbered local0 use GigabitEthernet0/8/0\n\nCan be verified with\n\nvppctl show interface address" }, "response": [] } ] }, { "name": "SPAN", "item": [ { "name": "Set port mirroring local0 -> GigabiteEthernet0/8/0", "request": { "method": "PUT", "header": [ { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\r\n \r\n \"span\": {\r\n \t\"mirrored-interfaces\": {\r\n \t\t\"mirrored-interface\": [{\"iface-ref\":\"local0\",\"state\":\"receive\"}]\r\n \t}\r\n }\r\n \r\n}" }, "url": { "raw": "http://localhost:8183/restconf/config/ietf-interfaces:interfaces/interface/GigabitEthernet0%2F8%2F0/span", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "interface", "GigabitEthernet0%2F8%2F0", "span" ] }, "description": "set span src local0 dst GigabiteEthernet0/8/0" }, "response": [] }, { "name": "Read port mirroring", "request": { "method": "GET", "header": [ { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "http://localhost:8183/restconf/operational/ietf-interfaces:interfaces/interface/GigabitEthernet0%2F8%2F0/span", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "operational", "ietf-interfaces:interfaces", "interface", "GigabitEthernet0%2F8%2F0", "span" ] }, "description": "show span" }, "response": [] }, { "name": "Delete port mirroring local0 -> GigabiteEthernet0/8/0", "request": { "method": "DELETE", "header": [ { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "http://localhost:8183/restconf/config/ietf-interfaces:interfaces/interface/GigabitEthernet0%2F8%2F0/span", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "interface", "GigabitEthernet0%2F8%2F0", "span" ] } }, "response": [] } ] }, { "name": "STATISTICS", "item": [ { "name": "Enable statistics collection", "request": { "method": "PUT", "header": [ { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\r\n \"statistics\": {\r\n \t\"enabled\": \"true\"\r\n }\r\n}" }, "url": { "raw": "http://localhost:8183/restconf/config/ietf-interfaces:interfaces/statistics", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "statistics" ] }, "description": "Enables/Disables statistics collection" }, "response": [] }, { "name": "List TapV2 interface statistics", "request": { "method": "GET", "header": [ { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "http://localhost:8183/restconf/operational/ietf-interfaces:interfaces/interface/tap-v2/statistics/", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "operational", "ietf-interfaces:interfaces", "interface", "tap-v2", "statistics", "" ] }, "description": "Lists statistics of selected interface. In this case it is TapV2 interface." }, "response": [] } ] }, { "name": "TAPV2", "item": [ { "name": "Add tapV2 ifc -cfg", "request": { "method": "PUT", "header": [ { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"interface\": [\n {\n \"name\": \"tap-v2\",\n \"description\": \"for testing purposes\",\n \"type\": \"v3po:tap-v2\",\n \"tap-v2\" :{\n \"mac\" : \"00:ff:ff:ff:ff:ff\",\n \"tx-ring-size\" : 512,\n \"rx-ring-size\" : 512,\n \"host-mac\" : \"00:ee:ee:ee:ee:ee\",\n \"host-interface-name\" : \"vpp-tap-v2\",\n \"host-bridge\" : \"testBridge\",\n \"host-ipv4-address\" : \"192.168.20.100/24\",\n \"host-ipv6-address\" : \"a::100/96\",\n \"host-ipv4-gateway\" : \"192.168.20.1\",\n \"host-ipv6-gateway\" : \"a::1\",\n \"tag\": \"tap-v2_tag\"\n }\n }\n ]\n\n}" }, "url": { "raw": "http://localhost:8183/restconf/config/ietf-interfaces:interfaces/interface/tap-v2", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "interface", "tap-v2" ] }, "description": "When adding Tap to a bridge it is needed that the bridge exists. You can create it with these commands:\n\nsudo brctl addbr testBridge\nsudo brctl stp testBridge off\nsudo ip link set dev testBridge up" }, "response": [] }, { "name": "Delete tapV2 ifc - cfg", "request": { "method": "DELETE", "header": [ { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "http://localhost:8183/restconf/config/ietf-interfaces:interfaces/interface/tap-v2", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "interface", "tap-v2" ] } }, "response": [] } ] }, { "name": "VHOST", "item": [ { "name": "Add vhost user ifc - cfg", "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\": \"vhost1\",\r\n \"description\": \"for testing purposes\",\r\n \"type\": \"v3po:vhost-user\",\r\n \"enabled\": \"true\",\r\n \"vhost-user\" : {\r\n \"socket\": \"/tmp/soc1\",\r\n \"role\": \"server\",\r\n \"device-instance\": \"123\",\r\n \"tag\": \"vhost1_tag\"\r\n }\r\n }\r\n ]\r\n \r\n}" }, "url": { "raw": "http://localhost:8183/restconf/config/ietf-interfaces:interfaces/interface/vhost1", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "interface", "vhost1" ] }, "description": "Adds vhost-user interface.\nCorresponsing vpp cli command:\n\ncreate vhost-user socket /tmp/soc1 server\n\nTo verify invoke:\n\nvppctl show vhost-user\n\nor\n\nvppctl show int" }, "response": [] }, { "name": "Modify vhost user ifc - cfg", "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\": \"vhost1\",\r\n \"description\": \"for testing purposes\",\r\n \"type\": \"v3po:vhost-user\",\r\n \"enabled\": \"true\",\r\n \"vhost-user\" : {\r\n \"socket\": \"/tmp/soc2\",\r\n \"role\": \"server\"\r\n }\r\n }\r\n ]\r\n \r\n}" }, "url": { "raw": "http://localhost:8183/restconf/config/ietf-interfaces:interfaces/interface/vhost1", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "interface", "vhost1" ] }, "description": "Modifies vhost-user interface socket.\nTo verify invoke:\n\nvppctl show vhost-user" }, "response": [] }, { "name": "Delete vhost user ifc - cfg", "request": { "method": "DELETE", "header": [ { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "http://localhost:8183/restconf/config/ietf-interfaces:interfaces/interface/vhost1", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "interface", "vhost1" ] }, "description": "Deletes vhost user interface.\nCorresponding vpp CLI command:\n\nvppctl delete vhost-user sw_if_index [index]\n\nTo verify invoke:\n\nvppctl show vhost-user\n\nor\n\nvppctl show int" }, "response": [] } ] }, { "name": "VLAN", "item": [ { "name": "Add sub interface - cfg", "request": { "method": "PUT", "header": [ { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\r\n \"sub-interface\": [\r\n {\r\n \"identifier\": \"1\",\r\n \"vlan-type\": \"_802dot1q\",\r\n \"tags\": {\r\n \"tag\": [\r\n {\r\n \"index\": \"0\",\r\n \"dot1q-tag\": {\r\n \"tag-type\": \"dot1q-types:s-vlan\",\r\n \"vlan-id\": \"100\"\r\n }\r\n },\r\n {\r\n \"index\": \"1\",\r\n \"dot1q-tag\": {\r\n \"tag-type\": \"dot1q-types:c-vlan\",\r\n \"vlan-id\": \"any\"\r\n }\r\n }\r\n ]\r\n },\r\n \"match\": {\r\n \"vlan-tagged\": {\r\n \"match-exact-tags\": \"true\"\r\n }\r\n },\r\n \"enabled\": \"false\"\r\n }\r\n ]\r\n}" }, "url": { "raw": "http://localhost:8183/restconf/config/ietf-interfaces:interfaces/interface/GigabitEthernet0%2F9%2F0/vpp-vlan:sub-interfaces/sub-interface/1", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "interface", "GigabitEthernet0%2F9%2F0", "vpp-vlan:sub-interfaces", "sub-interface", "1" ] }, "description": "Adds sub interface. Corresponsing vpp cli command:\n\nvppctl create sub GigabitEthernet0/9/0 1 dot1q 100 inner-dot1q any\n\nTo verify run:\n./build-root/install-vpp-native/vpp-api-test/bin/vpp_api_test json\nand invoke:\n\n#vat sw_interface_dump" }, "response": [] }, { "name": "Enable GigabitEthernet0/9/0 interface - cfg", "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\": \"GigabitEthernet0/9/0\",\r\n \"type\": \"iana-if-type:ethernetCsmacd\",\r\n \"v3po:ethernet\": {\r\n \"mtu\": 9216\r\n },\r\n \"enabled\": true,\r\n \"vpp-vlan:sub-interfaces\": {\r\n \"sub-interface\": [\r\n {\r\n \"identifier\": 1,\r\n \"vlan-type\": \"_802dot1q\",\r\n \"tags\": {\r\n \"tag\": [\r\n {\r\n \"index\": 1,\r\n \"dot1q-tag\": {\r\n \"tag-type\": \"dot1q-types:c-vlan\",\r\n \"vlan-id\": \"any\"\r\n }\r\n },\r\n {\r\n \"index\": 0,\r\n \"dot1q-tag\": {\r\n \"tag-type\": \"dot1q-types:s-vlan\",\r\n \"vlan-id\": \"100\"\r\n }\r\n }\r\n ]\r\n },\r\n \"match\": {\r\n \"vlan-tagged\": {\r\n \"match-exact-tags\": true\r\n }\r\n },\r\n \"enabled\": false\r\n }\r\n ]\r\n }\r\n }\r\n ]\r\n \r\n}" }, "url": { "raw": "http://localhost:8183/restconf/config/ietf-interfaces:interfaces/interface/GigabitEthernet0%2F9%2F0", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "interface", "GigabitEthernet0%2F9%2F0" ] }, "description": "Enables GigabitEthernet0/9/0 interface. Equivalent vppctl command:\n\nvppctl set in state GigabitEthernet0/9/0 up\n\nNeeded to enable sub interface.\n\nTo verify invoke:\n\nvppctl show int" }, "response": [] }, { "name": "Enable GigabitEthernet0/9/0.1 interface - cfg", "request": { "method": "PUT", "header": [ { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\r\n \"sub-interface\": [\r\n {\r\n \"identifier\": \"1\",\r\n \"vlan-type\": \"_802dot1q\",\r\n \"tags\": {\r\n \"tag\": [\r\n {\r\n \"index\": \"0\",\r\n \"dot1q-tag\": {\r\n \"tag-type\": \"dot1q-types:s-vlan\",\r\n \"vlan-id\": \"100\"\r\n }\r\n },\r\n {\r\n \"index\": \"1\",\r\n \"dot1q-tag\": {\r\n \"tag-type\": \"dot1q-types:c-vlan\",\r\n \"vlan-id\": \"any\"\r\n }\r\n }\r\n ]\r\n },\r\n \"match\": {\r\n \"vlan-tagged\": {\r\n \"match-exact-tags\": \"true\"\r\n }\r\n },\r\n \"enabled\": \"true\"\r\n }\r\n ]\r\n}" }, "url": { "raw": "http://localhost:8183/restconf/config/ietf-interfaces:interfaces/interface/GigabitEthernet0%2F9%2F0/vpp-vlan:sub-interfaces/sub-interface/1", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "interface", "GigabitEthernet0%2F9%2F0", "vpp-vlan:sub-interfaces", "sub-interface", "1" ] }, "description": "Enables GigabitEthernet0/9/0.1 sub interface. Equivalent vppctl command:\n\nvppctl set in state GigabitEthernet0/9/0.1 up\n\nTo enable sub interface, super interface should be enabled first.\n\nTo verify invoke:\n\nvppctl show int" }, "response": [] }, { "name": "Add sub interface to bridge-domain", "request": { "method": "PUT", "header": [ { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\r\n \"l2\": {\r\n \"bridge-domain\": \"testBD\",\r\n \"split-horizon-group\": 1,\r\n \"bridged-virtual-interface\": \"false\"\r\n }\r\n}" }, "url": { "raw": "http://localhost:8183/restconf/config/ietf-interfaces:interfaces/interface/GigabitEthernet0%2F9%2F0/vpp-vlan:sub-interfaces/sub-interface/1/l2", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "interface", "GigabitEthernet0%2F9%2F0", "vpp-vlan:sub-interfaces", "sub-interface", "1", "l2" ] }, "description": "Adds sub interface to bridge domain. Corresponsing vpp cli command:\n\nvppctl set interface l2 bridge GigabitEthernet0/9/0.1 1 1\n\nTo verify invoke:\nvppctl show bridge-domain 1 detail" }, "response": [] }, { "name": "Enable tag-rewrite push - cfg", "request": { "method": "PUT", "header": [ { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\r\n \"rewrite\": {\r\n \"vlan-type\": \"vpp-vlan:_802dot1q\",\r\n \"push-tags\": [\r\n {\r\n \"index\": 0,\r\n \"dot1q-tag\": {\r\n \"tag-type\": \"dot1q-types:s-vlan\",\r\n \"vlan-id\": 123\r\n }\r\n },\r\n {\r\n \"index\": 1,\r\n \"dot1q-tag\": {\r\n \"tag-type\": \"dot1q-types:c-vlan\",\r\n \"vlan-id\": 456\r\n }\r\n }\r\n ]\r\n }\r\n}" }, "url": { "raw": "http://localhost:8183/restconf/config/ietf-interfaces:interfaces/interface/GigabitEthernet0%2F9%2F0/vpp-vlan:sub-interfaces/sub-interface/1/l2/rewrite", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "interface", "GigabitEthernet0%2F9%2F0", "vpp-vlan:sub-interfaces", "sub-interface", "1", "l2", "rewrite" ] }, "description": "Enables tag-rewrite push operation for GigabitEthernet0/9/0.1 sub-interface. Corresponsing vpp cli command:\n\nvppctl set interface l2 tag-rewrite GigabitEthernet0/9/0.1 push dot1q 123 456\n\nTo verify run:\n./build-root/install-vpp-native/vpp-api-test/bin/vpp_api_test json\nand invoke:\n\n#vat sw_interface_dump\n\nor if sub-interface was added to bridge domain:\n\nvppctl show bridge-domain [bd_id] detail" }, "response": [] }, { "name": "Enable tag-rewrite pop 1 - cfg", "request": { "method": "PUT", "header": [ { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\r\n \"rewrite\": {\r\n \"pop-tags\": \"1\"\r\n }\r\n}" }, "url": { "raw": "http://localhost:8183/restconf/config/ietf-interfaces:interfaces/interface/GigabitEthernet0%2F9%2F0/vpp-vlan:sub-interfaces/sub-interface/1/l2/rewrite", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "interface", "GigabitEthernet0%2F9%2F0", "vpp-vlan:sub-interfaces", "sub-interface", "1", "l2", "rewrite" ] }, "description": "Enables tag-rewrite pop 1 operation for GigabitEthernet0/9/0.1 sub-interface. Corresponsing vpp cli command:\n\nvppctl set interface l2 tag-rewrite GigabitEthernet0/9/0.1 pop 1\n\nTo verify run:\n./build-root/install-vpp-native/vpp-api-test/bin/vpp_api_test json\nand invoke:\n\n#vat sw_interface_dump\n\nor if sub-interface was added to bridge domain:\n\nvppctl show bridge-domain [bd_id] detail" }, "response": [] }, { "name": "Enable tag-rewrite translate 1-2 - cfg", "request": { "method": "PUT", "header": [ { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\r\n \"rewrite\": {\r\n \"vlan-type\": \"vpp-vlan:_802dot1q\",\r\n \"pop-tags\": \"1\",\r\n \"push-tags\": [\r\n {\r\n \"index\": 0,\r\n \"dot1q-tag\": {\r\n \"tag-type\": \"dot1q-types:s-vlan\",\r\n \"vlan-id\": 111\r\n }\r\n },\r\n {\r\n \"index\": 1,\r\n \"dot1q-tag\": {\r\n \"tag-type\": \"dot1q-types:c-vlan\",\r\n \"vlan-id\": 222\r\n }\r\n }\r\n ]\r\n }\r\n}" }, "url": { "raw": "http://localhost:8183/restconf/config/ietf-interfaces:interfaces/interface/GigabitEthernet0%2F9%2F0/vpp-vlan:sub-interfaces/sub-interface/1/l2/rewrite", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "interface", "GigabitEthernet0%2F9%2F0", "vpp-vlan:sub-interfaces", "sub-interface", "1", "l2", "rewrite" ] }, "description": "Enables tag-rewrite translate 1-2 operation for GigabitEthernet0/9/0.1 sub-interface. Corresponsing vpp cli command:\n\nvppctl set interface l2 tag-rewrite GigabitEthernet0/9/0.1 translate 1-2 dot1q 111 222\n\nTo verify run:\n./build-root/install-vpp-native/vpp-api-test/bin/vpp_api_test json\nand invoke:\n\n#vat sw_interface_dump\n\nor if sub-interface was added to bridge domain:\n\nvppctl show bridge-domain [bd_id] detail" }, "response": [] }, { "name": "Disable tag-rewrite - cfg", "request": { "method": "DELETE", "header": [ { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "http://localhost:8183/restconf/config/ietf-interfaces:interfaces/interface/GigabitEthernet0%2F9%2F0/vpp-vlan:sub-interfaces/sub-interface/1/l2/rewrite", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "interface", "GigabitEthernet0%2F9%2F0", "vpp-vlan:sub-interfaces", "sub-interface", "1", "l2", "rewrite" ] }, "description": "Disables tag-rewrite operation for GigabitEthernet0/9/0.1 sub-interface. Corresponsing vpp cli command:\n\nvppctl set interface l2 tag-rewrite GigabitEthernet0/9/0.1 disable\n\nTo verify run:\n./build-root/install-vpp-native/vpp-api-test/bin/vpp_api_test json\nand invoke:\n\n#vat sw_interface_dump\n\nor if sub-interface was added to bridge domain:\n\nvppctl show bridge-domain [bd_id] detail" }, "response": [] } ] }, { "name": "VXLAN-GPE-TUNNEL", "item": [ { "name": "Add vxlan-gpe - cfg", "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\": \"vxlanGpeTun3\",\r\n \"description\": \"for testing purposes\",\r\n \"type\": \"v3po:vxlan-gpe-tunnel\",\r\n \"enabled\": \"true\",\r\n \"link-up-down-trap-enable\": \"enabled\",\r\n \"routing\" : {\r\n \"ipv4-vrf-id\" : \"0\"\r\n },\r\n \"vxlan-gpe\" : {\r\n \"local\" : \"192.168.50.76\",\r\n \"remote\" : \"192.168.50.71\",\r\n \"vni\" : \"9\",\r\n \"next-protocol\" : \"ethernet\",\r\n \"encap-vrf-id\" : \"0\",\r\n \"decap-vrf-id\" : \"0\"\r\n }\r\n }\r\n ]\r\n \r\n}" }, "url": { "raw": "http://localhost:8183/restconf/config/ietf-interfaces:interfaces/interface/vxlanGpeTun3", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "interface", "vxlanGpeTun3" ] } }, "response": [] }, { "name": "Delete vxlan-gpe - cfg", "request": { "method": "DELETE", "header": [ { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "http://localhost:8183/restconf/config/ietf-interfaces:interfaces/interface/vxlanGpeTun3", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "interface", "vxlanGpeTun3" ] } }, "response": [] } ] }, { "name": "VXLAN-TUNNEL", "item": [ { "name": "Add virtual ifc - cfg", "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\": \"vxlanTun1\",\r\n \"description\": \"for testing purposes\",\r\n \"type\": \"v3po:vxlan-tunnel\",\r\n \"enabled\": \"true\",\r\n \"link-up-down-trap-enable\": \"enabled\",\r\n \"routing\" : {\r\n \"ipv4-vrf-id\" : \"0\"\r\n },\r\n \"vxlan\" : {\r\n \"src\" : \"192.168.1.6\",\r\n \"dst\" : \"192.168.1.9\",\r\n \"vni\" : \"88\",\r\n \"encap-vrf-id\" : \"0\"\r\n }\r\n }\r\n ]\r\n \r\n}" }, "url": { "raw": "http://localhost:8183/restconf/config/ietf-interfaces:interfaces/interface/vxlanTun1", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "interface", "vxlanTun1" ] } }, "response": [] }, { "name": "Delete virtual ifc - cfg", "request": { "method": "DELETE", "header": [ { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "http://localhost:8183/restconf/config/ietf-interfaces:interfaces/interface/vxlanTun1", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "interface", "vxlanTun1" ] } }, "response": [] } ] }, { "name": "AF_PACKET", "item": [ { "name": "Add af_packet interface", "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\": \"veth0\",\r\n \"description\": \"for testing purposes\",\r\n \"type\": \"v3po:af-packet\",\r\n \"af-packet\": {\r\n \t\"host-interface-name\": \"veth0\"\r\n }\r\n }\r\n ]\r\n \r\n}" }, "url": { "raw": "http://localhost:8183/restconf/config/ietf-interfaces:interfaces/interface/veth0", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "interface", "veth0" ] }, "description": "Creates host (af_packet) interface in VPP.\nRequires creating veth pair in the linux first:\n\nsudo ip link add veth0 type veth peer name veth1\n\nCorresponds to following CLI command:\n\nvppctl create host-interface name veth0\n\nMore info:\nhttps://wiki.fd.io/view/VPP/Tutorial_Routing_and_Switching#Virtual_Network_Setup" }, "response": [] }, { "name": "Modify af_packet interface", "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\": \"veth0\",\r\n \"description\": \"for testing purposes\",\r\n \"type\": \"v3po:af-packet\",\r\n \"af-packet\": {\r\n \t\"host-interface-name\": \"veth0\",\r\n \"mac\" : \"01:02:03:04:05:06\"\r\n }\r\n }\r\n ]\r\n \r\n}" }, "url": { "raw": "http://localhost:8183/restconf/config/ietf-interfaces:interfaces/interface/veth0", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "interface", "veth0" ] }, "description": "Updates mac address of af_packet interface.\n\nSince VPP does not support ad-packet update,\nthe request is internally translated into delete + create." }, "response": [] }, { "name": "Delete af_packet interface", "request": { "method": "DELETE", "header": [ { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "http://localhost:8183/restconf/config/ietf-interfaces:interfaces/interface/veth0", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "interface", "veth0" ] }, "description": "Deletes host (af_packet) interface in VPP.\n\nCorresponds to following CLI command:\n\nvppctl delete host-interface name veth0" }, "response": [] }, { "name": "Show af_packet interface configuration", "request": { "method": "GET", "header": [ { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "http://localhost:8183/restconf/config/ietf-interfaces:interfaces/interface/veth0", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "interface", "veth0" ] } }, "response": [] }, { "name": "Show af_packet interface state", "request": { "method": "GET", "header": [ { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "http://localhost:8183/restconf/operational/ietf-interfaces:interfaces/interface/veth0", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "operational", "ietf-interfaces:interfaces", "interface", "veth0" ] } }, "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": "http://localhost:8183/restconf/config/ietf-interfaces:interfaces/", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "" ] }, "description": "List ifcs - cfg" }, "response": [] }, { "name": "List ifcs - oper", "request": { "method": "GET", "header": [ { "key": "Authorization", "value": "Basic YWRtaW46YWRtaW4=" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "http://localhost:8183/restconf/operational/ietf-interfaces:interfaces/", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "operational", "ietf-interfaces:interfaces", "" ] } }, "response": [] }, { "name": "Enable local0 interface - cfg", "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\": \"local0\",\r\n \"description\": \"for testing purposes\",\r\n \"type\": \"iana-if-type:ethernetCsmacd\",\r\n \"enabled\": \"true\"\r\n }\r\n ]\r\n \r\n}" }, "url": { "raw": "http://localhost:8183/restconf/config/ietf-interfaces:interfaces/interface/local0", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "interface", "local0" ] } }, "response": [] }, { "name": "Set vrf id for local0 - cfg", "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\": \"local0\",\r\n \"description\": \"for testing purposes only\",\r\n \"type\": \"iana-if-type:ethernetCsmacd\",\r\n \"enabled\": \"true\",\r\n \"routing\" : {\r\n \"ipv4-vrf-id\" : \"7\"\r\n }\r\n }\r\n ]\r\n \r\n}" }, "url": { "raw": "http://localhost:8183/restconf/config/ietf-interfaces:interfaces/interface/local0", "protocol": "http", "host": [ "localhost" ], "port": "8183", "path": [ "restconf", "config", "ietf-interfaces:interfaces", "interface", "local0" ] } }, "response": [] } ] }