aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/hs_apps/proxy.c
AgeCommit message (Collapse)AuthorFilesLines
2024-10-25session: support of multiple extended configsMatus Fabian1-12/+14
This allow configuration for each transport protocol when combined, e.g. HTTPS=HTTP+TLS. Extended config of session endpoint config is now chunk of memory, which allow seamless integration with VCL, and internal representation is hidden behind APIs, which is better for future improvements. By default chunk is allocated to 512B if the app doesn't do so before. Type: improvement Change-Id: I323f19ec255eba31c58c06b8b83af45aab7f5bb1 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-10-19hsa: refactor proxy to minimize lock usageFlorin Coras1-164/+273
Use per worker context to minimize proxy session lock usage for io events. Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ia0ea204a8b09f72300fd40745b299246d5d0ddb7
2024-10-15hsa: switch proxy to using first worker connectsFlorin Coras1-29/+62
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I04821236ba8ab02525bd99a1ed4572dfcf5e5131
2024-09-13hsa: fix proxy ao connectMatus Fabian1-0/+7
Make sure that proxy server doesn't try to open connection to the target multiple times. When client is uploading huge amount of data it might happen that proxy_rx_callback is called again before connection to the target is established. Type: fix Change-Id: I4d272d37bc545f6f8790a115c8d26bcf3ea84f22 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-09-11hsa: fix proxy ao tx callbackFlorin Coras1-11/+8
Reuse existing proxy_force_ack for active open tx callback. This makes sure proxy session is tcp (as opposed to tls) and also makes sure the ack is sent from the thread that owns the proxy session. Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I9692fa2c4feefd3db701f9449a35495cf7b3d9dc
2024-09-06session: add Source Deny ListSteven Luong1-1/+4
With this feature, session enable is now modified to have 3 modes of operation session enable -- only enable session session enable rt-backend sdl -- enable session with sdl session enable rt-backend rule-table -- enable session with rule-table session rule tables are now created on demand, upon adding first rule to the rule table. refactor session table to remove depenency from sesssion rules table. Now session rules table APIs take srtg_handle and transport proto instead of srt pointer. Type: feature Change-Id: Idde6a9b2f46b29bb931f9039636562575572aa14 Signed-off-by: Steven Luong <sluong@cisco.com>
2024-03-12misc: remove GNU Indent directivesDamjan Marion1-2/+0
Type: refactor Change-Id: I5235bf3e9aff58af6ba2c14e8c6529c4fc9ec86c Signed-off-by: Damjan Marion <damarion@cisco.com>
2023-09-04session: fix allocation of proxy fifosFlorin Coras1-20/+40
Fifos need to be synchronously allocated once a transport like tcp accepts a session. Since events are now delivered asynchronously, proxy apps must explicitly register a cb function that manages fifo allocation prior to being notified of connect event. Type: fix Fixes: 0242d30 Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I7df973b7014e53e0766ea2bdc61e9871160bc18b
2022-06-10hsa: allow first segments larger than 4g for proxyFlorin Coras1-13/+4
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I9c502a491ff56806a2e631f7a4c18903a2e93ab2
2022-06-03hsa: dealloc proxy fifos on right threadFlorin Coras1-1/+45
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ia66c12e1da126d0d8d101b645e6dc8454c3826d6
2022-06-03hsa: refactor proxy session lookup and cleanupFlorin Coras1-83/+46
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ic68627bbca676cc78b0be05bc1fa0f386f5d27fa
2021-10-03hsa: proxy app worker thread deadlockSivaprasad Tummala1-5/+10
proxy main lock not released in certain cases and resulting in deadlock. Type: fix Signed-off-by: Sivaprasad Tummala <Sivaprasad.Tummala@intel.com> Change-Id: Ib869f459b447189bb921c05fd260f3691c2ac787
2021-05-29hsa: proxy listener support addition of fifo segmentsFlorin Coras1-0/+1
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I59218f784140ef5ecb8468af6aebfe25fd7703a4
2021-05-07session: connects seg manager is always firstFlorin Coras1-2/+1
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-04-22vcl session: refactor passing of crypto contextFlorin Coras1-3/+31
Pass tls/quic crypto context using extended config instead of bloating conect/listen messages. Type: refactor Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I0bc637ae310e6c31ef1e16847501dcb81453ee94
2021-04-14hsa: fix coverity warningsFlorin Coras1-2/+3
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I1c38abde67c2f9be22186359a39ebc3a769b4a7f
2021-03-11hsa: add support for tls to proxyFlorin Coras1-37/+86
Type: improvement Change-Id: I934e1e981bfa3e5ef81a61b2180604f9b9fc991b Signed-off-by: Florin Coras <fcoras@cisco.com>
2020-12-24svm: split fifo into private and shared structsFlorin Coras1-3/+3
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Id8e77e8b2623be719fd43a95e181eaa5b7df2b6e
2020-12-10hsa: http proxy connected callback fixesnandfan1-3/+0
svm_fifo_init_ooo_lookup has been called by transport Type: fix Signed-off-by: nandfan <fanyufei521@outlook.com> Change-Id: I6626421c9a71212be0f7b8bff953133f760811f6
2020-07-29hsa: fix handling active connection failures in the proxyIvan Shvedunov1-9/+16
Type: fix Signed-off-by: Ivan Shvedunov <ivan4th@gmail.com> Change-Id: I9c62bb6524247e2cd25de198263c16f3d9db0da9
2020-07-23hsa: proxy session cleanup fixesFlorin Coras1-93/+183
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I96673c984077876e69b18b4126b55e70dc07b50f
2020-04-03session: improve error reportingFlorin Coras1-3/+3
Type: improvement Change-Id: I9dd850a1ce85b0adb5136233f176117e0ee38817 Signed-off-by: Florin Coras <fcoras@cisco.com>
2020-02-25session: basic fifo-tuning-logicRyujiro Shibuya1-13/+77
- 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-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-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-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>
2019-12-10api: multiple connections per processDave Barach1-1/+1
Type: feature Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I2272521d6e69edcd385ef684af6dd4eea5eaa953
2019-06-25hsa: move session-apps to host-stack apps pluginFlorin Coras1-0/+626
Type:refactor Change-Id: I114fea3a54258797e961d8627a99ba2098674d20 Signed-off-by: Florin Coras <fcoras@cisco.com>