summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2016-12-06vhost: Improve data pathPierre Pfister2-425/+663
This patch significantly improves vhost Tx and Rx performance (20% Mpps improvement in PVP scenario). Most significant change consists in the split of virtio ring parsing and memory copies. Other minor changes mostly consist in getting rid of unnecessary variables. Change-Id: Ia94e12ab9a6c114e3f7fef376a9343823d051209 Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-12-06Fix length in LCAF headerFilip Tehlar3-5/+5
Change-Id: I56461c5d892ce223d1160fb57313ca1c51db9a23 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-12-06snat: remove duplicate makefile var definitionGabriel Ganne1-3/+0
Change-Id: Id910f033c693be882ef5da6adca4a9b46de057e4 Signed-off-by: Gabriel Ganne <gabriel.ganne@qosmos.com>
2016-12-06MAP: Split MAP API out of vpe.api.Ole Troan7-374/+498
Change-Id: I91a612a00ea85a9ddd4233d9aa19a6a4332d9701 Signed-off-by: Ole Troan <ot@cisco.com>
2016-12-06vhost: Code cleaningPierre Pfister2-334/+237
After a bug was found, I decided to review old vhost code. This change cleans some of it by: - Use unix file private data rather than hash table - Use vnet interface lookups rather than hash table - Keep track of unix_fd index rather than fd value - Change some indent - Store interfaces in a clib pool rather than hand-made pool The overall change reduces the number of lines as well as the amount of state kept in vhost structures. Change-Id: I6b9b670b9c7e1fb85981bcf2099f7140b0251fe0 Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-12-06Add "vpp-api-install" to plugins_configure_depend in ↵Andrew Yourtchenko1-1/+2
build-data/packages/plugins.mk As per Ole Troan mail https://lists.fd.io/pipermail/vpp-dev/2016-November/003296.html (message id <D3FB63FB-D144-4CBA-B4AB-CDE46B83D838@cisco.com>): Change-Id: I7f9d13c079505257bc8b37eecd8318cd360a56c3 Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2016-12-06test: l2xc instances multi-context test (CSIT-491)Jan1-0/+351
- add/delete L2XC instances and verify results by traffic Change-Id: Ib538a98e499ae3c9c9601a22afcabb1afb84c881 Signed-off-by: Jan Gelety <jgelety@cisco.com>
2016-12-06dpdk: add rte_delay_us_callbackPavel Kotucek1-1/+13
Converted DPDK16.07 "Allow-applications-to-override-rte_delay_us" patch to of callback in DPDK16.11 Change-Id: I6c802e3ea8f817e5df591166b1e0a42f5f835a71 Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2016-12-06add missing import to mpls testGabriel Ganne1-0/+1
Change-Id: If53a7c8066ec9713645a009218e264384afe93e4 Signed-off-by: Gabriel Ganne <gabriel.ganne@qosmos.com>
2016-12-06api: set jvpp version to 17.01Marek Gradzki6-6/+6
Change-Id: Ib22a3a24f9b290465dc80fc683d903d58ba3804c Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-12-06api: missing support for dumping of neighbours (VPP-333)Pavel Kotucek8-61/+313
added API to dump ipv4/ipv6 neighboors (added by ip_neighbor_add_del). Change-Id: I33209a3d06beba64d68465c0892a9f4c65657334 Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2016-12-06Implement LISP control plane messagesFilip Tehlar13-73/+2131
* Map-register * Map-notify * RLOC probing Change-Id: I7f6295376b21cd67805446dfd1c1033acead2d4b Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-12-06acl: The ACL plugin.Andrew Yourtchenko20-0/+5664
This is the commit from the accumulated work in the github ACL branch, to move it to gerrit. Change-Id: I85a6b0df0d3dd3c3c7588e92a1e22c553e4b6ef7 Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2016-12-05test: l2bd instance multi-context correctionJan2-29/+23
- small correction of docstrings - fix of create_pg_interface Change-Id: I1958bd5ddaddaa2f7e6cbb18b0076e59e86d1e68 Signed-off-by: Jan Gelety <jgelety@cisco.com>
2016-12-05Update CSIT tests 161128 -> 161204Jan1-1/+1
- update of CSIT operational branch to be used for VPP-patch test Change-Id: I84bfb828403a32087de3341f27c3e9a04292ca8b Signed-off-by: Jan <jgelety@cisco.com>
2016-12-05make test: fix missing log/packet messagesKlement Sekera13-86/+107
Change-Id: Idb3119792943664748c4abc3829ad723f4156dfe Signed-off-by: Klement Sekera <ksekera@cisco.com>
2016-12-05All mcast and All class E have /4 not /8 subnet masksNeale Ranns1-4/+4
Change-Id: I29e54014f43f0b0ce087380b2318fe623d879204 Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-12-05Move interface APIs to vnet/vnet/{interface.api,interface_api.c}Dave Barach7-860/+901
Change-Id: If3f0f73ad1c1d54ac69122052c977eb83a9e16eb Signed-off-by: Dave Barach <dave@barachs.net>
2016-12-05Fix l2.api patch in jvpp MakefileMarek Gradzki1-1/+1
Change-Id: Ic9a494725afde2e3507dda5b42c69680c20f090a Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-12-05api: set interface MTU API (VPP-442)Matus Fabian4-5/+134
Change-Id: I67178f2703febb8ad3eb011606cb8a86fab5ee94 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2016-12-05Fix crash in debug mode when call ethernet_register_l3_redirect()jerryian1-0/+4
Change-Id: I1c2a13663ec75460cd28ea8593aa8de3f27e47b9 Signed-off-by: jerryian <gu.jian1@zte.com.cn>
2016-12-05api: enable Java API generation for l2.api (VPP-438)Marek Gradzki1-0/+1
Change-Id: I867c2f90d812007b874502d2aa60f09e40650941 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-12-05Locally generated packet go through lookup/load-balance - locally-generated ↵Neale Ranns12-266/+218
is an attribute of the packet and checked where necessary Add a flag to the vnet_buffer to indicate a packet is locally originated. Then in the rewrite nodes we can check this flag and not perform the TTL decrement. The switch path cost is expected to be fractions of a clock - the flags will be hot in the cache. The cehcks are necessary to due the requirements that VPP must be able to emit an IP packet with TTL=255. Change-Id: Ieb9cf06e34df54fd5c950293de8b665016295c51 Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-12-05Variable-message-length tracing support, VPP-370Dave Barach5-146/+67
Clean up several message handlers which spuriously depended on having a vlib_main_t * pointer passed as a second argument. That definitely doesn't happen when replaying an api trace... Change-Id: Id4cf9745f770933566cb13698ee779333ee35d79 Signed-off-by: Dave Barach <dave@barachs.net>
2016-12-05Fix vpp crash when generating jumbo packetsJuraj Sloboda2-2/+4
Change-Id: Ie1832f2b5df9f9f7ba2f0f406116e11014d3ac21 Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
2016-12-05Fix ICMP echo reply punt pathAlexander Popovsky2-21/+48
Add ICMP echo reply punt logic in ip[46]-icmp-echo-reply (ping) nodes. ICMP echo reply packets corresponding to the locally (VPP) originated ICMP echo requests are still dropped as before. Rest of the (unknown) ICMP echo reply packets are pushed to the “error-punt” node. Also added ICMP echo packet (id/seq) trace information Change-Id: I998198430dedc9b4d771b6aff2a97f18598663f9 Signed-off-by: Alexander Popovsky <apopovsk@cisco.com>
2016-12-04Fix crash whith bonded ethernet / DPDK 16.11Alexander Popovsky2-4/+8
In DPDK 16.11 bonded PMD is still using old naming ‘rte_bond_pmd’. See: dpdk-16.11/drivers/net/bonding/rte_eth_bond_api.c Fixed crash when VPP is generating a name for ‘unknown’ non-PCI interface Change-Id: I59e15f009e1a11949a19abf5234d09425a81c6ce Signed-off-by: Alexander Popovsky <apopovsk@cisco.com>
2016-12-02test: l2bd instances multi-context test (CSIT-479)Jan2-0/+528
- add/update/delete L2BD instances and verify results by API command bridge_domain_dump and by traffic where applicable Change-Id: Ic9d7f7b5f6f10e5df7053f27cbc87f653704dab1 Signed-off-by: Jan <jgelety@cisco.com>
2016-12-02Coverity errors in MPLS codeNeale Ranns2-4/+14
Change-Id: I3f98e3c30e29198cb8701bfb846ce194b7250ed7 Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-12-02remove CLIB_DEBUG conditional in fib_protocol_tNeale Ranns1-4/+0
Change-Id: I179941fe615935e63c6f4eacf1193c6bfab6631d Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-12-02api: L2 XConnect API (VPP-438)Matus Fabian5-5/+242
Change-Id: I0a86184391723675488a5eb517c375f67940f5b5 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2016-12-02interfaces: make no_flatten variant of inteface_ouptut fn defaultDamjan Marion14-26/+17
Flatten variant was used only by old native drivers. Change-Id: If206c6c8b4f10843d60f908c3acb4e8db83ce03d Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-12-02Coverity warning be gone, VPP-486Dave Barach1-2/+2
Change-Id: I72dc2eca558b4a28ade75f0a6d91840b48630543 Signed-off-by: Dave Barach <dave@barachs.net>
2016-12-02snat: fix 1:1 NAT with multiple workersMatus Fabian4-3/+131
Assign worker when static mapping is created. Change-Id: I204e486e2ba5d1ef8e357759c35ba92a25a9a097 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2016-12-02Initialize the UDP checksum, or no supperDave Barach1-0/+1
Change-Id: I542fbe9ccdf83ee220080b2506b38016359e0ce5 Signed-off-by: Dave Barach <dave@barachs.net>
2016-12-02make test: handle exceptions from VppPapiProvider.__init__Klement Sekera1-6/+8
Change-Id: I3c0372d5d09d554ad4ebe0adfa97c111571f628a Signed-off-by: Klement Sekera <ksekera@cisco.com>
2016-12-02Augment Vxlan to support NSH-ProxyHongjun Ni6-13/+87
PatchSet 9: add range check for decap_next_index PatchSet 6: delete runtime range check Change-Id: I415e156d05d09d2ff34f6578924f0b243058f464 Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2016-12-02buffers: fix vlib_buffer_copyDamjan Marion1-2/+2
memcpy should happen after current_data is set. Change-Id: I838f61b54d15a8bb55d54f770f47fb4d58d071cb Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-12-02feature: add interface-output arcDamjan Marion4-2/+126
Change-Id: Ifea275a312e0f2474cdc3a336ac51ea83e403c74 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-12-02Python API: Support for per message CRC and API split.Ole Troan4-245/+767
These changes are incompatible with Python VPP API 1.2 There is now a new VPP Class and it can be used like: from vpp_papi import VPP jsonfiles = [] for root, dirnames, filenames in os.walk('../../../build-root/'): if root.find('install-') == -1: continue for filename in fnmatch.filter(filenames, '*.api.json'): jsonfiles.append(os.path.join(root, filename)) vpp = VPP(jsonfiles) rv = vpp.show_version() print('RV', rv.program.decode().rstrip('\0x00')) vpp.disconnect() Change-Id: Ic92d226de2cf3626e750404012247e7fc24fb7fc Signed-off-by: Ole Troan <ot@cisco.com>
2016-12-02Fix dpdk_validate_rte-mbuf for chained buffersPierre Pfister1-4/+5
Change I4ad40f398f7b5cf introduced a bug with chained buffers. This patch should fix it. Change-Id: Ia409d5eb90fcd6d7ff3c7da0836edfd2eb25998b Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-12-02api: fix inconsistent behaviour when adding l2fib filter entry (VPP-147)Pavel Kotucek2-13/+16
Inconsistency when adding L2 fib entry using CLI and API (doesn't work) Change-Id: I6b58d8a4c444d2712d1a4c225cea5eb5189c355f Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2016-12-02feature: introduce feature arc end nodesDamjan Marion3-23/+35
This change allows us to keep feature path disabled until 1st feature is enabled. Enabling 1st feature also means that end feature node is enabled helping feature arc tenants to reach the end. Change-Id: Idbd64e681bd2b42e7c67612074649e5ae51f46e6 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-12-02MPLS infrastructure improvmentsNeale Ranns57-3797/+3858
- deprecate MPLSoEth and MPLSoGRE; replace with generic MPLS tunnel. - deprecates CLI 'mpls encap ..'; replace with addition of MPLS out label to a route/tunnel. - support for MPLS 'routes', e.g. MPLS x-connects. - deprecates CLI 'mpls decap ..'; replace with 'mpls route .. ' Change-Id: Ibda46544912f880d0200f22bf9ff9b52828fcc2f Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-12-02Fix wrong indentation in vppctl scriptAndrew Li1-1/+1
Change-Id: I6c67df0cef53f93161e3d6b697c4d0fdc1fee8a7 Signed-off-by: Andrew Li <zhaoxili@cisco.com>
2016-12-02API: Packaging of JSON files.Ole Troan19-367/+132
Change-Id: If041b6faf1a091d4758b514f0a8cd800ee0e6a89 Signed-off-by: Ole Troan <ot@cisco.com> Signed-off-by: Ole Troan <otroan@ot-vpp.cisco.com> Signed-off-by: Ole Troan <ot@cisco.com>
2016-12-01Add a 64-byte interface "tag" for vhost and tap interfacesDave Barach8-11/+302
This patch should dispose of spurious objections around interface tag requirements, currently in use as excuses not to support the vpp ML2 plugin. Add "u8 tag[64];" to the sw_interface_details message sent by vpp to control-plane clients. Add u8 tag[64] to the create_vhost_user_if and tap_connect APIs. Added debug CLI to set/show/clear the interface tag on any vnet sw interface. Added the sw_interface_tag_add_del API to set/clear tags on any vnet sw interface. There can be no expectation of "tag atomicity" with respect to physical hardware. Vpp discovers devices before establishing a control-plane connection. This patch upload verifies using the csit oper-161128 branch Change-Id: If8520119e7a586c5ccf0fdda82484ac205622855 Signed-off-by: Dave Barach <dave@barachs.net>
2016-12-01"Update CSIT tests 161120 -> 161128""Peter Mikus1-1/+1
This reverts commit b5388a5319ad7da519280afccbdf63f61833122b. Change-Id: I07160d08e469417933b3da3466ce856ab673e955 Signed-off-by: Peter Mikus <pmikus@cisco.com>
2016-12-01Add vxlan-bypass feature to IP4 forwarding pathJohn Lo9-8/+574
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-01ARP un-unmbered called when no interfaces are unnumberedNeale Ranns1-3/+11
Change-Id: I4bb60d6382f0955dbf4848225a9fd6985b906fbc Signed-off-by: Neale Ranns <neale.ranns@cisco.com>