aboutsummaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2021-05-12session: support half-close connectionliuyacan15-6/+217
Some app(e.g. Envoy) may call shutdown() instead of close() when draining connection. Type: improvement Signed-off-by: liuyacan <liuyacan@corp.netease.com> Change-Id: I9543b9ca3caa87b10b134fd1fc4019124e41e4d2
2021-05-11ip: ensure ttl doesn't decrease to 0 when puntingAloys Augustin1-0/+2
Change-Id: I248ef12fd34ea2a1c383fbcc530a8ffeb31ba92b Type: fix Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
2021-05-11interface: tx queue infraDamjan Marion13-57/+503
Type: improvement Change-Id: I415b2f980de10ca3154d2c8677c24792453eccd0 Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-05-11build: compiler flags handling cleanupDamjan Marion5-49/+49
Type: make Change-Id: I51f30edb91e09525ba116fe3941f2e43f9718da7 Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-05-11quic: alloc ctx on udp threadFlorin Coras1-9/+10
UDP sessions are allocated on first worker because main does not poll. Consequently, quic should also allocate connection on first, to avoid multiple migration events. Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ice229a42c399e87150e0f6dd76e2e06ab271556c
2021-05-11vppinfra: Add missing %oNathan Skrzypczak1-0/+4
This is used in vppinfra/socket.c:495 Type: feature Change-Id: I89b409ae7abb01723108ae3e6c55bb1675db50ee Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2021-05-11vlib: exec cmd handle scripts with blank linesDave Barach1-3/+21
Type: fix Fixes: 2f96e7648b9b7d501088eddff7e4a761973e71f4 Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: Ia75c863850c0df978f61bfc0343a167d8636ed97
2021-05-10misc: fix crash in lawful intercept CLIhemant_mnkcg1-6/+6
Type: fix Signed-off-by: hemant_mnkcg <hemant@mnkcg.com> Change-Id: I097815617053dac09de7ad3092b3d3071770114f
2021-05-10session: use half-open sessions for vc establishmentFlorin Coras9-119/+126
Use half-open sessions to track virtual circuit connection establishment. These sesssions can only be allocated and freed by the thread that allocates half-open connections (main). Consequently, they can only be freed on half-open cleanup notifications from transports. Goal is to simplify state tracking within the session layer but it's also a first step towards allowing builtin apps to track and cleanup outstanding connects. Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I8a535906d13eb7f8966deb82333839de80f8049f
2021-05-10dpdk: do not crash when failing to bring interface upBenoît Ganne1-5/+9
If dpdk device starts failed for some reason, we should not try to get stats and the interface must remain down. Type: fix Change-Id: I0079f89d3b43a9b47553991347da8ed4ce6ede8d Signed-off-by: Benoît Ganne <bganne@cisco.com>
2021-05-10svm: try chunk alloc only if enough space availableFlorin Coras1-1/+2
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I3c52dd783601d50e981f75bd05a7b95c03bb5c22
2021-05-10gso: fix the gro coalesced chain lenMohsin Kazmi1-1/+2
Type: fix Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com> Change-Id: I86b940384a6898d4cb04f3decf30996c94b43d07
2021-05-10api: fix crash in vl_msg_api_freewanghanlin1-1/+15
VPP crash when ASSERT in clib_mem_free. Type: fix Signed-off-by: wanghanlin <wanghanlin@corp.netease.com> Change-Id: Id06d833caab3385446528d62a6ed3bde38d57db0
2021-05-08vhost: low performance in interrupt mode in some casesSteven Luong1-35/+19
When vhost and another interface, say tap, are configured for interrupt mode, performance number may be very low from vhost. Further analysis discovers that when vhost posts an interrupt to the RX infra, there is a 10 msec delay in waking up its input routine. The delay is due to vhost posts the interrupt from the main thread which tries to wake up the worker thread. The fix is for vhost to move the posting interrupt call to the corresponding input worker thread by calling vnet_hw_if_set_rx_queue_file_index() to set it up. While at it, streamline the function vhost_user_kickfd_read_ready() since it will be called from the worker thread. Type: fix Signed-off-by: Steven Luong <sluong@cisco.com> Change-Id: I9beedcd33e1558c8335da4ee7fadc51c29ee4589
2021-05-08memif: Fix delete on errorNathan Skrzypczak1-8/+0
Type: fix Change-Id: I3cc09630cae999cc194a0eedb4d2cfee7a826b76 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2021-05-08avf: fix coverityMohammed Hawari1-7/+4
Change-Id: I54025eb0e4ee861b2b2fed554b006405cba38bb9 Signed-off-by: Mohammed Hawari <mohammed@hawari.fr> Type: fix Fixes: bd376a8ce8425f45b23074398949e8055de29280
2021-05-07dpdk: fix cryptodev session handlerFan Zhang1-0/+4
Type: fix This patch fixes the possible segmentation fault in DPDK cryptodev when deleting session. Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com> Change-Id: Ie81de09f7250eb5c1ed6ee471363137d8372fe27
2021-05-07session: connects seg manager is always firstFlorin Coras9-89/+32
By convention, connects segment manager will be first. Therefore it will be the one with the first segment wherein lies the app's message queue. Saves us the trouble of allocating it on first connect, if app started by listening, and we no longer need to track if it's assignable to a listener or if it can be removed. Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Iba9a8ffaab618eeb41ec2144dcfee62d006dc7a2
2021-05-07avf: Fix cksum offload / ipsecNathan Skrzypczak1-1/+6
VNET_BUFFER_F_OFFLOAD means 'check 2nd cacheline' but we can still have TCP_CKSUM=0 & UDP_CKSUM=0 Type: fix Change-Id: I42b5974f6d34b777aa959c06c67619a5c83c5805 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2021-05-07vppinfra: add universal array mask_compare and compress funcsDamjan Marion9-143/+496
Type: improvement Change-Id: I6d812339f626ea630ad9354632d2f9506122d379 Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-05-06build: add FORCE_ON option for multiarch variantsDamjan Marion3-4/+26
Type: make Change-Id: I37fb925a9cc2dfc21dd7874f4b20a6943b28efc8 Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-05-06vcl: move tests to src/testsFlorin Coras1-872/+0
Type: refactor Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: If622dfcc6f98d90cac0487e6bb9eb8c0bb01cf85
2021-05-06stats: move vector_rate counters into providerOle Troan3-66/+96
Type: improvement Signed-off-by: Ole Troan <ot@cisco.com> Change-Id: Iae1fb59a6dc9679c0fa0b87fa5232d551a7995a5
2021-05-06vlib: remove unused simple counters fieldsOle Troan1-6/+0
Type: improvement Signed-off-by: Ole Troan <ot@cisco.com> Change-Id: I46cfdcd02e5fda310367da17532cd2f355044811 Signed-off-by: Ole Troan <ot@cisco.com>
2021-05-06vcl: reduce iperf tests outputFlorin Coras1-8/+8
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ia6197e99ebc42367624da27387216dc4cdb3141b
2021-05-06vppinfra: fix testsDamjan Marion17-87/+78
Type: fix Change-Id: If59a66aae658dd35dbcb4987ab00c306b3c6e2e2 Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-05-06vlib: rename vl_counter_t to vlib_error_desc_tOle Troan8-16/+14
Type: improvement Signed-off-by: Ole Troan <ot@cisco.com> Change-Id: I368b0410db2d633d3c52199c840e24d21952c1b4
2021-05-06stats: memory heap countersOle Troan7-94/+246
- Add counters for the main-heap - Add additional counters per heap: STAT_MEM_TOTAL STAT_MEM_USED, STAT_MEM_FREE, STAT_MEM_USED_MMAP, STAT_MEM_TOTAL_ALLOC, STAT_MEM_FREE_CHUNKS, STAT_MEM_RELEASABLE, The per-heap counters are organised as a two dimensional vector. total, used and free are directly available via symlinks. vpp_get_stats ls "^/mem/" /mem/stat segment /mem/stat segment/total /mem/stat segment/used /mem/stat segment/free /mem/main heap /mem/main heap/total /mem/main heap/used /mem/main heap/free vpp_get_stats dump "^/mem/main\ heap$" [0 @ 0]: 1073741776 packets /mem/main heap [1 @ 0]: 91586688 packets /mem/main heap [2 @ 0]: 982155088 packets /mem/main heap [3 @ 0]: 0 packets /mem/main heap [4 @ 0]: 1073741776 packets /mem/main heap [5 @ 0]: 433 packets /mem/main heap [6 @ 0]: 981708688 packets /mem/main heap Type: feature Signed-off-by: Ole Troan <ot@cisco.com> Change-Id: I36725dde3b4b3befd27a8b4d3ba931f2d3b627cc
2021-05-06pnat: coverity errorsOle Troan4-5/+13
Type: fix Signed-off-by: Ole Troan <ot@cisco.com> Change-Id: Ic38cfbdcab86172bad6ec6cb4c66c83f8deed64f Signed-off-by: Ole Troan <ot@cisco.com>
2021-05-06memif: add severity to countersOle Troan5-19/+19
Also rename counters in stat segment to make them more filesystem friendly. Type: improvement Signed-off-by: Ole Troan <ot@cisco.com> Change-Id: I8a3f3ec318931f5475fcb181f8b4a079a1fa4b9c Signed-off-by: Ole Troan <ot@cisco.com>
2021-05-06vlib: fix the offload flags sizeMohsin Kazmi14-36/+39
Type: fix Change-Id: I433fe3799975fe3ba00fa30226f6e8dae34e88fc Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2021-05-05vppinfra: enfoce function pointer cast in CLIB_MARCH_FN_POINTERDamjan Marion1-2/+2
Type: improvement Change-Id: I6ba9f9467a3990f1436a60b1dbc6cb795fd18ba9 Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-05-05vppinfra: fix x86 packs / packus wrappersDamjan Marion4-94/+52
They both take signed value as input. Type: fix Change-Id: If3d8ec4e0b1c02d7d65262bdd9db49ff7fbfef39 Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-05-05avf: remove dead storeDamjan Marion1-1/+0
Type: fix Change-Id: Ic8d965aecea6b5b729e3f414235e676d62de779a Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-05-05vlib: fix adaptive mode flag unset on nodes reforkingMaxime Peim1-0/+4
The adaptive mode flag is being unset on nodes reforking. The flag is copied in order to avoid this issue. Old flags are copied for all nodes. Type: fix Signed-off-by: Maxime Peim <mpeim@cisco.com> Change-Id: Ic29b20fc0e4454ce4b3765c478f55bf650b4572a
2021-05-05nat: cli commands parsing fixFilip Varga2-235/+200
Newline get's ignored when parsing configuration file. Type: fix Signed-off-by: Filip Varga <fivarga@cisco.com> Change-Id: Ib4f86177150dfe3bc085231a9268cf730490ea81
2021-05-05nat: fixing cfg file parsing cli issuesFilip Varga4-93/+92
Type: fix Change-Id: I35012bb2f7af1996c954641af40f3223bc7f37e4 Signed-off-by: Filip Varga <fivarga@cisco.com>
2021-05-05build: set CMAKE_EXPORT_COMPILE_COMMANDSDamjan Marion1-0/+2
Type: make Change-Id: I8c59c91b4af49efcfcf7544df01b3d20511abe52 Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-05-05vlib: move offload flags to 1st cacheline in vlib_buffer_tMohsin Kazmi11-23/+22
Type: improvement Some tests i.e. ipsec see performance regression when offload flags are moved to 2nd cacheline. This patch moves them back to 1st cacheline. Change-Id: I6ead45ff6d2c467b0d248f409e27c2ba31758741 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2021-05-05misc: ipfix process node wait time adjustmentMatthew Smith2-3/+15
Type: fix The ipfix process node has a hardcoded 5s sleep between sending packets. The interval between template packets is configurable, but the timing of packets being sent does not match configuration because of the time being hardcoded. E.g. - With template interval set to 3s, a packet will be sent every 5s. With template interval set to 8s, a packet will be sent every 10s. Honor the configuration by reducing the wait time to less than 5s if a template will need to be sent less than 5s from the current time. Change-Id: I8c11f7bc502ce5b20b6e82a7e7a135a8805a2bad Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2021-05-05api: fix crash in custom dumpPaul Vinciguerra1-1/+1
Change-Id: Iffc52b4f52c235b0b5d13d2b42467cb2be0bf934 Type: fix Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2021-05-05crypto crypto-openssl: support hashing operationsFilip Tehlar6-15/+226
Type: feature Change-Id: I36041fe5c5f0ff129aee42516189807e96f62123 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2021-05-05tcp: cleanup rcv-process and bulk buffer translationFlorin Coras1-141/+160
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I2ca8a5e30e55a84d4567422e4b7fcf90830921d3
2021-05-05tcp: cleanup listen node and bulk buffer translationFlorin Coras1-41/+48
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I2d11b1411a7653b94fddd889a5f28640c5f5566c
2021-05-05tcp: cleanup syn-sent and bulk buffer translationFlorin Coras1-112/+124
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Idb286e77a877a6a60aa532263277f002fc002e48
2021-05-04tcp: cleanup established and bulk buffer translationFlorin Coras1-29/+28
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ic37f640b7f0d0a041c003e76c8f29c21b5e664b3
2021-05-04virtio: add simple drop counter for interfaceMohsin Kazmi1-30/+33
Type: improvement Change-Id: I4ac6b1a6553e26a5c26b6761fa3c4cc5d4925486 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2021-05-04virtio: fix the interruptMohsin Kazmi3-162/+202
Type: fix virtio/tap interfaces set the empty buffers in the input node for receiving data. Backend uses those buffers, fills them with data and notifies the virtio/tap driver. But virtio/tap driver gets into stall state if interface is created and configured through exec script on VPP startup.conf and put the interface in interrupt mode while VPP is only configured with main thread. This patch fixes the problem by prefilling buffers during the interface creation. Change-Id: Ibc4d0e70e127ccc4b7cf8b2b18406ae4b02c73b4 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2021-05-04stats: adding symlinks for nodes and interfaces in the stat segmentArthur de Kerhor5-92/+337
A given interface counter (e.g rx) can be accessed via /interfaces/<interface_name>/<counter_name>. Same goes with nodes: /nodes/<node_name>/<counter_name> As interfaces may contain '/' in their names, these are replaced by '_' in symlinks Also added 2 tests for the stat segment Type: feature Signed-off-by: Arthur de Kerhor <arthurdekerhor@gmail.com> Change-Id: I27da252e7b3dc177815616ca46b5c200a456bf0f Signed-off-by: Ole Troan <ot@cisco.com>
2021-05-04dpdk: allow configuration of max-simd-bitwidthRay Kinsella3-2/+37
Enable configuration of DPDK's max-simd-bitwidth through the startup.conf Type: improvement Change-Id: I455148714ffc7caa257931526f310dbefd7ab01c Signed-off-by: Ray Kinsella <mdr@ashroe.eu>