summaryrefslogtreecommitdiffstats
path: root/src/vnet/session
AgeCommit message (Collapse)AuthorFilesLines
2020-04-17session tcp: track half open in app wrkFlorin Coras8-10/+138
Type: improvement Do extra checks when establishing an active connect and cleanup pending connects if application detaches. Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ibe9349db57b313ba2aa5ea3960ef5cf755f5098a
2020-04-15session: 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
2020-04-14session: avoid all session cleanup on unlistenFlorin Coras1-9/+7
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ifff49366ad538bf2dd64487cae17e7457dff064f
2020-04-13session: remove ho with fifos supportFlorin Coras4-29/+5
Type: refactor UDPC (removed) was the only consumer. Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I2812bf58d3c68fe021ec73acaa1bd00ef3172846
2020-04-13session: cleanup debug codeFlorin Coras5-319/+362
Type: refactor Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ie6c03195019fe18c547b22f4387d7f2b14b71461
2020-04-13session: adding debug eventsSrikanth Akula4-0/+231
Type: feature Enhancing the debugging capability of tcp session layer by measing time spent for various events. This is meant only for debugging purpose Signed-off-by: Srikanth Akula <srakula@cisco.com> Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I9f401881b345bcae5f7d8050338637fd47b3723b Signed-off-by: Srikanth Akula <srakula@cisco.com>
2020-04-10udp: remove connected udp transport protoFlorin Coras3-7/+1
Type: refactor To reproduce functionality, use udp in combination with TRANSPORT_CFG_F_CONNECTED transport flag set in connect and listen parameters. Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Id88470c38326f8168b9646b0de49a674e0f4266f
2020-04-09session: fix leak on accept fifo alloc failureFlorin Coras2-6/+15
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ia928d6ea05ff7cb9a15e1ddc58234d000ebfd7fb
2020-04-09session: update fifo slice on session migrationFlorin Coras3-10/+71
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ic5fb0f95c58ad70925a365004fe911ac8f2d2382
2020-04-08udp: cleanup input nodeFlorin Coras2-0/+32
Type: refactor Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ida9daefc20a161b36d6f36c56267123c7f2efc01
2020-04-08session: alloc exact number of bufs for multi-seg deqsSimon Zhang2-7/+24
Type: refactor Signed-off-by: Simon Zhang <yuwei1.zhang@intel.com> Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I11cf806e22158e021a9a405eb4487a9ed6fdbccf
2020-04-07session: add more session errorsFlorin Coras3-21/+33
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I9b246eb8a99020de9e5859147c456096fe2e3389
2020-04-07udp session: allow dgram ip fragmentationFlorin Coras1-8/+3
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ida8f9e759b4990ea6e34e71dc45bdb3b5eabc27f
2020-04-07udp session: jumbo frames and configurable mtuFlorin Coras1-1/+6
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I6b750bef5df0f8544e05177ccd480f87a020832d
2020-04-06vcl session: enforce full dgram reads/writesFlorin Coras1-9/+7
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I4a3861e31ca42faf0b59f8f09393fb10413bf3af
2020-04-06session udp: shared local endpointsFlorin Coras7-33/+89
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ie7102355b95eefb233ec7d146e61819051a7bf07
2020-04-04session tls: support tls deschedulingFlorin Coras3-17/+31
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ieb8bb9c6deb92479fdd3e045778fe5ae4782d1ea
2020-04-04session tls: improve app transports tx schedulingFlorin Coras2-4/+27
Type: improvement - allow apps to request rescheduling of tx events via SESSION_F_CUSTOM_TX flag - limit max burst per session custom tx dispatch In tls - use the new infra to reschedule tx events - use max burst bytes as upper limit to number of bytes to be encrypted Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I544a5a3337af7ebdff3406b776adf30cf96ebf3c
2020-04-04misc: 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
2020-04-03session: improve error reportingFlorin Coras12-92/+132
Type: improvement Change-Id: I9dd850a1ce85b0adb5136233f176117e0ee38817 Signed-off-by: Florin Coras <fcoras@cisco.com>
2020-04-03session: init port_proto_type asapFlorin Coras1-7/+11
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Idc9b1423846edb46755a255ecc14070e9250d192
2020-04-03session udp: fix transport flags and migrationFlorin Coras2-1/+2
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I840d43e79b1f826380bd56485441510e45bdfc7f
2020-04-03session: remove obsolete apisFlorin Coras2-797/+36
Type: refactor Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ia14800710aca7c1bc315b6da3c69d623f79a5b63
2020-04-02udp session vcl: add udp iperf testFlorin Coras1-0/+7
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ib4bc2ce781887a84055a4d5cdb7f453fc7d52c79
2020-04-01session udp: support connect on listenersFlorin Coras3-2/+5
Type: feature Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I6aaaec20a2b6d4c6ddfbe659d9402acc1be2f7e2
2020-04-01session: allow rx events independnt of stateFlorin Coras1-6/+0
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ica1d4e149f4750517e0bd3ccf2572f6f15f63622
2020-04-01session: 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>
2020-03-30tcp: reuse session infra for syns and resetsFlorin Coras3-15/+33
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I71df27049ef0193578f0c42f8f8bbd5c54e4d53e
2020-03-30session udp: flag for connected udpFlorin Coras4-2/+33
Type: improvement This can be used as alternative to udpc Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ic3f7efe6728b25d4a8a0b61ddb36de66b4672c4f
2020-03-26session: fix coverity warningDave Barach1-1/+1
Type: fix Ticket: VPP-1837 Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: Ib5da600b7a40f775de7dc5b9aaa8d967e49e8632
2020-03-26svm: correct format_fifo_segmentRyujiro Shibuya1-1/+3
Type: improvement Signed-off-by: Ryujiro Shibuya <ryujiro.shibuya@owmobility.com> Change-Id: Ia8aef3695f12e09b087be79ebe40e758fb8105ad
2020-03-25session: api to add new transport typesFlorin Coras11-77/+128
Type: feature Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: If4dee6dba1ea942daa921d566b35cdecdda680ee
2020-03-20session: export session_alloc_for_connectionAndreas Schultz2-1/+3
Type: refactor Signed-off-by: Andreas Schultz <andreas.schultz@travelping.com> Change-Id: I45c6f434065ab0ad8ada3184b5a875a32a1b3faa
2020-03-19tcp: force deschedule if no send space availableFlorin Coras4-12/+13
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Iae9f118f710153b6c0e390265039db7434e67ed8
2020-03-19session tcp udp: consolidate transport snd apisFlorin Coras6-49/+123
Type: improvement Use only one api to retrieve transport send parameters. Additionally, allow transports to request postponing and descheduling of events. With this, tcp now requests descheduling of sessions when the connections are stuck probing for zero snd_wnd Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I722c974f3e68fa15424c519a1fffacda43af050c
2020-03-06session: fix session reschedule conditionFlorin Coras1-1/+1
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I01441e958517e31260e67c8caea5f75d684b2711
2020-03-05session: fix segment search on fifo allocFlorin Coras1-30/+23
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Iaa4f9b0ec31a58f7406774f73e1a089bfcf4ac30
2020-03-05session: API cleanupJakub Grajciar2-141/+153
Use consistent API types. Type: fix Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com> Change-Id: Ib752a3425c076eb53bc5255a48039cbb74b1fcce Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2020-02-26svm: fix coverity warningsFlorin Coras1-2/+1
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I2d5cb7cccb67a3193ce5a25323e70bc05737e023
2020-02-26tls session: fix unlistenFlorin Coras2-0/+27
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ie3bc31fc3df662e087f7931de6c274eb3608a2d8
2020-02-25svm: minimal initial fifoFlorin Coras5-2/+7
Type: refactor Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I4ee46a6c3c53c58199c275e20702f7fd11b60d9a
2020-02-25session: basic fifo-tuning-logicRyujiro Shibuya8-9/+93
- Allowing application to register custom fifo-tuning-logic. - Adding an example custom fifo-tuning-logic in hs_app/proxy. Type: feature Signed-off-by: Ryujiro Shibuya <ryujiro.shibuya@owmobility.com> Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I2aca14d1f23d5c3c9debb7f4c46aca3a15a8d1b9
2020-02-25session svm: tracking segment memory usageRyujiro Shibuya4-19/+90
1. segment manager would attempt to balance the usages across the segments, when it allocate fifos 2. the memory presure level is determined per fifo-segment 3. updated unit test 4. updated cli output for segments Type: feature Signed-off-by: Ryujiro Shibuya <ryujiro.shibuya@owmobility.com> Change-Id: I2923f3e0a43dd919196a0cb2cd55e098fde6cf66
2020-02-25svm: refactor fifoFlorin Coras4-91/+7
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-23session: include timer generated packets in max burstFlorin Coras1-1/+2
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ic9174c92ab05b58e62b00999fe9cbf4e9292d43e
2020-02-23session: minimize number of tx eventsFlorin Coras1-8/+21
Type: improvement Unset fifo tx event only if all data has been dequeued. Avoids frequent re-scheduling of sessions as new sessions. Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I36a4c90b97e0255b88782032fb029640e6a73e90
2020-02-18tcp: allow custom mss on connectsFlorin Coras1-0/+1
Type: feature Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ie4bd68a387f706b3e6868bece2ec4c8c1d92a9c3
2020-02-17misc: 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
2020-02-12tcp: improve invalid packet handling in syn-rcvdFlorin Coras1-1/+8
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ie356b4d45d47e30c185caf2e66cdb16f1a97046f
2020-02-11session: avoid scanning new io list under loadFlorin Coras2-21/+51
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Idaa7cc26ad941be86daec4ed5920727237712f4a