aboutsummaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2020-10-29session: fix ct cleanup before full establishementFlorin Coras2-3/+32
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I58fb0e05f62eae45818c23e8e148ff6758ba463a
2020-10-29vcl session: minimize ct io eventsFlorin Coras2-12/+21
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ic4072fbc182fff38a28b415be0bb16f0559a4064
2020-10-29tap: fix the segvMohsin Kazmi1-2/+5
Type: fix Change-Id: I53cb96950f8658d7159fb0bd8ecfa50b6977e5af Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2020-10-29vcl: fix epoll fd cleanupFlorin Coras1-1/+1
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I2886155495ac0e518b9dc09856132cc2f6843503
2020-10-28build: explicitly stop vpp in vpp.preinstDave Barach1-0/+1
Otherwise, "dpkg -i <vpp-debian-packages>" hangs. This is a new behavior. Type: improvement Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I614e6d64b59df1753c8812fdab0f851c8181a7fe
2020-10-28misc: Break the big IP header files to improve compile timeNeale Ranns55-686/+940
Type: refactor Signed-off-by: Neale Ranns <neale.ranns@cisco.com> Change-Id: Id1801519638a9b97175847d7ed58824fb83433d6
2020-10-28virtio: fix the buffer array indexMohsin Kazmi1-1/+1
Type: fix Fixes: 2e6f624f1f82ae0351dd05ad5d930d6876105519 Change-Id: I24a9822d1968a134c7e41221f48296cc8a67dd91 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2020-10-27vcl: postpone unhandled ctrl events if neededFlorin Coras2-63/+117
Unhandled control events, i.e., events delivered outside of epoll/select loops, that need to be propagated to apps should be postponed such that epoll and select can later deliver them. Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I3d05e154382631a16a19e71494c2d92c35dacb70
2020-10-27session: per worker state for ct sessionsFlorin Coras4-87/+131
Type: feature Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Id6f7b2b969eb50eb7611e4e9ca77b7ef0e0519a1
2020-10-26vppinfra: clib_mem_vm_{un}map thread safeDamjan Marion2-0/+25
Type: improvement Change-Id: I1ab1b100000b4d7212c58e10312e16e7527bd333 Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-10-26memif: handle unexpected EPOLLOUT for RX queueSteven Luong1-0/+12
Getting an unexpected EPOLLOUT for RX queue and crashing due to missing callback function on write_function to handle EPOLLOUT. (gdb) f 5 f 5 node=<optimized out>, vm=0x7f948bbe4540 <vlib_global_main>) at /vpp/src/vlib/unix/input.c:325 325 errors[n_errors] = f->write_function (f); (gdb) p *e p *e $21 = {events = 4, data = {ptr = 0x23, fd = 35, u32 = 35, u64 = 35}} (gdb) p file_main.file_pool[e->data.fd] p file_main.file_pool[e->data.fd] $22 = {file_descriptor = 37, flags = 1, polling_thread_index = 0, private_data = 65536, read_function = 0x7f944a87b140 <memif_int_fd_read_ready>, write_function = 0x0, error_function = 0x0, description = 0x7f944be22400 "memif0/1 rx 0 int", read_events = 0, write_events = 1, error_events = 0} (gdb) File descriptors are recycled. It is likely that the EPOLLOUT is meant for the previous owner of the same file descriptor number which memif recycled and memif RX did not expect to receive an EPOLLOUT. For defensive play, we create a dummy callback function to ignore the EPOLLOUT instead of crashing. Type: fix Signed-off-by: Steven Luong <sluong@cisco.com> Change-Id: I535cadbb9b71d3db2995b118c59a12c71f10af09
2020-10-26virtio: improve the compile timeMohsin Kazmi1-36/+32
Type: improvement packet buffering is common code to tun/tap/virtio. Change-Id: I59a339f268a28a0c32756e52d10d1ed6b207db42 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2020-10-26virtio: reduce the compile time for device.cMohsin Kazmi1-15/+19
Type: improvement GRO is common to tap/tun/virtio devices. Hence move to common place. Change-Id: Ibb099f3a80f493ddb934df6bb7640f7c9c370fd5 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2020-10-26tls: separate init from enableFlorin Coras1-29/+50
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Icdeddeffd95492ca34f37e1904b1f5f6d150a6bc
2020-10-26session: fix feature disableFlorin Coras3-2/+22
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I69e912ddf64d8ec89f8d93e02a201781b99de0bd
2020-10-26session: fix ct local listener session indexFlorin Coras1-0/+1
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I015443caefb13306858b4ccadeb0b979ea87299a
2020-10-26vcl: avoid epoll cleanup before app closeFlorin Coras1-69/+74
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I09f9faab72e6b77c975b8b79694081216c6ba115
2020-10-26tcp: byte tracker fixRyujiro Shibuya2-1/+220
Type: fix Signed-off-by: Ryujiro Shibuya <ryujiro.shibuya@owmobility.com> Change-Id: If7e22978a6b65f5b68ccb2bd97b5e0fba167b3bf
2020-10-26avf: use atomic store instead of barrierDamjan Marion2-4/+3
Type: improvement Change-Id: Ifea5f0c2fecb99fd320a2e1141f4b4f0d6a793ca Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-10-26rdma: fix clang-11 buildDamjan Marion1-1/+1
/vpp/src/plugins/rdma/rdma.h:203:17: 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] vlib_buffer_t buffer_template; Type: fix Change-Id: I4661839f262e01fe274a2ee7b3cb70f9bc6b7c62 Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-10-26nat: nat44 cli command fixFilip Varga2-11/+10
Type: fix Change-Id: I4aa0dac544582703316cbcfabe67bcb7dc24d4f7 Signed-off-by: Filip Varga <fivarga@cisco.com>
2020-10-26fib: API to extract any resolving interface rather than the one from theNeale Ranns3-1/+23
best source Type: improvement Signed-off-by: Neale Ranns <neale.ranns@cisco.com> Change-Id: Iaa91cbc7eba94f4ffbdc249ecdb49770bd2ae916
2020-10-26vlib: add VLIB_REGISTER_LOG_CLASS macroDamjan Marion4-48/+96
Type: improvement Change-Id: Iafcaeb88fa3569e042fb9cb270cf062b145416e2 Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-10-24pppoe: make pppoe plugin work with dot1q subinterfaceszstas8-39/+265
- Enabling arc "device-input" with the next node "pppoe-input" on the pppoe cp interface: to get rid of L3_MAC_MISMATCH error - Parsing in the "pppoe-input" node fixed to parse all headers from the scratch - Getting mac address directly from encap interface when filling up DPO adjacency. Anyway, in the case of the dot1q subinterface, we need to get vlan tags to fill the DPO adjacency. Type: improvement Change-Id: I5405931b0f58bef7b852c079a7e66e0da8b5de0f Signed-off-by: Stanislav Zaikin <zstaseg@gmail.com>
2020-10-24vmxnet3: vmxnet3_dump is brokenSteven Luong1-0/+3
control ping id was not set Fixes: gerrit 22396 / I009e806997461ad790f125d6359993862e1c5e5d Type: fix Signed-off-by: Steven Luong <sluong@cisco.com> Change-Id: I6e96533f150da4bd0e651b5572345246623ae0ad
2020-10-24af_xdp: add option to claim all available rx queuesBenoît Ganne6-38/+55
Type: feature Change-Id: I97176c2c90ea664a68078b3a7b7d44eb237a7f13 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2020-10-24ipsec: remove pending nodeFan Zhang3-104/+127
This patch removes esp-encrypt-pending and esp-decrypt-pending graph nodes from ipsec data-path. Type: improvement Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com> Change-Id: Icd90837eafdbfbfdf348681dcafb872593978980
2020-10-24vrrp: asynchronous events on VR state changeMatthew Smith6-23/+130
Type: feature Add API message for an API client to subscribe/unsubscribe to receive an event when a VRRP VR changes state. Add code to build and send the events. Change-Id: Ie92cadd4850d4352c1aaa79c4b0a7daa0f3b04e7 Signed-off-by: Matthew Smith <mgsmith@netgate.com>
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>