aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet/session
AgeCommit message (Collapse)AuthorFilesLines
2020-08-13session: fix session_table_get_or_allocAndreas Schultz1-8/+11
Extending the fib_index_to_table_index could leave entries uninitialized, pointing to the session tables at index 0. That session index exists by default, but it is a IPv4 session table. That would break all IPv6 on the unitilized fib indexes. Type: fix Change-Id: Ie3f0a87a7f829ceb39f75ec06658b0ad1d3813ae Signed-off-by: Andreas Schultz <andreas.schultz@travelping.com> (cherry picked from commit 30a28c187b0eb9216d5d7918712d98a4b7a5ba6a)
2020-08-13session: fix use-after-free in input nodeBenoît Ganne1-1/+2
Type: fix Change-Id: Ie60b07abe76ad166f048f5885accd7038d8153b2 Signed-off-by: Benoît Ganne <bganne@cisco.com> (cherry picked from commit 7ce23f25bbc01d534ca294ce88ab0d709e3e03a7)
2020-08-13session: avoid rx notifications on accepting sessionsFlorin Coras1-0/+5
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Iba37e528e968104c3ba9c8324438ba695ddddfd1 (cherry picked from commit da302e4fce1003a2fdd2ace7e1ae09987399092c)
2020-08-13session: detach session from app on cleanupFlorin Coras1-1/+6
Type: fix Avoids unwanted notifications. Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ifff27fb0d3644194e3bb3f91d7ed1fd02c6730cd (cherry picked from commit 77ea42b31ae12f0aef829097225e353199360f30)
2020-08-13misc: sprintf be goneDave Barach1-3/+4
Along with related static analysis warnings... Type: fix Ticket: VPP-1837 Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I2c6949c7a2250b8f76a63508c7c210daecfe0f91 (cherry picked from commit 3e07a4a1e843267892dc291a833d93bd70597011)
2020-08-13session: fix fifos displayAloys Augustin1-5/+2
This prevents a crash with quic listeners, and enables the display of udp fifo status. Change-Id: Ib9f48818ee3e51a3fa43ad8ab175e8aa7750df8f Type: fix Signed-off-by: Aloys Augustin <aloaugus@cisco.com> (cherry picked from commit 6eef40bce3f5ae2b06ba75d5b4cf32f168a801e4)
2020-08-13session: fix coverity warningDave Barach1-1/+1
Type: fix Ticket: VPP-1837 Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: Ib5da600b7a40f775de7dc5b9aaa8d967e49e8632 (cherry picked from commit 4897d77c6d4d5d04eb7e02bda57dc6c7005a609f)
2020-08-12misc: fix coverity warningsDave Barach1-1/+1
Add an ALWAYS_ASSERT (...) macro, to (a) shut up coverity, and (b) check the indicated condition in production images. As in: p = hash_get(...); ALWAYS_ASSERT(p) /* was ASSERT(p) */ elt = pool_elt_at_index(pool, p[0]); This may not be the best way to handle a specific case, but failure to check return values at all followed by e.g. a pointer dereference isn't ok. Type: fix Ticket: VPP-1837 Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: Ia97c641cefcfb7ea7d77ea5a55ed4afea0345acb (cherry picked from commit 47d41ad62c5d6008e72d2e9c137cf8f49ca86353)
2020-08-12session: avoid scanning new io list under loadFlorin Coras2-21/+51
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Idaa7cc26ad941be86daec4ed5920727237712f4a (cherry picked from commit 16d974ec59776f0103ad62d0d04dc57989eef7ed)
2020-08-12session tcp: fix packet tracingFlorin Coras1-2/+2
Type: fix Change-Id: Ib823d016c64998779fb1d00b8aad3acb5e8340be Signed-off-by: Florin Coras <fcoras@cisco.com> (cherry picked from commit 30928f87a3c9d98e288d1364d50c032e052e69ab)
2020-08-12session: fix node runtime in pre-input queue handlerFlorin Coras1-0/+1
Call session queue node with the right node runtime instead of the pre-input node runtime. Type: fix Change-Id: I43d20bed4930fc877b187ce7ecdce62034b393c5 Signed-off-by: Florin Coras <fcoras@cisco.com> (cherry picked from commit 2d8829cbb5f3d214fbc09bf4258573659e0c5e60)
2020-08-12session: remove io event dispatch dbg msgFlorin Coras1-4/+1
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I166ab7b96444587a3252925d3a28505e0db52d74 (cherry picked from commit 87b0c892947006cbfa80fd2af15e8edb4029f327)
2020-08-12session: close for reset replies independent of stateFlorin Coras1-2/+2
Type: fix Change-Id: I8b8875f1dc9203dfbb443ac43df8250cbb0b1edc Signed-off-by: Florin Coras <fcoras@cisco.com> (cherry picked from commit f1910326d537ad7692d4a9b807ebbef93106acea)
2020-08-07session: fix session_main_get_worker_if_validNathan Skrzypczak1-1/+1
Type: fix Change-Id: Ie024792015f3c9c52102c9be03da63c79f3456af Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com> (cherry picked from commit 901467ed75fa76e8fe4792459e3649d4aef4ddc7)
2020-08-07session: fix transport proto unformatFlorin Coras1-4/+33
Type: fix Change-Id: I38a5cbd53b278c21142bac4ee1bbe5dc8bcaaac9 Signed-off-by: Florin Coras <fcoras@cisco.com> (cherry picked from commit 3bbbf0dbd367fd8611f9f390a2c6e31a89ce08a9)
2020-08-07session: Fix out of order mqNathan Skrzypczak1-1/+2
Type: fix Change-Id: I522db62db50fc0fa46a6dd7cddd32e2f09b5e5a6 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com> (cherry picked from commit 989bc47d68187dd5db608d2b32abbbbc392b03ca)
2020-08-07session: session enable in multiworkerNathan Skrzypczak2-1/+18
Having session enable in config file wasn't working for multiple workers Type: fix Change-Id: Ib29ba540a6e1d714e7e470f4c7518e3d266fe7ca Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com> (cherry picked from commit 31bd035621bdc57deb757613b534bd6c2b032814)
2020-08-07session: fix app attach on errorNathan Skrzypczak1-3/+2
Type: fix Change-Id: I57b3c76515544ba3655690b37e0dacb47734ba6d Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com> (cherry picked from commit 9d3e1b433f394781a55a4c7c39b695d08dd2563f)
2020-04-29vlib: add ASSERT to vlib_time_now(...)Dave Barach1-1/+1
Calling vlib_time_now (&vlib_global_main) from a worker thread is a bad mistake. ASSERT (vm->thread_index == __os_thread_index) will catch it. Type: fix Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I55af6de84e06143f8f43adc62103b77267a7a441 (cherry picked from commit 77d98382824ca211fb55fcf842931930ccfb3baa)
2020-02-06session: extra checks in session validationSrikanth Akula2-13/+27
Type: fix Adding few extra checks while doign session validationwq! Signed-off-by: Srikanth Akula <srakula@cisco.com> Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I4d18b5ad97d1802ce38a07aeb56b5f35939c1187 (cherry picked from commit e140d5d0255b80f8dda945daf7202b5698d81d9b)
2020-02-06session: re-set tx fifo event if out of buffersFlorin Coras1-1/+2
Type: fix Change-Id: I7416e827fbc5c63d082273656441c81dd6246d8a Signed-off-by: Florin Coras <fcoras@cisco.com> (cherry picked from commit aa43914df656bbd7340b8dbd68f23f8fe0aabfd5)
2019-11-28session tcp: refactor pacer timeFlorin Coras6-86/+68
Type: refactor Change-Id: Ic1c3e1f7987702cd88972acc34849dc1f585d5fe Signed-off-by: Florin Coras <fcoras@cisco.com> (cherry picked from commit a8e71c8981f039588a7ca94e6ab66b4ebac784a5)
2019-11-18session: unify buffer tx dispatchingFlorin Coras1-26/+11
Type: refactor Use pending tx buffer vector to postpone dispatching of all buffers, i.e., either generated as a result of tx events or custom tx event. Change-Id: Ic5894c4653c338cfb04555d20857f954b245ee83 Signed-off-by: Florin Coras <fcoras@cisco.com> (cherry picked from commit 8a754f1a55fb16a4d42efd5c606e5a07b4afffe9)
2019-11-18session: reschedule asap when snd space constrainedFlorin Coras2-7/+28
Type: feature Improves fairness for sessions that are snd space or pacer constrained. Change-Id: Ida5f523090f1dcbfb17bf5116bc7917747ac8593 Signed-off-by: Florin Coras <fcoras@cisco.com> (cherry picked from commit dd97a48d9fac91c7f16a31aa661dd6c968c3b760)
2019-11-18session tcp: infra for transports to send buffersFlorin Coras2-0/+29
Type: feature Add infra that allows transpors to enqueue pending buffers without the need to build and manage their own pending frames. An important benefit is the fact that buffer wire/tx ordering is ensured by session layer. Change-Id: I764fd1693d610b321a1d0c84b648a314f14583db Signed-off-by: Florin Coras <fcoras@cisco.com> (cherry picked from commit 2a7ea2ee92d6dc4800ee21323d3324a9e8449dcf)
2019-11-15session: fix show cli with closed sessionFlorin Coras1-1/+3
Type: fix Change-Id: Ifb6ead644c0273b84a5647f7923053f1db7c5a76 Signed-off-by: Florin Coras <fcoras@cisco.com> (cherry picked from commit 2d0b2bbb97d57cb4bac30e4f3138b70c277aee47)
2019-11-15session: avoid double dispatch of new eventsFlorin Coras1-14/+17
Type: fix Avoid re-dispatching new events if they've just been added to the old events linked list. Change-Id: Ie5d0b799eae6cebb118d97204e5111eb194c0b8e Signed-off-by: Florin Coras <fcoras@cisco.com> (cherry picked from commit 45b7973dddc9f1b50d7f20cc1abe150b2ad9931f)
2019-11-15session: app-closed to transport-deleted on delete notifyFlorin Coras2-2/+2
Type: refactor As a result, transport-deleted is the only session state that has no transport data structure. Change-Id: I2da2bc4bbb141d8a7b52faae66a4733de8f8513b Signed-off-by: Florin Coras <fcoras@cisco.com> (cherry picked from commit 3b5e222f8a4d0ccd4ec4eace2551491f13de85d9)
2019-11-15vcl: add api to set lcl ipFlorin Coras3-1/+3
Type: feature Change-Id: I40169fbbe8a20670dd612c341b6c78b5c925bf74 Signed-off-by: Florin Coras <fcoras@cisco.com> (cherry picked from commit ef7cbf6adf1882af4d4ae8657632d4a2a59efcb2)
2019-11-05session: fix dispatch event loggingFlorin Coras1-16/+27
Type: fix Change-Id: Icf3c73cd7eb7565ed6e1b0371da172b5408a9d36 Signed-off-by: Florin Coras <fcoras@cisco.com> (cherry picked from commit ba13c3b3695cb4758848d856174b725afcc7cdb8)
2019-11-05tls: fix on tcp connection resetZeyu Zhang1-1/+2
VPP would fail in tcp_connection_reset() if the tls or app session was just created. Type: fix Change-Id: I45d107f57e4f3fc468c15ca3392d5e1c413bd690 Signed-off-by: Zeyu Zhang <zeyu.zhang@intel.com> (cherry picked from commit cbbc4a2558eca8d78e0bd713ff58c54e294b1819)
2019-11-05session: allow transport cleanup only if not deletedFlorin Coras1-2/+3
Type: fix Change-Id: I51282182952a66be698226bace39626df4d67b9f Signed-off-by: Florin Coras <fcoras@cisco.com> (cherry picked from commit 5afea129ed0c85f5313791d1d55fed6cdcc079c7)
2019-11-05session: avoid old io dispatch if no slots left to sendRyujiro Shibuya1-2/+3
Type: fix Signed-off-by: Ryujiro Shibuya <Ryujiro.Shibuya@owmobility.com> Change-Id: I8e1f6cbd905ad5c21aed1b2e358540d0fbd7fc47 (cherry picked from commit 2a1118411deed799e079bf34d3f6d8bccb37f8c5)
2019-10-31session: increase max ctrl msg sizeFlorin Coras3-2/+13
Type: fix Connect ctrl message recently outgrew the maximum ctrl msg size, so increase the limit. Also add static asserts for messages that could potentially exceed the limit. Change-Id: I0d3e32e0d4d67d7e222cff14ddba59a0c3fb8b00 Signed-off-by: Florin Coras <fcoras@cisco.com> (cherry picked from commit e24a4bc023b880cb01aeaf8ffea98f44dd66ef4a)
2019-10-29tcp: improve pacing after idle send periodsFlorin Coras3-6/+19
Rest pacer on ack reception if we haven't recently sent anything. Type: feature Change-Id: I820bacd81b65130052dfafbfcbe6ca4553069fbc Signed-off-by: Florin Coras <fcoras@cisco.com> (cherry picked from commit c31dc31f84961033ecb6354811e0c360b6cf5f79)
2019-10-27session: fix use-after-freeBenoît Ganne1-1/+1
Type: fix Change-Id: Ie63b80db56febc8a16bafcdd5399b2f92b6aa437 Signed-off-by: Benoît Ganne <bganne@cisco.com> (cherry picked from commit 94d2da0b294b0084dd97217e79de18842f09356b)
2019-10-27tcp: retry lost retransmitsFlorin Coras3-7/+26
Add heuristic that detects lost retransmitted segments and retries sending them. Type: feature Change-Id: I34d1bb16799e1993779222eb2bfad4b40704159e Signed-off-by: Florin Coras <fcoras@cisco.com> (cherry picked from commit be237bf02382854118986e8ea84c7544e42023f2)
2019-10-11session: fix use-after-freeBenoît Ganne2-2/+2
Make sure to reinitialize data before free-ing it. Type: fix Change-Id: I45727c456d0345204d4825ecdd9690c5ebeb5e94 Signed-off-by: Benoît Ganne <bganne@cisco.com> (cherry picked from commit d4aeb84c3f066b755b723163da292eab95bd1ef9)
2019-10-04session: Fix missing elt regrabNathan Skrzypczak1-0/+1
Type: fix Change-Id: Ie756c5477d989702e633aa0d42ca154ff32b4c9a Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com> (cherry picked from commit 19e52c96dcd5f523c2b97aee56cb2e7751d4690a)
2019-10-03session: allow transport cleanup in any stateFlorin Coras1-3/+2
Type: fix Third time's a charm Change-Id: I31555a35d2b51f49a93a2a213c28896b0cad4c09 Signed-off-by: Florin Coras <fcoras@cisco.com> (cherry picked from commit b5a2f7056967630c2834b0b4bf03520d96806c3e)
2019-10-03session: fix io_evt mq lockingNathan Skrzypczak1-3/+2
Type: fix Change-Id: Iaa8045bba19cc305c84074668a20e1468d431b10 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com> (cherry picked from commit 35174b428b99978503332107a9f330d8b3478bd5)
2019-10-03session: fix unbind coverity warningFlorin Coras1-0/+7
Type:fix Change-Id: If4fce6bd9b06ed545d72df847afd6a74cdefe042 Signed-off-by: Florin Coras <fcoras@cisco.com> (cherry picked from commit eef61bb81a22f4c61c01e5afc8bd3b8612a71534)
2019-10-03session: fix cleanup in closing statesFlorin Coras1-3/+1
Type: fix Change-Id: Iccc283bb98d3bb459a711ec2b74d6a32ad12903b Signed-off-by: Florin Coras <fcoras@cisco.com> (cherry picked from commit 54c93cfc2556d9c6d2cf472f51d4c2866a556ef6)
2019-10-03vlib: add flag to explicitelly mark nodes which can init per-node packet traceDamjan Marion1-0/+1
Type: feature Change-Id: I913f08383ee1c24d610c3d2aac07cef402570e2c Signed-off-by: Damjan Marion <damarion@cisco.com> (cherry picked from commit 7ca5aaac10e95306f74ea4afd52110dd46aa0381)
2019-10-02session: validate connection in session lookup delFlorin Coras1-1/+1
Type: fix Change-Id: I4e2617f99064c5a96e4debae8b68716ca129ee73 Signed-off-by: Florin Coras <fcoras@cisco.com> (cherry picked from commit e1e7fb88e47b0ec99d32ea0391d969542960391a)
2019-10-02tcp: use sacks for timer based recoveryFlorin Coras2-1/+26
Type: feature If available, reuse sack scoreboard in timer triggered retransmit to minimize spurious retransmits. Additional changes/refactoring: - limited transmit updates - add sacked rxt count to scoreboard - prr pacing of fast retransmits - startup pacing updates - changed loss window to flight + mss Change-Id: I057de6a9d6401698bd1031d5cf5cfbb62f2bdf61 Signed-off-by: Florin Coras <fcoras@cisco.com> (cherry picked from commit 36ebcfffbc7ab0e83b4bb8dfaec16bf16cafb954)
2019-10-01session: avoid transport cleanup if previously deletedFlorin Coras1-2/+3
Type: fix Change-Id: I485d38c7d9473e2ad1cbd8e17a788ec8d29ab001 Signed-off-by: Florin Coras <fcoras@cisco.com> (cherry picked from commit cac31a4a23241eb94e6982c049c0feb8b180c868)
2019-09-30session: move ctrl messages from bapi to mqFlorin Coras9-106/+675
Type:refactor Moves connect, disconnect, bind, unbind and app detach to message queue from binary api. Simplifies app/vcl interaction with the session layer since all session control messages are now handled over the mq. Add/del segment messages require internal C api changes which affect all builtin applications. They'll be moved in a different patch and might not be back portable to 19.08. Change-Id: I93f6d18e551b024effa75d47f5ff25f23ba8aff5 Signed-off-by: Florin Coras <fcoras@cisco.com> (cherry picked from commit 458089bbad9cf5bef6cf8119f23fc44e66b36ad3)
2019-09-30session: fix msg freeing on errorNathan Skrzypczak2-13/+7
Type: fix Change-Id: I0807f84737d5e98e69e9ed27a1de6813b2ddd138 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com> (cherry picked from commit 1afa7afffad6e296a97556aa4c9482f4cd544074)
2019-09-30session: builtin app rx notifications regardless of stateFlorin Coras1-3/+5
Type: feature Provide rx notifications to builtin apps even after disconnect. Consequently tcp connections that are past FIN_WAIT_1 can still receive rx notifications. This is not currently supported for external applications. Change-Id: I529da7f7120b0e7c62c5026ac71f86d6b5196cf4 Signed-off-by: Florin Coras <fcoras@cisco.com> (cherry picked from commit 5c29029ef029edc96340f9eecf7fe24821f2ef2a)