aboutsummaryrefslogtreecommitdiffstats
path: root/vpp-api-test
AgeCommit message (Collapse)AuthorFilesLines
2016-11-22add vpp banner graphic when vpp-cli startsPadraig Connolly1-3/+14
Added check if termianl output is tty *If terminal is tty, display banner Added "FD.io VPP" banner to vppctl script on startup *FD.io displays in red *VPP displays in white Change-Id: Iaab3513d4f9d7ba5eefe070c1daf319f5014cf85 Signed-off-by: Padraig Connolly <padraig.connolly@intel.com>
2016-11-22VAT: don't pass u8 to unformat - it expects an 4 byte integerNeale Ranns1-2/+2
Change-Id: I82f21a77b96b9d9f00a4d3cf261bb4bd4644460b Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-11-21Add client-side msg_name_and_crc -> msg_index tableDave Barach1-0/+63
vppapigen now generates per-message crcs. Verified that whitespace and real changes in message A don't change the crc for message B, etc. Fixed the sample and flowperpkt plugins to participate. Others need the same treatment. They don't build due to python/java language binding build issues. To use the scheme: Client connects as usual. Then call: u32 vl_api_get_msg_index(char * name_and_crc) name_and_crc is a string like: "flowperpkt_tx_interface_add_del_753301f3", aka the message name with _%08x <expected crc> appended. Try these vpp-api-test commands to play with it: vat# dump_msg_api_table <snip> [366]: punt_reply_cca27fbe [367]: ipsec_spd_dump_5e9ae88e [368]: ipsec_spd_details_6f7821b0 [369]: sample_macswap_enable_disable_0f2813e2 [370]: sample_macswap_enable_disable_reply_476738e5 [371]: flowperpkt_tx_interface_add_del_753301f3 [372]: flowperpkt_tx_interface_add_del_reply_d47e6e0b vat# get_msg_id sample_macswap_enable_disable_reply_476738e5 'sample_macswap_enable_disable_reply_476738e5' has message index 370 vat# get_msg_id sample_macswap_enable_disable_reply_476738e3 'sample_macswap_enable_disable_reply_476738e3' not found CRCs may vary, etc. vppapigen is used to build a set of JSON representations of each API file from vpp-api/Makefile.am and that is in turn used by each language binding (Java, Python, Lua). Change-Id: I3d64582e779dac5f20cddec79c562c288d8fd9c6 Signed-off-by: Dave Barach <dave@barachs.net> Signed-off-by: Ole Troan <ot@cisco.com>
2016-11-17feature: API/CLI to enable/disable feature per interfacePavel Kotucek1-3/+73
Change-Id: I91d5f5648189143903eb973fdc60de9880fd47c2 Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2016-11-17remove reference to Intel with dpdk docsPadraig Connolly1-1/+1
*Changed configure files to say DPDK instead of Intel DPDK *Changed rpm and deb config files to say DPDK instead of Intel DPDK *Changed vnet Makefile to say DPDK instead of Intel DPDK Change-Id: Ic6e3eacf2341af873d4bd2e036d5afa857ca6355 Signed-off-by: Padraig Connolly <padraig.connolly@intel.com>
2016-11-17Fix coverity warnings, VPP-486Dave Barach1-0/+10
Change-Id: If98e5e00eede8f2aa9f17517c726b337c98e5467 Signed-off-by: Dave Barach <dave@barachs.net>
2016-11-17Put address in top bytes for the nexthop in vl_api_fib_path_t (VPP-532)Steven1-18/+42
VPP-500 added the API for the fib dump capability. However, it puts the address of the nexthop in the low bytes while the top bytes are padded with 0's if the address is ipv4. The address field is defined as 16 bytes to accommodate both ipv4 and ipv6. This fix is to correct the issue and put the address of the nexthop in the top bytes. Change-Id: I429dec662e32040b186dfc323801ef49b76a42a3 Signed-off-by: Steven <sluong@cisco.com>
2016-11-16VPP-521: Classify API enhancement to redirect traffic to pre-defined VRFSteve Shin1-3/+25
Ingress packets are punted to the “Input ACL node” where traffic is classified based on n-tuple keys. If no matched session is found from the classify tables, then it will be passed to “the lookup node” for normal packet forwarding. If a classify session is hit from one of classify tables, then packet vnet buffer field sw_if_index[VLIB_TX] will be updated to the new FIB index used for subsequent IP lookup for this packet. Change-Id: Ifdea63196ddb81c2d5c43b8c98e11ddbf5b11858 Signed-off-by: Steve Shin <jonshin@cisco.com>
2016-11-15span: add feature (rx only) (VPP-185)Pavel Kotucek1-0/+94
Change-Id: I0f7cbf06b5a5acd745d13c9f5c761ea18132107b Signed-off-by: marek <mazavods@gmail.com> Signed-off-by: Damjan Marion <damarion@cisco.com> Signed-off-by: Pavel Kotucek <pkotucek@cisco.com> Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-11-15VPP-393: Subinterface is still used after deletionPavel Kotucek1-1/+3
Fixed bug in delete of sub-interface, if sub-interface is xconnected it was not deleted correctly (show interface address fails). Interface is set to L3 mode before deletion. Fixed help in API command. Signed-off-by: Pavel Kotucek <pkotucek@cisco.com> Change-Id: Ibe781e4b53422e6535e34ec72dbe274f9045f051
2016-11-15Dump routes (VPP-500)Steven1-2/+236
Change-Id: I86e7382395a8b6471a0deaf57163718d41b71b83 Signed-off-by: Steven <sluong@cisco.com>
2016-11-10VXLAN tunnel encap forwarding optimization with FIB 2.0John Lo1-7/+1
Optimize VXLAN encap node so that vxlan4-encap node is used for IP4 and vxlan6-encap node is used for IP6 underlay. Also stack the VXLAN encap nodes to the appropriate FIB IP4 or IP6 load-balance node instead of ip4/ip6-lookup node to save IP lookup operation. For VXLAN decap node, check VXLAN header FLAGS field for each packet and remove the code to support decap-next for IP4 or IP6. These decap- next values were intended for experimentation purposes and not needed any more since VXLAN-GPE tunnel is supported. The decap-next field is still kept in API for backward compatibility and its value has no effect. Decap next for both vxlan4-decap and vxlan6-decap nodes is always l2-input node. Change-Id: I8ac95774946549ec403ab691f999df0c006b460f Signed-off-by: John Lo <loj@cisco.com>
2016-11-09Fix a batch of coverity warnings, VPP-486Dave Barach1-3/+0
Change-Id: I0379844824b4c2eb42588d0fb8e1a7eb441e923f Signed-off-by: Dave Barach <dave@barachs.net>
2016-11-04vppctl: Do not use sudo if already rootPierre Pfister1-1/+5
When using sudo, environment variable such as the PATH are overwritten. This patch just checks if user is already root and does not use sudo in such situation. This allows using approaches like: sudo env PATH=path/to/vpp-binary/:$PATH vppctl Not really important in production setups, but this is handy for testing. Change-Id: I079c104d026ae7d378468380b012279a6e5d765d Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-11-03Adding Sequence Number - Per Packet Counter(PPC) support for iOAM6.AkshayaNadahalli1-12/+12
- Added support in classifier session to identify a flow to be iOAM6 encap/decap - Sequence number as part of iOAM6 E2E header is created as a plugin. Change-Id: Ib7605de45aecff25d684d099b525f8dc96ee7038 Signed-off-by: AkshayaNadahalli <anadahal@cisco.com>
2016-10-25Support IETF routing Yang models (VPP-503).Neale Ranns1-2/+15
Add support for special routes to send ICMP unreachable or admin prohibited. Change-Id: Ia1ac65b0e5e925c0f9ebc7824141833b4e18f05e Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-10-25Add API call of sw_interface_set_mpls_enable to vpp_api_testJohn Lo1-0/+48
Change-Id: If0e98c111b3dfa38cb2c619dde4ddb3e52ee8dfa Signed-off-by: John Lo <loj@cisco.com>
2016-10-18Deprecate MPLSoGRE tunnels (VPP-502)Neale Ranns1-287/+328
Add shared memory APIs for MPLS routes and MPLS to IP prefix bindings. Change-Id: I85b074a4dadc8249c410fdabd8ea019d20479cf8 Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2016-10-12VPP-362 Implement dumping of LISP adjacenciesFilip Tehlar1-0/+122
Change-Id: Ieea56f3bf9e749878d9f2b35d39d9f7a9cdabde4 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-10-10ipfix: add l4 unformat support for mask and match (VPP-204)Juraj Sloboda1-7/+201
Change-Id: Iff32c488af9b71acbc4e572c6741afae0a67333c Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
2016-10-10ipfix: add classification nodes for flow statistics (VPP-204)Juraj Sloboda1-3/+145
In order to have meaningfull IPFIX implementation we should be able to classify all packets flowing through vpp. But existing IPv4 and IPv6 classifier nodes are called only if destination IP address is local to vpp. This commit adds new IPv4 and IPv6 classifier nodes that should be used for collecting flow statistics. Change-Id: I60e60105663ba15b5200862a23bb817047fe4d1a Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
2016-10-10Add signal handlingDave Barach3-1/+78
Please send SIGTERM to stop vpp_api_test, especially during long-running operations such as a high-count asynchronous set of ip_add_del_routes. Otherwise, there's every chance that the data plane to vpp_api_test message queue will fill and cause an easily-avoided deadlock. Change-Id: I09309b445c354e1a692fed708dd5ea44d1ea9882 Signed-off-by: Dave Barach <dave@barachs.net>
2016-10-10platform: rewrote vppctl script to include historyPadraig1-30/+96
Added more ability to search history to vppctl shell *Up and down keys give history *Script now written in Python 2.7.6 *Contains all original functionality *Added Python dependency for deb/rpms Change-Id: I5088f7b018fce92b9b5411df0bffc34709810dec Signed-off-by: Padraig Connolly <padraig.connolly@intel.com>
2016-10-10FIB2.0: memory leaks during load-balance update (VPP-475)Neale Ranns1-1/+1
some other fixes and enhancemets to address failures in the IPv6 Scale testing: - The rate at which VPP sends ARP/ND requests, 1 per-millisecond, is too high. This is reduced to 1 every 10 ms. probably still too high. - If an ARP/ND response is received that does not contain a change to the known MAC address, no further processing is done. - Added stats to get info about the async FIB walks. - When walking FIB entries and performing a load-balance update, it is not necessary to re-insert the LB in the forwarding table. Change-Id: Ifd47e4bdbce94495f44aaf1b78e7d1395ed870d1 Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-10-07VPP-395 Add udp-punt node(s) and APIAlexander Popovsky (apopovsk)1-5/+49
Uses existing UDP local API in order to register requested UDP port punt to the host. CLI: set punt udp [del] <port> API: punt protocol <l4-protocol> [ip <ver>] [port <l4-port>] [del] * Only UDP (l4-protocol = 17) is supported at this time Change-Id: I9232af1c891d1ed174d77f3e0dfe60c4b9d85e40 Signed-off-by: Alex Popovsky <apopovsk@cisco.com>
2016-10-04VPP-355: add PBB (802.1ah) tag rewritePavel Kotucek1-3/+96
- new API/CLI to define pbb tag rewrite on interface - encapsulation/decapsulation of PBB tags - tracing of PBB header - PBB tag rewrite operations Change-Id: I538b3025a8b2e41cdeed9f10fea94bbcd28b5f5f Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2016-09-30vat: add pg interfaces to sw_interface_dump (VPP-451)Damjan Marion1-0/+5
Change-Id: I976a44dcfb32b1132c14363174239333315b2c6f Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-09-30VPP-450 Fix adding LISP adjacencies via CLIFilip Tehlar1-44/+43
Change-Id: If90c9c630629e727fffc5d450516045a04433661 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-09-28DPDK HQoS: Enable Hierarchical Scheduler in VPPJasvinder Singh1-0/+236
This commit extends the vpp framework with new thread type "hqos-threads" that runs the Hierarchical Quality of Service (HQoS) scheduler associted with output interface. HQoS Scheduler prioritize the packets from different users and ensures sufficient bandwidth to pass the more important traffic. At high level, HQoS scheduler is a buffer that can temporarily store a large number of packets. In otherwords, it is a collection of large number of queues organized into hierarchy of 5 levels; the port (i.e. the physical interface) is at the root of the hierarchy followed by the subport (a set of users), the pipes (individual users), the traffic classes (each with a strict priority) and at the leaves, the queues. In each HQoS scheduler, three operations are performed; classification (setting HQoS port, subport, pipe, traffic class and queue within traffic class from packet fields), enqueue (selecting HQoS queue for the packet, and to drop the packet if the queue is full) and dequeue (schedule the packet based on its length and available credits, and handover the scheduled packet to the output interface). In vpp, the number of hqos threads will be equal to cpu cores specified in corelist-hqos-threads parameter cpu section of the vpp configuration file. One hqos thread can run HQoS for multiple output interfaces. A particular HQoS instance is initialised with default parameters required to configure hqos port, subport, pipe and queues. Some of them can be re-configured in run-time through CLI commands as well binary APIs. Following illustrates the sample startup configuration file with 4x worker threads feeding 2x hqos threads that handle each HQoS for 1x output interface. For more details on HQoS configuration please refer to DPDK Programmer's Guide. dpdk { socket-mem 16384,16384 dev 0000:02:00.0 { num-rx-queues 2 hqos } dev 0000:06:00.0 { num-rx-queues 2 hqos } num-mbufs 1000000 } cpu { main-core 0 corelist-workers 1, 2, 3, 4 corelist-hqos-threads 5, 6 } Change-Id: I635c3395a7c4ddf0a239ef77b0b0a31a6dfc4767 Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com> Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
2016-09-27VPP-448 Fix LISP APIs using binary dataFilip Tehlar1-6/+10
* use zero length array in LISP API to avoid confusion * add missing LISP data structure definitions in API documentation * fix wrong memory allocation in VAT Change-Id: I9b5e656a071fc24cb698c164db953c09b66deeeb Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-09-27LISP Source/Dest control plane support, VPP-197Florin Coras1-0/+114
Change-Id: If88e4161e0944b657e6183b7b44348f7f46ba0a8 Signed-off-by: Florin Coras <fcoras@cisco.com> Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-09-22VPP-189: fix coverity issue in api_format.cFlorin Coras1-2/+3
Change-Id: I8cf3bb27bc699be3b8de781ea84db4c7fb3c7553 Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-09-22VPP-426: Rename parameter in LISP remote mapping VAT commandFilip Tehlar1-1/+1
Change-Id: Ie52243bd1654e3d0663b09bd1f21e8c15e93f07d Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-09-21A Protocol Independent Hierarchical FIB (VPP-352)Neale Ranns1-3/+9
Main Enhancements: - Protocol Independent FIB API - Hierarchical FIB entries. Dynamic recursive route resolution. - Extranet Support. - Integration of IP and MPLS forwarding. - Separation of FIB and Adjacency databases. - Data-Plane Object forwarding model. Change-Id: I52dc815c0d0aa8b493e3cf6b978568f3cc82296c Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-09-20VPP-189: fix coverity issue in api_format.cFilip Tehlar1-1/+7
Change-Id: Ib16fd69abe93c1afb2ee1d38144763f57888585c Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-09-19Add support for transparent ethernet bridging to GREDavid Hotham1-5/+12
Change-Id: Iaa3cefe223eb48b128893029a17e092b72a5157c Signed-off-by: David Hotham <david.hotham@metaswitch.com>
2016-09-13VPP-376: Refactor LISP dump API + VATFilip Tehlar2-932/+230
- refactor VAT so it won't cache data - remove unused filter flag from locator dump API call - json structure changed for locator and EID table dump calls - remote mapping VAT cli now accepts string for negative mapping action Change-Id: I776fb50659aaa7e98ad93715d282a83f78287344 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-09-07Fix bugs in IPFIX code discovered by coverityJuraj Sloboda1-1/+1
Change-Id: Ibe6ccb99c3c29c14efb34191f209a2f6a14293f7 Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
2016-09-07VPP-382: Add ipsec tunnel interface to sw_interface_dumpMatus Fabian1-0/+6
Change-Id: I9e49c9b6deedb750269da04e3332a3b0742d382c Signed-off-by: Matus Fabian <matfabia@cisco.com>
2016-09-07VPP-204 Rework and finish IPFIX implementationJuraj Sloboda1-20/+232
Rework flow report registration system - add streams Add support for IPv6 and src and dst ports for TCP and UDP protocols Implement binary API for IPFIX classifier module Change-Id: Id05cc0127a7b95ceaeebf9c79a32c6936449bd63 Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
2016-09-06Move iOAM Trace as a pluginVengada Govindan1-94/+16
Change-Id: I78322e91485e5429871bd356f668b8ed90f4265a Signed-off-by: Vengada Govindan <venggovi@cisco.com>
2016-09-06VPP-381 Add LISP interfaces to sw_interface_dumpFlorin Coras1-0/+7
Change-Id: I62b65472e77a33b1fc94f7c4975b5e9cbf358f41 Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-09-03VPP-358: Add IPv6 ND Event Notification and TerminationJohn Lo1-2/+4
Additional fix to vpp_api_test to show which kind of arp/ip6-nd event is received, whether it is address resolution or mac/ip binding. Change-Id: Ic65b895cd1bfbe2f34d1b68891a1a580852fbcdb Signed-off-by: John Lo <loj@cisco.com>
2016-09-02Add in-message cli_request/cli_reply APIOle Troan2-0/+70
This new CLI API is meant to replace the cli_request/cli_reply that uses shared memory. PS: checkstyle -- *hate* Change-Id: I6318f8f6b9be2c2398b49dac9e2193c1998ea724 Signed-off-by: Ole Troan <ot@cisco.com>
2016-08-31VPP-369 Add an L2 output classification featureDave Barach1-2/+5
Change-Id: If03162d328c1ea179249e734537ebb01bade3331 Signed-off-by: Dave Barach <dave@barachs.net>
2016-08-31VPP-358: Add IPv6 ND Event Notification and TerminationJohn Lo1-0/+54
Add IPv6 equivalent of IPv4 ARP event notification which covers address resolution for L3 and MAC/IP binding in L2 BD and ARP termination in BD. For IPv6, ICMP6 neighbor solicitation and advertisement packets are utilized instead of ARP request and response packets for IPv4. Change-Id: I0088fa173e4480de297c8053ea2fcd0821322815 Signed-off-by: John Lo <loj@cisco.com>
2016-08-31VPP-240: delete subinterfacePavel Kotucek1-3/+36
Added new CLI and API command to delete subinterface. Change-Id: Ia92a8facc6ad84634bdec430093e6add02ee674e Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2016-08-30Fix for vppctl to suppress "load_one_plugin:63: Loaded plugin:" msgsEd Warnicke1-2/+2
Change-Id: I06fcb024036b48a6401d2865a2181b122cb32108 Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-08-30VPP-365: Fix sending of bd_index in lisp_eid_table_add_del_mapFilip Tehlar1-1/+7
Change-Id: I1f8fd65fa33b0bc7ee07aa0eeb5f794a7ede9537 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-08-30VPP-353: Fully support LISP negative mappings in APIFilip Tehlar2-27/+32
Change-Id: I71943fb4ae2a2f71bcf1ad73512812edf96c06da Signed-off-by: Filip Tehlar <ftehlar@cisco.com>