aboutsummaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2020-03-16rdma: introduce direct verb for Cx4/5 txBenoît Ganne5-73/+557
Direct Verb allows for direct access to NIC HW rx/tx rings. This patch introduce TX direct verb support for Mellanox ConnectX-4/5 adapters. 'dv' mode must be explicitely selected at interface creation to benefit from this. Type: feature Change-Id: If830ba9f33db73299acdbddc68b5c09eaf6add98 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2020-03-16rdma: add Mellanox mlx5 Direct Verbs receive supportDamjan Marion8-37/+859
Type: feature Change-Id: I3f287ab536a482c366ad7df47e1c04e640992ebc Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-03-16svm: chunk alloc statsRyujiro Shibuya2-5/+13
Type: feature Showing number of allocated chunks by size, in addition to the freelist chunks by size. Signed-off-by: Ryujiro Shibuya <ryujiro.shibuya@owmobility.com> Change-Id: I50f7b695a217f132d5f0b307182a34752d3fe1dc
2020-03-16tls: refactor Picotls ctx_read function to reduce one time memory copySimon Zhang2-57/+50
Type: refactor Signed-off-by: Simon Zhang <yuwei1.zhang@intel.com> Change-Id: I7a952fd95e49468a0d1c763b3e289648c93539da
2020-03-16vxlan: vxlan/vxlan.api API cleanupJakub Grajciar4-53/+66
Use consistent API types. Type: fix Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com> Change-Id: I7f6f37ec6eed780322e2488d6eb0f5681945ba09 Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2020-03-15map: fix translation of icmp4 error messagesAlexander Chernavin2-6/+51
ICMP error messages are translated to ICMPv6 error messages with erroneous destination address in the outer IPv6 header because sender port is used instead of receiver port. Both source and destination addresses in the inner IPv6 header are translated erroneously because source and destination addresses of the inner IPv4 header are getting zeroed during the translation. With this commit, use receiver port for translation and save addresses of the inner IPv4 header before translation of the inner header. Type: fix Change-Id: I1e93d54c1bbc154b401adcbb0fb661299655d01a Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
2020-03-15nat: test cleanupKlement Sekera1-291/+261
Type: improvement Signed-off-by: Klement Sekera <ksekera@cisco.com> Change-Id: I5ec761bfcdc13a8238b83ff46c2f1c53ec0e79d8
2020-03-13tls: small refactor for Picotls engine ctx_write functionSimon Zhang2-22/+23
Type: refactor Change-Id: I761fc764e6771dc95eb64614479c27fd44016690 Signed-off-by: Simon Zhang <yuwei1.zhang@intel.com>
2020-03-13nat: in2out/out2in handoff node index bugfixElias Rudberg1-2/+2
This fixes a bug in the initialization of handoff_out2in_index and handoff_in2out_index where the node index for out2in was set to the in2out node, and vice versa. Type: fix Signed-off-by: Elias Rudberg <elias.rudberg@bahnhof.net> Change-Id: I983ddd3b3cec06f4cb3fb95b2a9cda4ab6d1270f
2020-03-13vlib: add verbose sh node optionFlorin Coras1-3/+28
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I915dace4afe07ac3281f248ef7468fa5247c9668
2020-03-13sr: SRv6 coverityPablo Camarillo1-23/+8
Fixes 4 coverity issues Type: fix Signed-off-by: Pablo Camarillo <pcamaril@cisco.com> Change-Id: Ib3ef1df3e5d601d7751445ae1c9603bb6ce0f80c
2020-03-13devices: netlink create the object if missingDave Barach1-4/+4
Type: fix Fixes: b49bc1a Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com> Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I3dd81a2484c8b4925fd07556576c29d1cde337e1
2020-03-13nat: timed out session scavenging upgradeFilip Varga11-293/+615
Patch changes the behavior of session scavenging and fixes multiple nat issues. Allows proper session clearing and removes issue with lingering sessions in session db. Patch also updates and fixes CLI/API calls for better readability of session state metrics. Fixes security issue that would allow attacker to reuse timed out session in both directions (in2out/out2in). Type: improvement Signed-off-by: Filip Varga <fivarga@cisco.com> Change-Id: I78897585a2a57291fad5db6d457941aa0a0457bd
2020-03-13dpdk-ipsec: Fix for multipoint IPSECNeale Ranns1-4/+4
Type: fix fetch the sa_index from the correct location Change-Id: I351035ee0226c47585995ff9122320fd5c73ec53 Signed-off-by: Neale Ranns <nranns@cisco.com>
2020-03-12svm: cleanup chunk and fifo allocationFlorin Coras1-37/+62
Type: refactor Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I2426211f48b242e51aeb1edc87c1cd21c526dbfa
2020-03-12vppinfra: refactor clib_timebase_tDave Barach9-19/+37
Add a clib_time_t * argument to clib_timebase_init(...), to encourage client code to share the vlib_main_t's clib_time_t object. Display the current day / date in GMT via the "show time" debug CLI. Fix the test framework so it processes the new "show time" output format. Type: refactor Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I5e52d57eb164b7cdb6355362d520df6928491711
2020-03-12vppinfra: remove time jump workaroundDave Barach1-14/+0
A partial revert of gerrit 25729. The last_run_time == 0.0 check is necessary and remains in place. Type: fix Fixes: 3d9f134 Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I3d2c9f90b2bc867f02c4749a5b19f997b84185b9
2020-03-12dpdk: tx/rx burst function description refactorChenmin Sun1-6/+31
DPDK provides two new APIs to retrieve information about the Tx/Rx packet burst mode: rte_eth_tx_burst_mode_get rte_eth_rx_burst_mode_get This patch leverages these two APIs to describe the tx/rx mode. Currently, Intel X710/E810 and Mellanox Mlx5 support the new APIs. For NICs that don't support the new APIs, still use the original way to print their tx/rx function name Type: refactor Signed-off-by: Chenmin Sun <chenmin.sun@intel.com> Change-Id: Ibe47f5debe3b3f17f462fbf9834394e22845cc08
2020-03-12vrrp: unit tests do not run by defaultMatthew Smith1-1/+3
Type: fix Fixes: 39e9428b90 VRRP unit tests fail sometimes for changes which have not touched any code related to VRRP. There were some timing-related changes recently which probably made the VRRP tests, which rely on a VR changing state within a certain amount of time, start failing. Set the VRRP tests to only run with the extended tests rather than running by default. This is temporary so VRRP will not cause spurious build failures while a proper solution is figured out. Change-Id: I5826ea39b944dfb9b0ca4bdfa2ebbe86d269f935 Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2020-03-12vlib: fix unix cli SIGSEGV for empty line inputFan Zhang1-1/+2
When logging is enabled, an empty line input (press Enter only) will cause SIGSEGV. This patch fixes the problem by checking the command length first. Type: fix Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com> Change-Id: Ib4cbd1c7bfd6a694e289d28958875c7d2356a93e
2020-03-12policer: API cleanupJakub Grajciar6-80/+142
Use consistent API types. Type: fix Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com> Change-Id: Ia14f33992353b419b70b55beed63ab8ed6a2e837 Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2020-03-12ikev2: fix udp encapFilip Tehlar1-3/+3
Type: fix Change-Id: I2c89accddf2307fa975b71e974d4091499f104ed Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2020-03-12sr: SRv6 uN behaviorPablo Camarillo9-36/+620
Implements the uN behavior Type: feature Change-Id: Icb5efc560e09052cd183b468772cf7f799f81194 Signed-off-by: pcamaril <pcamaril@cisco.com>
2020-03-11nat: dslite plugin separationFilip Varga15-84/+213
Type: refactor Signed-off-by: Filip Varga <fivarga@cisco.com> Change-Id: I81546423200cc7f8a06b527dac8ead191a9e0519
2020-03-11vppinfra: minimize tw verbosity on timebase jumpFlorin Coras1-2/+3
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I5db3457a9fed11d6ecf6eaabcdf8f1d1177b2a9f
2020-03-11vlib: unix cli - log cli commands one per linePaul Vinciguerra1-0/+2
This changeset modifies the log output so that cli commands now look like: cat /tmp/vpp-cli.log 2020/03/10 19:24:42:186: ***** Start: PID 29570 ***** /* [0] is stdin */ 2020/03/10 19:24:53:518[0]: show clock 2020/03/10 19:24:56:078[0]: show clock 2020/03/10 19:25:01:983[0]: show pci /* [1] is vppctl socket */ 2020/03/10 19:26:14:372[1]: show ver 2020/03/10 19:26:23:395[1]: show hardware-interfaces 2020/03/10 19:26:28:507[1]: q instead of: cat /tmp/vpp-cli.log 2020/03/01 00:40:12:834: ***** Start: PID 29974 ***** 2020/03/01 00:40:24:969[0]: show interface2020/03/01 00:40:31:945[0]: show clo2020/03/01 00:40:41:288[0]: show classify 2020/03/01 00:40:43:753[0]: show classify ?2020/03/01 00:40:53:392[0]: show classify tables2020/03/01 00:40:57:352[0]: quit Type: improvement Change-Id: I38d85535977296d174db7121ae340850b6476a39 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2020-03-10tcp: protect against forced cleanupsFlorin Coras1-0/+2
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I0c3b847044d522f55dfd8262afa7c161d5bd5dd3
2020-03-10vppinfra: improve timebase resilienceDave Barach1-3/+20
Deal with arbitrary kernel reference time changes: for example, yanking the kernel reference clock back to a time before vpp started. Best practice involves aligning the kernel reference clock with reality prior to starting apps which use 10us granularity timers. Compute change in the reference and cpu clocks. Recompute the vpp start time reference and and total cpu clock count, using the current clock tick rate. Next, compute a new clock rate sample. If the sample seems sane, factor it into the exponentially smoothed clock rate and recalculate total cpu ticks based on the new clock rate. Type: fix Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: Ib6132ffbbe0e6d140725676de5e35be112a31dfe
2020-03-10lb: fix coverity warningDave Barach1-1/+1
Type: fix Ticket: VPP-1837 Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I357eb72d478d8175ab9c7cf502d312ab3112213e
2020-03-10mpls: add user defined name tag to mpls tunnelsIJsbrand Wijnands4-4/+19
This allows a user creating MPLS tunnel through the bin_api to add a name tag. This is useful to correlate the Tunnel with its use-case. Also useful if the user needs to recover the MPLS Tunnel after a restart (mark-sweep). Type: feature Change-Id: Signed-off-by: IJsbrand Wijnands <ice@cisco.com> Change-Id: Idc080a63810a176ab090a2678a73d2cf9f7b523f
2020-03-10ipsec: API cleanupJakub Grajciar2-25/+27
Use consistent API types. Change vl_api_ipsec_proto_t to iana values: ESP 50, AH 51, Type: fix Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com> Change-Id: I2becefb343246e0233f290fefbfdd172d8237325 Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2020-03-09svm: track fifo segment virtual memory consumptionFlorin Coras3-38/+69
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I89d33d8e7e7ab049750439b22ba50372fd2261ca
2020-03-09vppinfra: fix corner cases in tw_timer_expireDave Barach1-1/+22
Type: fix Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I4b3ff6e9c8e1d76037b168aeab36dcb5b4482260
2020-03-09ip-neighbor: add description to the age parameterVratko Polak1-0/+1
Type: docs Change-Id: I311301328fb5e47ba1c3caaff18431738bbd1233 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2020-03-09udp: fix UDP socket byte order in lookupAndreas Schultz1-1/+2
The port registry uses host byte order for while the session API uses network order. In a single place the conversion was missing. Type: fix Signed-off-by: Andreas Schultz <andreas.schultz@travelping.com> Change-Id: Ic8cfe2cb4e0711b3e0614060ff6b4f2fe4ed4391
2020-03-09l2: API cleanupJakub Grajciar3-88/+121
Use consistent API types. Type: fix Change-Id: I7ac7cd00606101864fa3422e7b9ea2f1143665dd Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2020-03-08vppinfra: fix 32-bit overflow in os_cpu_clock_frequencyDamjan Marion1-1/+1
Type: fix Change-Id: I23250fcbc70086584b5448baec9af9a1528992f5 Signed-off-by: Damjan Marion <damarion@cisco.com> Signed-off-by: Dave Barach <dave@barachs.net>
2020-03-07vcl: fix coverity warningFlorin Coras1-2/+2
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I35fba8f17bdd6e2f5612358608ff6c13f4b431fe
2020-03-07tls: refactor ctx_write function to avoid allocate new memory every timeSimon Zhang2-14/+46
Type: refactor Signed-off-by: Simon Zhang <yuwei1.zhang@intel.com> Change-Id: Ic34729d58a4218046afacaffc765649beb056a24
2020-03-06ip-neighbor: populate neighbor age via APIVladimir Ratnikov2-0/+4
When we get ip-neigbor information using VPP API, it's age can be very useful information. This patch adds age entry to API and neighbor type Type: feature Signed-off-by: Vladimir Ratnikov <vratnikov@netgate.com> Change-Id: I822e70ba7a2bdd85fec40930cfc9341ab71f7cb3
2020-03-06session: fix session reschedule conditionFlorin Coras1-1/+1
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I01441e958517e31260e67c8caea5f75d684b2711
2020-03-06vcl: refactor vls to minimize lock usageFlorin Coras2-105/+418
Type: refactor - per vls worker private pool of sessions - deep copy of vls worker data structures on fork - maintain a global, i.e., heap allocated, and lock protected pool of elements that track sessions that are shared between workers (due to forking). Credit for uncovering the issue goes to Intel team contributing code to VSAP (Ping, Yuwei, Shujun, Guoao). Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Id7d8bb06ecd7b03e4134f1cae23e740cf4634649
2020-03-06crypto: align per thread data to cache lineFilip Tehlar2-1/+4
Type: improvement Change-Id: I6bad46403c07b211dfda7229aed1b5e19342865f Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2020-03-06ikev2: align per thread data to cache lineFilip Tehlar2-1/+4
Type: improvement Change-Id: Id8fc6750e856862157917587234a6b7b03531b13 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2020-03-06build: building applications outside of vpp is missing header filesIJsbrand Wijnands1-0/+3
Building applications using the VPP bin_api outside of the VPP tree is broken, missing these includes. Type: fix Change-Id: Signed-off-by: IJsbrand Wijnands <ice@cisco.com> Change-Id: Ibcb2fea0f5740a73b9577392aa54ac3c93c8d2b5
2020-03-06fib: path flag FIB_API_PATH_TYPE_INTERFACE_RX not copied to clientIJsbrand Wijnands1-0/+4
This path flag FIB_API_PATH_TYPE_INTERFACE_RX is not copied to the client bin_api. Type: fix Change-Id: Signed-off-by: IJsbrand Wijnands <ice@cisco.com> Change-Id: I612044d2f564c852f83fceb63ce750a6330e1365
2020-03-05session: reduce segment reserved bytesFlorin Coras1-3/+2
Type: refactor Rb-trees are no longer maintained in the segment so we don't need to reserve memory. Keeping the option as a means to avoid underlying infra (dlmalloc) and alignment overhead. Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I84741e95d015f7b72c60d9dca20be8e0aee6a915
2020-03-05session: fix segment search on fifo allocFlorin Coras3-30/+31
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Iaa4f9b0ec31a58f7406774f73e1a089bfcf4ac30
2020-03-05session: API cleanupJakub Grajciar9-226/+285
Use consistent API types. Type: fix Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com> Change-Id: Ib752a3425c076eb53bc5255a48039cbb74b1fcce Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2020-03-05api: ipsec: add missing IS_INBOUND flag.Christian Hopps2-0/+6
External IKE daemons need to be able to flag an SA as inbound (just as the included ike plugin does). This commit adds this flag to the API. This change is backward bug-compatible as not setting the flag (old clients) continues to mean all SAs are created as outbound and fib nodes are created for them. The addition of this flag inhibits this forwarding node creation as well as properly flagging the SA as inbound. Ticket: VPP-1845 Type: fix Signed-off-by: Christian Hopps <chopps@labn.net> Change-Id: I195e32c430e51155fac2d9f33671e06ef42a3f7f