summaryrefslogtreecommitdiffstats
path: root/src/plugins/hs_apps
AgeCommit message (Collapse)AuthorFilesLines
2020-02-25svm: refactor fifoFlorin Coras1-2/+5
Type: refactor Switch from a wrapped byte space to a "continuous" one wherein fifo chunks are appended to the fifo as more data is enqueued and chunks are removed as data is dequeued. The fifo is still subject to a maximum size, i.e., maximum number of bytes that can be enqueued, so the max number of chunks associated to the fifo is also constrained. When enqueueing data, which must fit within the available free space, if not enough "supporting" chunk memory is available, the fifo asks the fifo segment for enough chunk memory to ensure that the write can succeed. To avoid allocating large amounts of small chunks due to small writes, if possible, the size of the chunks requested is lower capped by min_alloc. When dequeuing data, all the chunks that have been completely drained, i.e., head moved beyond the chunks’ end bytes, are unlinked from the fifo and returned to the fifo segment. The one exception to this is the last chunk which is never unlinked. Change-Id: I98c1dbd9135fb79650365c7e40c29238b96cd4ee Signed-off-by: Florin Coras <fcoras@cisco.com>
2020-02-20hsa: cleanup vpp_echo JSON outputDave Wallace1-4/+8
- Fix invalid json syntax - Add bits_per_second rx/tx fields Type: fix Change-Id: I4100245b01093e99a6c7def16cd83572ab033e24 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2020-02-06hsa: proxy wnd update only if enough space is availableFlorin Coras1-0/+16
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I2874d3afbf4cc89209b605c35ca4a5bc5b6868b3
2020-01-30vcl session: propagate cleanup notifications to appsFlorin Coras1-0/+9
Type: feature Change-Id: I7f8e3763d7f8364563a25d0fcc782976b906b325 Signed-off-by: Florin Coras <fcoras@cisco.com>
2020-01-28hsa: proxy rcv wnd update acks after full fifosFlorin Coras1-6/+87
Avoid rcv wnd probing after zero window advertisments by registering for tx dequeue notifications and forcing acks that open the rcv wnd. Type: feature Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I8f33e3cf917f8c83d412f370ca66013aa4cd6e67
2020-01-22hsa: proxy app fixesFlorin Coras1-33/+15
Type: fix Change-Id: Icb4b331c9346d3781f4ddd6f62891c78d4059c1f Signed-off-by: Florin Coras <fcoras@cisco.com>
2020-01-15build: install vpp_echo for CSIT QUIC perf testsDave Wallace1-1/+0
Type: make Signed-off-by: Dave Wallace <dwallacelf@gmail.com> Change-Id: Iddfcce1f662efe63c5a6788a0a604917b1c9d81e
2020-01-03hsa: fix coverity warningFlorin Coras1-0/+2
Type:fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I38b155f7617d002ac16943c2c031269a17f4ba73
2019-12-21session: move add/del segment msg to mqFlorin Coras4-97/+95
Type: refactor Change-Id: I32234173ebd69f80acb1afa4039fffbd19157f6d Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-12-19hsa: Add periodic timingNathan Skrzypczak3-18/+71
Type: feature Change-Id: I18cf38d6f77e0d42212c85262f3bb769b9477b29 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-12-13hsa: Fix timing & nitsNathan Skrzypczak2-3/+9
Type: fix Change-Id: I4fef896a3556df75532ef938ca2e263287dd74e8 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-12-11quic: Add support for unidirectional streamsNathan Skrzypczak3-0/+13
Type: feature Change-Id: I3a642626a444504594c5e3df40dbc92df54136f0 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-12-11hsa: Add option for multiple ipsNathan Skrzypczak5-44/+152
Type: feature Change-Id: I133f12f9075a09bda0c5c1ed143d03838b33f6da Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-12-10api: multiple connections per processDave Barach4-4/+4
Type: feature Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I2272521d6e69edcd385ef684af6dd4eea5eaa953
2019-12-03hsa: Less verbose logging for many sessionsNathan Skrzypczak6-50/+83
Type: feature ECHO_LOG has the following levels 0 -> global progression (many connections) 1 -> Connection global evts (some conn, much data) 2 -> More connection events 3 -> Data related logging Change-Id: I69eeaa0dd02a4b8ebcfefa1c7a218ef57f217d2b Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-11-26quic: Refactor for crypto contextsNathan Skrzypczak1-0/+14
Type: refactor Change-Id: I5ec7079d34826edd7a3048ae1d44037386f5d3ff Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-11-22hsa: Improve for mq-intensiveNathan Skrzypczak5-46/+31
Type: feature * Remove the retry mechanism in case of failed connect * Limit the number of simultaneous connects (default to mqsize / 2) Change-Id: I7a0ed2e349ee3e8ca71639c2a2ec4cdf84f5c13e Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-11-20session: fix transport proto unformatFlorin Coras1-3/+12
Type: fix Change-Id: I38a5cbd53b278c21142bac4ee1bbe5dc8bcaaac9 Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-11-07hsa: Add ckpair & crypto engine in vpp_echoNathan Skrzypczak6-78/+80
Type: feature * vpp echo adds and dels a cert and key pair for each run * it passes the crypto engine to be used (openssl, picotls, vpp, mbedtls) Change-Id: Iaba1de2e6abb510e6c4edbe84b2324b2f4843f26 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-10-30hsa: vpp_echo fifo size is u32Dave Wallace2-15/+23
- Fix cli / config fifo size to only accept u32 size input. - Make cli / config fifo-size input type handling to be the same as vpp hoststack - Clean up vpp_echo usage output - Clean up json close stats labels to make them less confusing Type: fix Change-Id: I3aa2247f75a4ce284be9e7c0adc71ba488bfbf2b Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2019-10-22tests: enable vpp_echo to run in gdbDave Wallace2-0/+15
- Enable vpp_echo to be run in gdb when running 'make test DEBUG=gdb-all' Type: test Signed-off-by: Dave Wallace <dwallacelf@gmail.com> Change-Id: I79a69b0573c01900535078d7493d52b417350815
2019-10-11hsa: vpp_echo refactor quic nclients argDave Wallace1-2/+1
Type: refactor Signed-off-by: Dave Wallace <dwallacelf@gmail.com> Change-Id: If8471d98053ae44cae07cdca6d269aa3c7df9887
2019-10-11hsa: vpp_echo clean up results comparisonDave Wallace2-20/+20
Type: refactor Signed-off-by: Dave Wallace <dwallacelf@gmail.com> Change-Id: I021dfe4a59ecda1ed77b656a81f4c935903854ea
2019-10-11hsa: vpp_echo remove redundant unformat functionDave Wallace3-31/+9
Type: refactor Signed-off-by: Dave Wallace <dwallacelf@gmail.com> Change-Id: Ifae49981458cd3ef9e2c79d64040b2076ad93869
2019-10-09hsa: use crypto_engine_type_t for TLSNathan Skrzypczak6-11/+11
Type: refactor This patch does the following conversions TLS_ENGINE_X -> CRYPTO_ENGINE_X tls_engine_type_t -> crypto_engine_t It does not change numbering of engines Change-Id: I872dfaec3a6713bf4229c84d1ffd98b8b2419995 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-10-09hsa: fix vpp_echo session closeDave Wallace5-78/+221
- Convert asserts in vpp_echo to conditional checks - Refactor error logging for session creation/deletion - Fix session close anomalies - Fix ECHO_* macros - Add rx/tx results different cmdline options to specify pass when counters are different - Update close tests to send more than the fifo sizes of data - Specify rx/tx results diff options for early close tests - Set listen session state to closed on handling unlisten reply Type: fix Signed-off-by: Dave Wallace <dwallacelf@gmail.com> Change-Id: I9d0075fcb18e20829f420da104d69523897b0552
2019-10-08hsa: make vpp_echo use mq instead of bapiNathan Skrzypczak7-186/+285
Type: refactor Change-Id: I4f370b09e22dbbc8920272df9a042dae04825bfc Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-10-04hsa: make APP_OPTIONS_PREALLOC_FIFO_PAIRS configurableMathiasRaoul3-1/+5
-add prealloc_fifo_pairs member in echo_main_t -new cli parameter in vpp_echo Type: feature Signed-off-by: MathiasRaoul <mathias.raoul@gmail.com> Change-Id: I6bb1214ee93e06421cd0a3721420278c51cd59c4
2019-09-30hsa: fix vpp_echo mq lockingNathan Skrzypczak3-18/+62
Type: fix Change-Id: I18d2cde0baaed4134e8378c09aaa88693fb997f8 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-09-30hsa: fix non-NULL terminated C-string use in echoBenoît Ganne1-9/+9
Use '%v' format for non-NULL terminated vectors instead of '%s'. Type: fix Change-Id: Id83de52486ad8dad3cdf3f32dad63a223fc1fdf7 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-09-23hsa: fix typo in vpp_echo for tx-bufMathiasRaoul1-6/+6
fix typo and allow use of Gb, Mb or Kb for tx/rx-buf sizes Type: fix Change-Id: I2cfd4c09d6b14dd5c744d942eea09ca9ddcc0f46 Signed-off-by: MathiasRaoul <mathias.raoul@gmail.com>
2019-09-20session: fix msg freeing on errorNathan Skrzypczak1-6/+0
Type: fix Change-Id: I0807f84737d5e98e69e9ed27a1de6813b2ddd138 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-09-20hsa: refactor vpp_echo failure handlingDave Wallace7-97/+214
- Return unique value for each failure condition - Last failure value returned - All failures included in description - Output failure value and description Type: test Signed-off-by: Dave Wallace <dwallacelf@gmail.com> Change-Id: I72d5e7f660ad4765c468874421622607af6ae3d1 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2019-09-18hsa: fix vpp_echo stats outputDave Wallace1-16/+37
- Output stats when there are missing timing events - Add missing timing event status to the stats output Type: fix Signed-off-by: Dave Wallace <dwallacelf@gmail.com> Change-Id: I10a8db6db9568b98379df544d0098f9722a44867
2019-09-13hsa: Fix QUIC sessions count calculationAloys Augustin1-3/+1
Type: fix Signed-off-by: Aloys Augustin <aloaugus@cisco.com> Change-Id: Ia53a41a30920f8af7cd00c6f809b32e7cc277b7a
2019-09-12hsa: fix memory management bugsBenoît Ganne2-5/+9
Fix use-after-free and non-null terminated string. Type: fix Change-Id: Ibba2a6cae68c612a34477aa813b3bf27a0c8fc1f Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-09-04session: improve cliFlorin Coras1-3/+3
Type: feature Allow session cli filtering based on thread index, transport protocol, session state and range of session pool indices. For instance show session thread 1 proto tcp state ready range 0 20 verbose Shows the session ids for the first 20 tcp sessions in thread 1 that are in ready state. To avoid excessive output that could reasult in the worker barrier being held by the main thread for long periods of time, the session cli will only output: - session ids (verbose == 1) for a maximum of 50 sessions / worker - verbose > 1 details for a maximum of 10 sessions Change-Id: I2cfb351b548e2e0a1d5b4345810be613e2917d17 Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-08-30vcl: allow non-blocking connectsFlorin Coras2-14/+22
Type: feature Change-Id: I55349f482ce6781337f747b2f0d2c0a027c3a675 Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-08-28hsa: clean up vpp_echo json outputDave Wallace1-11/+13
Type: style Change-Id: I8dbf2197b78690b94a346d6ff564648ab42f8235 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2019-08-28quic: Fix listener vpp_session_handleNathan Skrzypczak1-0/+1
Type: fix Change-Id: I19f70403e15cd180e9d337fbdad47191de333b34 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-08-22hsa: fix http responseBenoît Ganne1-1/+1
http_ok is a const null-terminated string, not a vector. Type: fix Fixes: 844a36d1a6 Change-Id: Ide1a23506d9f43cd33c3a4b8ba11658c67fbecc8 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-08-19hsa: move udp_echo to vpp_echoNathan Skrzypczak3-1262/+183
Type: refactor Change-Id: I9b8bc4e54bfae9fa3ed367d4a9676fb09c27fb2a Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-08-19hsa: move tcp_echo to vpp_echoNathan Skrzypczak3-1420/+144
Type: refactor Change-Id: Ic23859a1686eff2ae4d08a86b69ff4813498459e Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-08-16hsa: Refactor quic_echo to allow other protocolsNathan Skrzypczak9-2322/+2884
Type: refactor Change-Id: Iaef9091e1d057110530255e644fad1c298418966 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-08-02quic: Improve quic echo connect threadingNathan Skrzypczak3-725/+862
Type: fix Change-Id: I64f90139ad70e722f1ecbc4e0c6c1e723ec0f054 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-07-26quic: coverity fixesNathan Skrzypczak2-9/+30
Type: fix Change-Id: I93c083ee78168ed2da283fe4873ca022766fe861 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-07-19session: Use parent_handle instead of transport_optsNathan Skrzypczak1-2/+1
Type: feature This is mostly used for quic in the case of a stream creation (i.e. connect on an already established QUIC session). We want do default parent_handle to INVALID to be able to distinguish it from parent_handle = 0 Change-Id: Id5ac0b0155a3c44e51334231b711e4fd87a96a10 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-07-18vcl: add QUIC supportNathan Skrzypczak3-69/+223
Type: feature * Adds the concept of a "connectable listener" : a session that can be both connected and accepted on. * vppcom_session_is_connectable_listener (fd) that tells if the fd is a connectable listener * vppcom_session_listener (fd) that gives you the listener's fd that accepted the session (if any) * vppcom_session_n_accepted (fd) that gives the number of sessions a listener accepted. Change-Id: Id89d67d8339fb15a7cf7e00a9c5448175eca04fc Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-07-18session: Refactor invalid session idx/handleNathan Skrzypczak1-3/+0
Type: refactor Change-Id: I885d9d2af1674f705339e3e96f87ff766965c9e5 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-07-12vcl: fix tsock 0-ing in test clientBenoît Ganne1-2/+3
Type: fix Fixes: d48e9763bfc39106eca954a28223b72261bf1aeb Change-Id: I9af222f4083a82592058fd42950db1c97caf647e Signed-off-by: Benoît Ganne <bganne@cisco.com>