summaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2024-01-09session: make app listener pool globalFlorin Coras7-56/+49
One less pointer chase when accepting sessions. Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I20dbb21d15d4a703f76e3b12f04a6f5b5d2a3cd8
2024-01-09session: support for cl port reuseFlorin Coras8-40/+171
Adds support for connectionless listener port reuse. Until now, cl listeners had fifos allocated to them and therefore only one app worker could ever listen, i.e., a session cannot have multiple fifos. To circumvent the limitation, this separates the fifos from the listener by allocating new cl sessions for each app worker that reuses the app listener. Flows are hashed to app worker cl sessions but, for now, this is not a consistent/fixed hash. Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ic6533cd47f2765903669f88c288bd592fb17a19e
2024-01-09session: avoid spurious closed notificationsFlorin Coras1-0/+3
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ia98556e7ae61547cf153c78ec085cd4248bee74a
2024-01-02flowprobe: fix calling vlib_time_now() from worker threadsAlexander Chernavin1-3/+2
Currently, when flowprobe_export_send() calls vlib_time_now(), a pointer to the main thread's vlib_main_t is always passed (the one cached in flow_report_main). However, that code can also be executed from a worker thread. And passing a pointer to the main thread's vlib_main_t to vlib_time_now() from a worker thread may cause time synchronization issues. Also, running a debug binary will cause an assertion failure in vlib_time_now() in this case. With this fix, flowprobe_export_send() passes the pointer to the current thread's vlib_main_t to vlib_time_how(). This doesn't allow to remove @tag_fixme_vpp_workers from the unit tests yet as they will be failing for other multi-worker related problems. Type: fix Change-Id: Ia35e3a4176777b88cf8ca8af8af7c42c495cbc6a Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
2024-01-02http: unify client/server state machinesFilip Tehlar3-329/+363
Type: improvement Change-Id: I57a816fbed8b681dec201edc8d5950a34a555a2b Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2023-12-22session: add flag to track cless sessionsFlorin Coras2-4/+13
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I0bb6aba26f1cd974d6bb3b5fe6234aacfee0d30c
2023-12-22quic: seed random generator during initFilip Tehlar1-0/+8
Quic does not seed random value, so if the plugin is loaded separately RAND_bytes will fail. Type: fix Change-Id: If600cbde1fef30afb6316fc1a355261b008c3191 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2023-12-22session: unset fifo evt to enqueue ack evt on tcp timewaitemmanuel1-3/+6
Incase the ack for the fin is lost twice or want to dup ack packets with incorrect ack/seq # at different times and session state is already closed, this fifo event is set for the first ack that went out and prevents queuing of further events. Type: fix Change-Id: I102019fca26918a51e055a751db7209011bd43ad Signed-off-by: emmanuel <emmanuelscaria11@gmail.com>
2023-12-22vlib: lowercase vmbus device namesAlexander Skorichenko1-5/+5
Use lowercased hex in uuid in sysfs/vmbus names Type: fix Change-Id: Ic4b7b995441723dc1b29ff8a75346cc8ba7f85f1 Signed-off-by: Alexander Skorichenko <askorichenko@netgate.com>
2023-12-22vlib: add error checks to thread pinninghsandid2-8/+21
Type: fix Added error checks around pthread_setaffinity_np calls to stop vpp launch if pinning fails. Change-Id: Iec391c485d1832b6c2ff20fbf789608f6bcf7b57 Signed-off-by: hsandid <halsandi@cisco.com>
2023-12-21buffers: add vlib_buffer_unalloc_to_pool()Damjan Marion1-0/+17
Change-Id: Icd616989a525ef0be6c73a2ad91ae4871cf3921d Type: improvement Signed-off-by: Damjan Marion <damarion@cisco.com>
2023-12-21dev: per-queue format callbacksDamjan Marion2-0/+8
Change-Id: Ia9fa6fab6288b4d0876022e72bf4f49bd00a19d2 Type: improvement Signed-off-by: Damjan Marion <damarion@cisco.com>
2023-12-21fib: format deleted LBNathan Skrzypczak2-1/+15
This patch allows the formatting of deleted Load-balancer objects. This is needed in the case a trace references a DPO that went away in the interim. Type: improvement Change-Id: I6d67519b8d62f69aafde3c8fe3065bc85a7adbde Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2023-12-20virtio: virtio_flags api use enumflag instead of enumOle Troan1-1/+1
In the API there is a difference between enum and enumflags. The latter one allowing multiple set entitires, while enum only allows one. Type: fix Change-Id: I5db88c15c85fc6c7130b7b35febcd1ea02ef8f76 Signed-off-by: Ole Troan <otroan@employees.org>
2023-12-20srv6-mobile: Implement SRv6 mobile API funcsTakeru Hayasaka13-92/+682
This merge request adds the feature to manipulate localsids and policies for SRv6 mobile via API. Type: feature Signed-off-by: Takeru Hayasaka <hayatake396@gmail.com> Change-Id: Ibb46bf71ae1d9d4591ce2c8ccf66f520887dad70
2023-12-15devices: add cli support to enable disable qdisc bypassMohsin Kazmi3-2/+114
Type: improvement Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com> Change-Id: Ic124f44e64bd60f41e750b4118be3e8d1d1eb70b
2023-12-15rdma: add rdma_create_v4 that handles flags properlyVratko Polak4-2/+136
The _v3 was not handling endianness on flags (e.g. mode). Marking _v3 as deprecated, but keeping it as there might be users who learned to preprocess their flag values. + Also, format PCI product_name as a vector, not a string. Type: fix Change-Id: I50c4b44f3570f02518dbd9a43239c1a37612d24a Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2023-12-15session: add forced reset api to ct transportFlorin Coras2-1/+14
Type: improvement Change-Id: Iebf9ee8275a92e962679e3d0d22d33ed0bd8b3ab Signed-off-by: Florin Coras <fcoras@cisco.com>
2023-12-14tls: no closed notify if no app sessionFlorin Coras1-1/+2
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I0e58bb970d371818217390d451cf26925b04970f
2023-12-14bpf_trace_filter: allow use whithout classifierMohammed Hawari3-9/+5
Change-Id: I7ac5693ca547fe7249e7b6297bade70a6052b169 Type: improvement Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
2023-12-13tls: postpone ho cleanup if not fully establishedFlorin Coras2-8/+80
If ho cleans up on first worker before owner of established session receives connected notification, the ho session is prematurely cleaned up. Wait for established ctx to be allocated before freeing ho. Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Icf707e5d8c62a288a49d078460d2ada3b5c41b0e
2023-12-12cnat: undo fib_entry_contribute_forwardingNathan Skrzypczak2-3/+7
Type: fix Change-Id: I9df43a34328209c87177a534d08919dda0af6096 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2023-12-12ipsec: allow receiving encrypted IP packets with TFC paddingArthur de Kerhor1-4/+42
Type: feature Change-Id: I7b29c71d3d053af9a53931aa333484bf43a424ca Signed-off-by: Arthur de Kerhor <arthurdekerhor@gmail.com> Signed-off-by: BenoƮt Ganne <bganne@cisco.com>
2023-12-11vppinfra : fix alignment issuehsandid1-1/+1
Type: fix Modified alignment cast causing crash issues Change-Id: Iae3bb767ef2ba81466bf1567264a4c76ae45bb92 Signed-off-by: hsandid <halsandi@cisco.com>
2023-12-08dev: caps and rx/tx offload supportDamjan Marion4-5/+138
Type: improvement Change-Id: I7972f595444eacdb020f3fa2a60331c40766fc0b Signed-off-by: Damjan Marion <damarion@cisco.com>
2023-12-08dpdk: never override devname if set via configPeter Morrow1-5/+6
Even if the device name is specified in the startup config it may be appended to if the device is a switch domain member. This leads to unexpected device naming if an explicit device name was requested. Type: fix Change-Id: Ib56b4ac41c17008db55dc69497721e3cb7d540c1 Signed-off-by: Peter Morrow <pdmorrow@gmail.com>
2023-12-07dpdk-cryptodev: fix crypto-dispatch node statsPiotr Bronowski2-11/+7
This patch introduces a fix for correcting a counter for the number of processed vectors in the crypto-dispatch node. Type: fix Signed-off-by: Piotr Bronowski <piotrx.bronowski@intel.com> Change-Id: Icaeb925a352a9ac766652f43c4e752f6727cdeb9
2023-12-07misc: fix tracedump `show graph` out-of-bufferDmitry Valter1-3/+3
Use the correct string type for vlib_get_node_by_name. Found by ASAN. Type: fix Signed-off-by: Dmitry Valter <d-valter@yandex-team.com> Change-Id: I679d27050487e013e3320a4c558d78fa60c5e98a
2023-12-07vnet: allow format deleted swifidxNathan Skrzypczak3-7/+8
This patch prevents the sw interfaces format function to fail when the interface was deleted. It also prints the swifindex alongside the 'DELETED' keyword. Printing deleted swifindex should not happen, but it is still helpful to have these safeguards for troubleshooting in the case invariants get corrupted (e.g. fib entry refcounts, ...) Type: improvement Change-Id: I66711049db2eebe0ad17e37c3a260ac81d1e5134 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2023-12-05iavf: set max_pkt_size even for disabled queues to make i40e PF driver happyDamjan Marion1-1/+3
Type: improvement Change-Id: I3daf6c32888a15c7ef1f32e729c1e23765d14dc6 Signed-off-by: Damjan Marion <damarion@cisco.com>
2023-12-05l2: resolve l2 rewrite entry 'hit_count' always being 0 bugyanlong1-0/+2
The hit_count does not implement the corresponding processing logic, and here the missing is fixed Type: fix Fixes: missing Change-Id: I04a8e11d6b48c2a15c371cbeb2467fa89a9d82bb Signed-off-by: yanlong <dyl_wlc@163.com>
2023-12-04http: fix coverity warningFilip Tehlar1-1/+3
Type: fix Change-Id: I659a67293763a6035cfa64a4057ebf716fe93ab4 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2023-12-04iavf: add missing cfg_change_validate callbackDamjan Marion2-1/+4
Type: fix Fixes: 47447f1f Change-Id: I438f5535bc48ca5397b8f5d3fbbd893ca6a511b4 Signed-off-by: Damjan Marion <damarion@cisco.com>
2023-12-04iavf: workaround for case when PF driver sends zero for max_mtuDamjan Marion1-1/+13
Type: improvement Change-Id: Ie4b2b958a24cdde8c183b700d864fc6f5b0df08f Signed-off-by: Damjan Marion <damarion@cisco.com>
2023-12-04dev: mark API handlers as thread safeDamjan Marion1-2/+3
Type: improvement Change-Id: I2acab04ddb6a46a637ed17c683fb37ed7bce3df6 Signed-off-by: Damjan Marion <damarion@cisco.com>
2023-12-02session: no segment handle on worker delFlorin Coras1-2/+2
Coverity report. Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I3ce06634b30688d2a9581b50d462092daa8b4cac
2023-12-01vcl: remove perror ldp callFlorin Coras1-1/+0
Reported by coverity Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Idae1bceb1eeb6dfe0394eed39ced9d09342d201f
2023-12-01ipsec: should use praddr_ instead of pladdr_Dengfeng Liu1-1/+1
Type: fix Change-Id: I982ef624226807d7c263e3ff83c108f7d31f61f1 Signed-off-by: Dengfeng Liu <liudf0716@gmail.com>
2023-12-01iavf: limit maximum number of queues to 32Damjan Marion1-3/+5
First genaration of AVF APIs we currently use doesn't support more... Type: improvement Change-Id: I1ae27f322403a2b455fcad8b028fa2004b449789 Signed-off-by: Damjan Marion <damarion@cisco.com>
2023-11-30dev: use the endian reply macroVratko Polak1-34/+34
Checkstyle also forces the new indentation. Type: fix Fixes: ddf6cec37027547ff7cc61e15bb8080664d41514 Change-Id: Ife96928d6ca30ba94e1c423d557d6ed9d68eca2b Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2023-11-29session: no reply on app del worker with sapiFlorin Coras1-0/+4
With socket api, applications should not expect reply after worker del msg. VCL in particular closes the socket after it enqueues the message. Found by ASAN. Type: fix Signed-off-by: Dmitry Valter <d-valter@yandex-team.com> Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I1be02a0cde6b96a96edb709f3fe30bbc01ff2d24
2023-11-29vcl: fix init of ldp workersFlorin Coras1-4/+2
LDP workers is used as vector but was initialized as a pool. There was no side effect but ASAN does not properly unpoison memory and this triggers false used-after-poison crashes. Type: fix Signed-off-by: Dmitry Valter <d-valter@yandex-team.com> Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ie769dad0e86ab970de9929800d0a4131f846e70e
2023-11-29tcp: fix rxt send of new data assertFlorin Coras1-2/+1
We might have less than 1 mss when attempting write but more after write, as application could be actively enqueuing more data. Relax assert. Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I54a83c4460f8e022a88758f0ebd7828df711dbb9
2023-11-29pci: fix MSI-X vector length checkDamjan Marion1-1/+1
Type: fix Fixes: 38c6191 Change-Id: I7760947986dc56236f2494fb1c8c238321489ef6 Signed-off-by: Damjan Marion <damarion@cisco.com>
2023-11-28tcp: allow unsent segments less than mss in recoveryFlorin Coras1-3/+7
During recovery, send unsent data even if less than mss available as application is not guaranteed to provide more. This should speed up recovery when all data in flight was lost. Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I7a3c73a0d04d93d51a5910d85450c173c3ad8e93
2023-11-28tcp: add counter for accepted connectionsFlorin Coras2-1/+2
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I2925134cfcfa36c14b3b69efa892b9b96fce2e6f
2023-11-28session: fix asan failureGeorgy Borodin1-2/+5
fix asan failure when params number is less then 3: functions that are set as format_half_open pointer values have different number of arguments Type: fix Fixes: de9a849a18514f0b09bb5f57a73f6a57ee425c76 Change-Id: I6b6e1adf4ffc0c1ec847613f00fe269af640d42b Signed-off-by: Georgy Borodin <bor1-go@yandex-team.ru>
2023-11-27fib: fix fib_path_create() with drop targetsAlexander Skorichenko1-1/+2
Properly set type path->fp_type = FIB_PATH_TYPE_SPECIAL for paths with (path->fp_cfg_flags & FIB_PATH_CFG_FLAG_DROP) Type: fix Change-Id: Id61dbcda781d872b878e6a6410c05b840795ed46 Signed-off-by: Alexander Skorichenko <askorichenko@netgate.com>
2023-11-27bfd: fix buffer leak when cannot send periodic packetsAlexander Chernavin1-1/+1
When a periodic BFD packet cannot be sent because the interface is disabled, the allocated buffer needs to be freed. This currently will occur for IPv4 sessions. However, buffers will leak for IPv6 sessions as in this case, bfd_transport_control_frame() and bfd_transport_udp6() will not indicate failure. With this fix, stop always returning success in bfd_transport_udp6() and start returning the actual return value. Type: fix Change-Id: I5fa4d9206e32cccae3053ef24966d80e2022fc81 Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
2023-11-27tcp: allow multiple rxt rescues during recoveryFlorin Coras1-2/+2
Type: improvement Change-Id: Ia8d7cd6ff9b1449d986d514d9556cbf803deb670 Signed-off-by: Florin Coras <fcoras@cisco.com>