aboutsummaryrefslogtreecommitdiffstats
path: root/vpp-api-test
AgeCommit message (Collapse)AuthorFilesLines
2016-12-01Add vxlan-bypass feature to IP4 forwarding pathJohn Lo1-0/+54
Added vxlan-bypass feature which can be enabled on the underlay interface which receive VXLAN packets to accelerate VXLAN decap processing. The CLI to enable it is: set interface ip vxlan-bypass <interface> [del] With this feature enabled on an interface, there is an overhead for non-VXLAN packets at about 13 clocks per packet. The API is created to support vxlan-bypass for both VXLANoIPv4 and VXLANoIPv6. With this change, vxlan-bypass is only implemented for IPv4 forwarding path. Change-Id: Ica7239f642010b231eade7fd5009aa4b42c119d3 Signed-off-by: John Lo <loj@cisco.com>
2016-12-01vppctl: clean exit cli when ctrl-d or ctrl-c enteredPadraig Connolly1-10/+20
Ctrl-D now exits vpp cli using do_EOF function Ctrl-C now exits cleanly without KeyboardInterrupt Error Change-Id: I09d103df57b9512e572eb66c17c548b9c1801589 Signed-off-by: Padraig Connolly <padraig.connolly@intel.com>
2016-11-30Enabling AES-GCM-128 with 16B ICV supportRadu Nicolau3-3/+42
Change-Id: Ib57b6f6b71ba14952ad77477a4df3ab33b36fef4 Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
2016-11-30VXLAN multicast dst (remote) address supportEyal Bari1-26/+86
Added support for multicast vxlan tunnels which are used for bridge domain flooding instead of flooding the all unicast tunnels in the bridge domain. features added: * conditional flooding to some of the BD members - based on existance of multicast tunnel member * added local multicast adjacency - multicast packets are handled as the same as unicast - based on src (unicast) address * refactored some of vxlan tunnel creation code - to unify ip4/6 handling Change-Id: I60cca4124265a8dd4f6b2d6ea8701e52e7c1baa4 Signed-off-by: Eyal Bari <ebari@cisco.com>
2016-11-30Start spliting vpe.api into logically related piecesDave Barach1-3/+25
To reduce rebase / manual merge pain, among other things Change-Id: I3186df0479066916a2ca69c48759178b45ef035c Signed-off-by: Dave Barach <dave@barachs.net> Signed-off-by: Ole Troan <ot@cisco.com>
2016-11-24ipsec: remove dependency on DPDK > 0Damjan Marion1-81/+0
ipsec code is not depenent on dpdk anymore. Change-Id: Iff3f960ca0f0435f66bcb575998d2fcea3377701 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-11-23dpdk: remove rte_mbuf modifications at many places in the codeDamjan Marion1-0/+1
It is sole responsibility of dpdk tx function to fill/update rte_mbuf prior to sending packet do PMD. Change-Id: I8ca1dba3e7bef41034d36e3525831849f7ac4ac0 Signed-off-by: Damjan Marion <damarion@cisco.com>
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>