aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins
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-23tcp: remove snd_una_maxFlorin Coras1-8/+2
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I03f923053499f219035c9b7b6640fc575568d474
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-21vlib: print logs to stderr if interactive or nosyslog setDamjan Marion6-13/+17
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-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-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-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-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-21misc: minimize dependencies on udp.hFlorin Coras33-26/+36
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Id13f33843b230a1d169560742c4f7b2dc17d8718
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-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-19vcl: cleanup read and write readyFlorin Coras1-0/+2
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ib6afedf24c7bd7cc0d98bb324a83517030a05aa7
2020-10-19ip: Move the IP6 fib into ip6_[m]fib.cNeale Ranns2-2/+1
Type: improvement reduce the compile time by moving the bihash includes out of ip[46].h Signed-off-by: Neale Ranns <nranns@cisco.com> Change-Id: I6b9216e10aff1013071f9238b3e1ebbdd205bd80
2020-10-19hsa: refactor socket client appFlorin Coras3-315/+177
Type: refactor Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I020e62e1ad929742e1b14b807de3a6f04a9e496f
2020-10-19hsa: cleanup sock server testFlorin Coras2-380/+261
Type: refactor Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I769174f0023d00a59bc5a03cf0a05996b616742b
2020-10-19misc: don't export symbols from pluginsDamjan Marion5-6/+7
Type: improvement Change-Id: I2a176fe2871d2e54b010bffc4f1f7a3616f0c455 Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-10-16acl: do vlib_buffer_enqueue_to_next in outer functionDamjan Marion1-8/+11
Improves compilation time and reduces object file size for 1MB Type: improvement Change-Id: Ibe4840c0ced22070248d93822ea61afe20aff65c Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-10-16nat: error in input parameter of init_nat_kDengfeng Liu1-1/+1
Type: fix Signed-off-by: Dengfeng Liu <liudf0716@gmail.com> Change-Id: I3e7ee771d0cf5b7b1b9fbbc833776d523dfa9f09
2020-10-14crypto: fixed ipsec_mb lib dependenciesPiotrX Kleski1-15/+0
Type: fix This patch re-enables libIPSec_MB build for the ipsecmb crypto engine plugin. Also since DPDK meson build relies on system installed libIPSec_MB.so that may be inconsistent with VPP compiled one (system installed version vs VPP locally compiled version for example), this patch also disables all libIPSec_MB dependant PMDs from DPDK build. Also ipsec-mb version is incresed to 0.54. Signed-off-by: PiotrX Kleski <piotrx.kleski@intel.com> Reviewed-by: Fan Zhang <roy.fan.zhang@intel.com> Change-Id: I2ff9e7cd0c35cff9fa642895301a26a5350ea94e
2020-10-14nat: Fix ICMP bypass session creationVladimir Isaev1-0/+6
After get_icmp_o2i_ed_key() bihash key may include IP protocol and addresses from inner ICMP packet. It is OK for session lookup, but we should not create a session on ICMP error message receiving. Type: fix Signed-off-by: Vladimir Isaev <visaev@netgate.com> Change-Id: Ic93272ebe90d2288a975265439f9e079eb28936a
2020-10-14cnat: Fix backend LBNathan Skrzypczak1-1/+1
Type: fix Change-Id: I4ea263270bcc38e505e88d512acacef7439f3823 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2020-10-13stats: counters data modelOle Troan7-89/+131
This adds a new data model for counters. Specifying the errors severity and unit. A later patch will update vpp_get_stats to take advantage of this. Only the map plugin is updates as an example. New .api language: A new "counters" keyword to define counter sets. counters map { none { severity info; type counter64; units "packets"; description "valid MAP packets"; }; bad_protocol { severity error; type counter64; units "packets"; description "bad protocol"; }; }; Each counter has 4 keywords. severity, which is one of error, info or warn. A type, which is one of counter64 or gauge64. units, which is a text field using units from YANG. paths { "/err/ip4-map" "map"; "/err/ip6-map" "map"; "/err/ip4-t-map" "map"; "/err/ip6-t-map" "map"; }; A new paths keyword that maps the counter-set to a path in the stats segment KV store. Updated VPP CLI to include severity so user can see error counter severity. DBGvpp# show errors Count Node Reason Severity 13 ethernet-input no error error Type: feature Signed-off-by: Ole Troan <ot@cisco.com> Change-Id: Ib2177543f49d4c3aef4d7fa72476cff2068f7771 Signed-off-by: Ole Troan <ot@cisco.com>
2020-10-13ikev2: fix initial contact cleanupFilip Tehlar2-306/+562
When looking for existing SA connection to clean up search all per thread data, not only current one. Type: fix Change-Id: I59312e08a07ca1f474b6389999e59320c5128e7d Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2020-10-13ikev2: fix coverity warningFilip Tehlar1-5/+21
Type: fix Change-Id: Iee96b3ea3e71ec248c3c3c98d153a08372b5faf0 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2020-10-13ikev2: fix memory leak in auth routineFilip Tehlar1-0/+4
Type: fix Change-Id: I93529b069925fcef32cdb22e27975b802b4c3b97 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2020-10-12misc: clang-11 and gcc-10 supportDamjan Marion2-3/+3
clang-11 complains: error: field 'buffer_template' with variable sized type 'vlib_buffer_t' not at the end of a struct or class is a GNU extension [-Werror,-Wgnu-variable-sized-type-not-at-end] Type: improvement Change-Id: I2cb6b4fde723a05b42cf33dd8130df074f0362ab Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-10-12nat: set fib index for bypass sessionVladimir Isaev2-1/+2
Bihash key already contains rx_fib_index for lookup but fib value for session itself is set to 0. In the result bihash is allocated with key with fib index set, but free function is looking for key with fib index set to zero. It leads to use-after-free because session itself is removed from pool but bihash is not because of key mismatch. Type: fix Signed-off-by: Vladimir Isaev <visaev@netgate.com> Change-Id: I8ac5a41b0a5a32b1baab9e9d757141d5b24b7798
2020-10-12lldp: fix typo in mac address constantDmitry Vakhrushev1-1/+1
Type: fix Fixes: 149fd3fbd069a5f7be86e68472578ee7af229cb6 Signed-off-by: Dmitry Vakhrushev <dmitry@netgate.com> Change-Id: I06956f3ed3689172c3682d6b707991613255cabd
2020-10-12lldp: fix memory leakageDmitry Vakhrushev1-6/+16
1. Typo in usage of vnet_hw_interface_add_del_mac_address(), which returns 0 when it succeeds instead non zero value. 2. Generated error doesn't clean allocated resources for an interface. 3. Returned value from vnet_hw_interface_add_del_mac_address() should be erased or reported. Type: fix Fixes: 149fd3fbd069a5f7be86e68472578ee7af229cb6 Signed-off-by: Dmitry Vakhrushev <dmitry@netgate.com> Change-Id: Ia6b28ae70fea127d15eb0102223ff972358766bc Signed-off-by: Dmitry Vakhrushev <dmitry@netgate.com>
2020-10-09avf: add add_del_mac_address handlerDamjan Marion2-33/+89
Type: improvement Change-Id: I4d0b1cd87cf2f58a653f40a300da4b7a43348a06 Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-10-09acl: move nonip nodes to separate fileDamjan Marion3-221/+296
Type: refactor Change-Id: Idcef8effa86d6421e4b3e5f747695ddb2982e78f Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-10-09wireguard: park the timer processDave Barach5-2/+68
Until the feature is configured. It would make sense to push more of the feature init code into the newly-added wg_feature_init() function. This patch fixes a severe hemorrhoid. Type: improvement Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I87095575363baa41407dd52492159a7b8c2899e7
2020-10-09nat: ipfix logging separation & refactorFilip Varga14-263/+240
Type: refactor Change-Id: I8785e4987e4f60361072440d0c3c6954c9c12394 Signed-off-by: Filip Varga <fivarga@cisco.com>
2020-10-08interface: shorten vnet_hw_if_rx_modeDamjan Marion5-10/+10
This is part of bigger refactor. Type: refactor Change-Id: I6fc2c0a1e2d217a70952901bcf775b8485bd3c20 Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-10-08nat: use proper type for countersKlement Sekera1-2/+2
Type: improvement Signed-off-by: Klement Sekera <ksekera@cisco.com> Change-Id: I330822c5d675cdfa57ab75ceb0223f11e0ebb7d2
2020-10-07misc: Purge unused pg includesNeale Ranns41-41/+0
Type: style Signed-off-by: Neale Ranns <nranns@cisco.com> Change-Id: I26a19e42076e031ec5399d5ca05cb49fd6fbe1cd
2020-10-07nat: move nat64 to a subfeatureFilip Varga21-2636/+3607
Type: refactor Change-Id: I3b9e17164647d2019b1f40cffeed63393345219e Signed-off-by: Filip Varga <fivarga@cisco.com>
2020-10-07nat: det44 plugin fix style and api cleanupFilip Varga3-18/+22
Type: refactor Change-Id: I3c5ca31de8046b82fb3d3f364ba88370fe51ef02 Signed-off-by: Filip Varga <fivarga@cisco.com>
2020-10-06feature: Add packet trace APIJon Loeliger9-4/+1036
Also spiffed up the vpp_api_test plugin loader so it executes VLIB_INIT_FUNCTIONs and VLIB_API_INIT_FUNCTIONs. Type: feature Change-Id: Id9a4f455d73738c41bcfea220df2112bb9679681 Signed-off-by: Jon Loeliger <jdl@netgate.com> Signed-off-by: Ole Troan <ot@cisco.com> Signed-off-by: Dave Barach <dave@barachs.net>
2020-10-05ikev2: support ipv6 traffic selectors & overlayFilip Tehlar11-380/+695
Ticket: VPP-1917 Type: feature Change-Id: Ie9f22e7336aa7807b1967c48de9843df10fb575c Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2020-10-02lldp: set interface MAC address when enabledKlement Sekera3-10/+28
Type: improvement Change-Id: I4f2dc4e4c1c467fb9acd0fed231c56fcd54c8da9 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2020-10-02memif: map shared memory with clib_mem_vm_map_shared(...)Damjan Marion1-10/+25
Type: improvement Change-Id: I91031d56aae884a0a42fca343a2fc24c442b1da8 Signed-off-by: Damjan Marion <damarion@cisco.com>