summaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2020-10-24rdma: implement striding rq for multiseg rxMohammed Hawari4-130/+433
This change leverages the striding RQ feature of ConnectX-5 adapters to support chained buffers on the RX path. In Striding RQ mode, WQE are SG lists of data segments, each mapped to a vlib_buffer. When a packet is received, it can consume one or multiple data segments belonging to the WQE, without wasting the whole WQE. Change-Id: I74eba5b2c2c66538e75e046335058ba011cb27fd Type: improvement Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
2020-10-24rdma: add RSS support for IPv6 and TCPBenoît Ganne2-32/+58
Type: feature Change-Id: I8b0d918e6f13325954b29bf34e4ef224c1315c51 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2020-10-24cnat: coverity fixNathan Skrzypczak3-11/+23
Type: fix Change-Id: Ie1153a0e0f1e9770bf3e0de9291131db91724b2e Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2020-10-24lb: Loadbalancer plugin, correctly rewrite checksum in L3DSR, non-TCP casesHiroki Narukawa1-4/+14
Current loadbalancer seems to rewrite the 17th and 18th octet of L4 header regardless of which kind of L4 protocol is used in case of L3DSR. In case UDP, it rewrites 9th and 10th octet of payload (because UDP header is 8 octets long). If UDP payload is less than 8 octets, UDP checksum becomes invalid. In other protocols similar problems is likely to occue. This patch checks which L4 protocol is used, and rewrite packet regarding the L4 protocol. Signed-off-by: Hiroki Narukawa <nhirokinet@nhiroki.net> Change-Id: I84390ff58a33f05efac0421856beea89014adc72 Type: fix
2020-10-24vmxnet3: add sw_if_index filter to vmxnet3 interface dumpSteven Luong3-1/+178
Introduce a replacement API for vmxnet3_dump which supports interface filter. Type: improvement Signed-off-by: Steven Luong <sluong@cisco.com> Change-Id: I76074db2aa34b397ce570a2019c43e042a9c7838
2020-10-23vlib: log: fix non-null terminated stringsjiangxiaoming1-0/+1
Type: fix Signed-off-by: jiangxiaoming <jiangxiaoming@outlook.com> Change-Id: Id61966048875ca56a416caa520125c8c2366bf7b
2020-10-23tcp: remove snd_una_maxFlorin Coras8-30/+17
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I03f923053499f219035c9b7b6640fc575568d474
2020-10-23tcp: remove force retransmit timer updateFlorin Coras2-17/+8
Also simplify condition for detecting unintended timer pops. Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I8b120dfc2d16e40ee865240dbc9667708cd1c808
2020-10-23tcp: remove delack time configFlorin Coras2-4/+0
Type: refactor Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Iae5045686c62ad9279be350cffeaa41b8297d179
2020-10-23nat: nat44 enable/disable dynamic configFilip Varga11-577/+1008
This patch changes initialization and configuration of NAT plugin. Instead of allocating data structures at vpp plugin initialization phase allocation and configuration happens after calling enable API or CLI call. This reduces base VPP memory footprint and also enables dynamic reconfiguration of the NAT plugin. Type: improvement Change-Id: I42c069ee19a0311d043ac1f3f230d87bc8d2680f Signed-off-by: Filip Varga <fivarga@cisco.com>
2020-10-23vppinfra: add bihash_8/24_16 to headers listjiangxiaoming1-0/+2
Type: improvement Signed-off-by: jiangxiaoming <jiangxiaoming@outlook.com> Change-Id: Ic67977995dbcba97240009373a4b9e9b57c63706
2020-10-22virtio: checksum error reported for ip6 traffic with GSO enableSteven Luong2-11/+1
When GSO is enabled, vhost clears the checksum field prior to transmitting the packet. Some newer kernel version does not like that and complains about checksum error. This was seen with ip6 traffic. Type: fix Signed-off-by: Steven Luong <sluong@cisco.com> Change-Id: I7c6f2a6148f4a30107bfa8b078f5990e64300cf1
2020-10-22svm: support large memfd segmentsFlorin Coras1-2/+2
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I2221934083eb82183af9159e705833bd0984bd5d
2020-10-22tcp: no send space in timer recoveryFlorin Coras1-1/+4
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I9461b6539c504ca844c25d04abe95929f842e4e9
2020-10-22vppinfra: missing __clib_export va_unformatJuraj Linkeš1-1/+1
Fix an issue observed on aarch64 systems when running with dpdk plugin: dpdk_plugin.so: undefined symbol: va_unformat Type: fix Fixes: dae1c7ed38e9f7a86e66f3674de62778cc981331 Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech> Change-Id: I22b7ee842dc606f96effdeb7aa4e161496986aed
2020-10-22pci: set PCI memory enable before mapping PCI BARMohammed Hawari1-0/+12
This change mitigates software faults issued by some versions of the linux kernel vfio-pci driver when VF PCI BARs are used without setting the memory enable bit in the PCI configuration. This problem is mentionned in https://lkml.org/lkml/2020/6/25/628 Change-Id: Idc177be4a5adb6ee467b4dd8f055f133ff267fe1 Type: improvement Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
2020-10-22tap: fix the api for use of vec_lenMohsin Kazmi1-3/+8
Type: fix Fixes: 03b76a20c569b8275beb8783691300a7d66b54a4 Change-Id: Ife788974cb7b2c35f40a017dd195dc2f7ee797b4 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2020-10-21tcp: updating time constans as timer tick changedRyujiro Shibuya2-15/+17
Type: fix Signed-off-by: Ryujiro Shibuya <ryujiro.shibuya@owmobility.com> Change-Id: Ibe305b96f04ffdc95ddb07d144dc00119ae69a07
2020-10-21vlib: per-class logging configuration in startup.confDamjan Marion3-3/+99
logging { class avf { rate-limit 200 level debug syslog-level debug } class dpdk/cryptodev { rate-limit 200 level disabled syslog-level disabled } } Type: improvement Change-Id: Iebe49b3ed4dfbfd589e80fcd2f9a63a8fe66b83b Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-10-21stats: missing dimension in stat_set_simple_counterOle Troan3-9/+26
A simple counter is a two dimensional array by threads and counter index. 28017 introduced an error missing the first dimension. If a vector is updated at the same time as a client reads, an invalid pointer my result. This will be caught by the optimistic locking after copying out the data, but if following a pointer outside of the stat segment then the stat client would crash. Add suitable boundary checks for access to stat memory segment. Fixes: 7d29e320fb2855a1ddb7a6af09078b8ed636de01 Type: fix Signed-off-by: Ole Troan <ot@cisco.com> Change-Id: I94f124ec71d98218c4eda5d124ac5594743d93d6
2020-10-21vppinfra: missing __clib_exportNathan Skrzypczak1-1/+1
Type: fix Change-Id: I2dbd435d04a09f632286e5d669edc5fafd384f94 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2020-10-21vlib: print logs to stderr if interactive or nosyslog setDamjan Marion14-90/+171
If VPP is started in interactive mode, instead of sending logs to syslog server we print them directly to stderr. Output is colorized, but that can be turned off with unix { nocolor } Type: improvement Change-Id: I9a0f0803e4cba2849a6efa0b6a86b9614ed33ced Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-10-21build: fix broken debian dependencies on ubuntu-18.04 & debian-9Dave Wallace1-2/+2
- Installation vpp-plugin-core from packagecloud.io/master & packagecloud.io/2009 breaks due to invalid dependencies on newer versions of libmbedtls & libmbedcrypto Type: fix Fixes: 641467406 Change-Id: If736dabcc4a91a04b46515620dd87662b7b14260 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2020-10-21ikev2: support sending requests from responderFilip Tehlar4-29/+146
Type: improvement Ticket: VPP-1894 Change-Id: I5a24a48416bca2ffbd346cdaa813fb25801e6c9b Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2020-10-21ipsec: support for multipoint on ipsec interfacesNeale Ranns5-7/+64
Type: feature Signed-off-by: Neale Ranns <nranns@cisco.com> Change-Id: Iae9fe35cfbce4c675fa25e0800c0f4629a83e012
2020-10-21ip: convert u32 entry_flags to vl_api_mfib_entry_flags_t on mroute APINeale Ranns6-6/+40
Type: fix This is not an API change, it's the same values, just a different named type. also use VppEnum values in tests Signed-off-by: Neale Ranns <nranns@cisco.com> Change-Id: I3a18b529514f3cc9467ae4e8ac3e88d067fc776b
2020-10-21ikev2: fix setting responder/initiator addressesFilip Tehlar4-67/+95
Type: fix Change-Id: Ic406aa914d92e802a5fb0f27c2ffa1b98db012b0 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2020-10-21ikev2: prevent crash after no IP addressFilip Tehlar1-196/+345
Type: fix Ticket: VPP-1900 This fixes a crash when initiating IKE connection using interface without any IP address. It also ensures that the IKE connection is automatically retried once the interface obtains an address. Signed-off-by: jan_cavojsky <Jan.Cavojsky@pantheon.tech> Signed-off-by: Filip Tehlar <ftehlar@cisco.com> Change-Id: Ia1919c349e64b3a0a4198365e075e177e3ba3de5
2020-10-21cnat: allow max_u16 translation backendsNathan Skrzypczak4-8/+25
Type: fix Allow for 65536 backends for a translation. - use u32 instead of u8 - filter out back_walk with more than FIB_PATH_LIST_POPULAR backends - we're still limited by u16 lb_n_buckets in src/vnet/dpo/load_balance.h Change-Id: Ib37b958e59b25ef5ef9f92b82008d626860faddd Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2020-10-21virtio: run process to send interrupts to input nodesMohsin Kazmi4-17/+112
Type: improvement virtio interfaces support packet coalescing and buffering which depends on timer expiry to flush the stored packets periodically. virtio input node checks timer expiry and schedules tx queue accordingly. In poll mode, timer expiry is handled naturally, as input node runs periodically. In interrupt mode, virtio input node depends on the interrupts send from backend. Stored packets could starve, if there would not be interrupts to input node. This patch implements a process node which periodically sends interrupt to virtio input node given coalescing or buffering feature is enabled on an interface. Change-Id: Ic38f749f74b001073d4d0579dca149d0a4cea039 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2020-10-21ipsec: Add to the SA info directly in the bihashNeale Ranns7-81/+294
Type: improvement this save the cache miss on the protect structure. Signed-off-by: Neale Ranns <nranns@cisco.com> Change-Id: I867d5e49df5edfd6b368f17a34747f32840080e4
2020-10-21vcl: wait for sendto to connect if neededFlorin Coras1-8/+15
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I39948b046c79dea1b034619e1eaa22dd8a4997fb
2020-10-21misc: fix tracedump graph api initialization overflowBenoît Ganne1-2/+0
vppapigen does not create config entries for services stream messages. It is not needed anyway as the api handler does not rely on VPPAPI macros. Type: fix Change-Id: Iba188b0fc6388c478d7e4d0c7ee2c05ed672e23f Signed-off-by: Benoît Ganne <bganne@cisco.com>
2020-10-21af_xdp: fix NUMA node parsingBenoît Ganne1-11/+9
Non-NUMA systems might report -1 as NUMA node. Type: fix Change-Id: I092c817ea670009d6f530cc70ad13d45e15fd363 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2020-10-21stn: remove dependency on tcp and udp headersFlorin Coras1-6/+18
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I8a842759009ec0f433f0aeff47f4e1c889d7b211
2020-10-21gso: remove dependency on tcp proto implementationFlorin Coras3-2/+2
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I3af84e968c38df0452746729dcb722d48fa438fb
2020-10-21svm: fix ASAN annotations for external chunksBenoît Ganne3-0/+9
Chunks can be allocated from another process. We need to manually mark them as accessible for ASAN. Type: fix Change-Id: Ifbeef3346e9cee2c1231f80cbcf7f9673b5b54be Signed-off-by: Benoît Ganne <bganne@cisco.com>
2020-10-21vppinfra: fix ASAN annotationBenoît Ganne1-0/+1
Type: fix Change-Id: I90b537eba7f56dbb1928f0ab5f157218affb43f5 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2020-10-21svm: fix fifo unit testBenoît Ganne1-4/+6
- fix fifo initialization overflowing chunk size - stick to the default base virtual address to initialize fifo. ASAN can be picky about address space Type: fix Change-Id: If9a29138d2c207859d72845e928290c808c4a982 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2020-10-21virtio: improve input node performanceDamjan Marion1-13/+26
- Avoid feature arc lookup per packet, as all packets belong to the same interface - don't validate enqueue for l2 packets, as they all have same destionation Type: improvement Change-Id: I32ddd801f219eab9281736abafdc91a4ff9e0989 Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-10-21virtio: move lock and kick to outer functionDamjan Marion1-31/+28
Type: improvement Change-Id: I4fdcb40142e8cc9f5f1d0035116659543d5d92fe Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-10-21misc: minimize dependencies on udp.hFlorin Coras65-305/+400
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Id13f33843b230a1d169560742c4f7b2dc17d8718
2020-10-21tls: enable cert key pair setting for connectjiangxiaoming1-0/+1
Type: improvement Signed-off-by: jiangxiaoming <jiangxiaoming@outlook.com> Change-Id: Ie0e6d48d65b0b8b493e9d49cfdf93c645523659a
2020-10-21dpdk: Disable VLAN filtering for VLAN sub-interface in i40e driverDimitrios Markou1-2/+2
When creating a VLAN sub-interface on a Fortville i40e DPDK VF, the data plane does not work properly. Enabling vlan filter offload overrides the VLAN strip offload setting to on. The VLAN strip offload must be disabled for VPP VLAN sub-interfaces to work. Ticket: https://jira.fd.io/browse/VPP-1933 Type: fix Signed-off-by: Dimitrios Markou <dimitrios.markou@est.tech> Change-Id: I02c6980e3b01870b69a9375f281125ad48477827
2020-10-20vppinfra: export elog_read_file_not_inline()Dave Barach1-1/+1
Type: fix Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: Ib9fb1723b55bf322c9fd9f928a3e3b4a529bca5b
2020-10-20stats: crash when adding/deleting interfacesOle Troan1-4/+3
create tap delete tap tap0 create loopback interface delete loopback interface intfc loop0 create tap <- here I hit a segmentation fault Type: fix Fixes: 148c7b768721231325a349fa82db693190513b53 Signed-off-by: Ole Troan <ot@cisco.com> Change-Id: If270cc57610e2ded7422e7030d8c1f9fadd4d233
2020-10-20vcl: confirm reset on transport cleanupFlorin Coras1-3/+16
Type: fix Change-Id: Ife579f305409bf987639634213008a7d7f35acd7 Signed-off-by: Florin Coras <fcoras@cisco.com>
2020-10-20vcl: more session struct cleanupFlorin Coras3-104/+108
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I8e466e789c860caaa55f67095a57fc6ab670f32b
2020-10-20wireguard: reset secret data before freeing itBenoît Ganne1-4/+4
Type: fix Change-Id: I880bdd55ae5da0b9775a3fb548d44512348a7bc6 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2020-10-20vcl: convert vep variables into flagsFlorin Coras4-66/+56
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ief017abc4879bc928746d9f5b9d2cfe04da89bd3