Commit Graph

28 Commits

Author SHA1 Message Date
Filip Tehlar
bf40da413f http: fix memory leak
Type: fix

Change-Id: I36905132a42d23e719bf0e82eeafa48f60f4887a
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2024-01-12 11:25:16 +01:00
Filip Tehlar
b1ea30e563 http: unify client/server state machines
Type: improvement

Change-Id: I57a816fbed8b681dec201edc8d5950a34a555a2b
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2024-01-02 12:07:04 +00:00
Filip Tehlar
7521d6745a http: fix coverity warning
Type: fix

Change-Id: I659a67293763a6035cfa64a4057ebf716fe93ab4
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2023-12-04 17:28:33 +00:00
Florin Coras
2ceb818f8e session: fix allocation of proxy fifos
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
2023-09-04 00:08:40 +00:00
Florin Coras
09c0e8fac2 session: fix coverity warnings
Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I910c8ce1713c6d346cc5ea4eb58a89c1c30a10a1
2023-08-11 21:33:58 +00:00
Florin Coras
0242d30fc7 session: async rx event notifications
Move from synchronous flushing of io and ctrl events from transports to
applications to an async model via a new session_input input node that
runs in interrupt mode. Events are coalesced per application worker.

On the one hand, this helps by minimizing message queue locking churn.
And on the other, it opens the possibility for further optimizations of
event message generation, obviates need for rx rescheduling rpcs and is
a first step towards a fully async data/io rx path.

Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Id6bebcb65fc9feef8aa02ddf1af6d9ba6f6745ce
2023-08-09 18:45:26 +00:00
Dave Barach
c0a2527a83 http_static: derive mime type from file extensions
Type: improvement

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I0f087477e257f5119d7d6182d19f8796773a1f19
2022-12-08 15:40:02 +00:00
Dave Barach
55fbf55c17 http_static: fix http(s) redirects
Add an http redirect template to generate correct-looking "301 Moved
Permanently" replies.

Supply a default value of 1<<31 for the use_ptr_thresh config parameter.

Expose hss_session_get() so friend plugins which register GET / POST
handlers with the http_static server can add data to the session fifos.

Type: fix

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: Ie1452eaf61c6f67311fbab092bc1fe03050bf94f
2022-12-06 11:25:15 -05:00
Florin Coras
6af9330c63 http: use safe pool realloc
Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I572017433a1ba0f8576522f02138928e303e10ab
2022-11-11 18:01:31 +00:00
Filip Tehlar
ee4172ef0a http: support client connect
Type: feature

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I0738c0aefb41ab6c0ff717cfccd1df75ddb481fa
2022-11-10 18:35:31 +00:00
Florin Coras
1cbcdcef20 tls http: run config fns after init ones
Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ia4d8aaafeb3629f421601edffefe9c61c3e69dba
2022-04-07 16:11:06 +00:00
Damjan Marion
8bea589cfe vppinfra: make _vec_len() read-only
Use of _vec_len() to set vector length breaks address sanitizer.
Users should use vec_set_len(), vec_inc_len(), vec_dec_len () instead.

Type: improvement
Change-Id: I441ae948771eb21c23a61f3ff9163bdad74a2cb8
Signed-off-by: Damjan Marion <damarion@cisco.com>
2022-04-04 23:17:13 +00:00
Florin Coras
1b026cb028 http hsa: use octet-stream content type for tps
Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I925618e426b325f4fafb9ed39a2d7c2d7c7b38f3
2022-02-23 21:33:46 +00:00
Florin Coras
4df1d35132 http: improvement reset and close handling
Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I37ff8099c6c8044881379b4cd47ca8843746c315
2022-02-23 21:24:47 +00:00
Florin Coras
f83d6668b0 http hsa: support multiple listeners for http tps
Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ie89326ed4e599231fc20de67c5dadbb428568bec
2022-02-23 21:24:47 +00:00
Florin Coras
7705b4916b tls http srtp: fix session index for listeners
Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: If5e6d0e8c686ea93674d6201c38b3a4d1c4786a5
2022-02-17 19:07:30 +00:00
Florin Coras
360aee3e00 http: fix support for files larger than u32
Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Iad7304c3a8fef14ec85c4240714feb86637411ca
2022-02-11 19:55:17 +00:00
Florin Coras
d37328eb8b http: add startup configuration stanza
Support segment and fifo sizes for now.

Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ie7242936de7a87df8a703eb371f665be5be4390d
2022-02-11 01:02:20 +00:00
Florin Coras
0bce71eee3 session: use transport endpoint cfg for listen
Makes it similar to connects.

Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I38c328670054e1a9ba4dc4ea8fe7519a5a09e8be
2022-02-10 21:17:16 +00:00
Florin Coras
a3d710e2d7 http: estimate tx packets for scheduler
Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ibca4bf59e6319ffdc1beaa084ca80f216e062af0
2022-02-05 21:19:53 +00:00
Florin Coras
3e157100b5 session: track bytes dequeued in snd params
Also reset send params flags before calling transports to avoid explicit
resets in all transports.

Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I1da7b3fab009728e7fee4199425ced933fa8a122
2022-02-05 21:19:53 +00:00
Florin Coras
e38babcdf9 http: honor max seg len in ptr buffer
Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I58ecd933f36c6622f4c6b373d2d94a48f9fc9eae
2022-02-03 20:43:00 +00:00
Florin Coras
6a4a11f479 http_static: refactor to use http transport
Type: refactor

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I66396a1879eb3c87ef64783eab82a22896413cd0
2022-01-26 16:54:46 +00:00
Florin Coras
1d88fb97be http: generalize buffer implementation
And add support for passing of pointers

Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ida3e5ae4ff7842366ae92a5f33c5e761355951a6
2022-01-26 16:54:46 +00:00
Florin Coras
6ec81f209a http hsa: avoid extra space in request
Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I70f22350811ef3cd029d69af75659f95cc9a74c8
2022-01-25 19:31:33 +00:00
Florin Coras
340bd8f1ef http: fix rescheduling when transport fifo full
Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I5ae1039fd614865154bae94150371e42f3e6fd2a
2022-01-25 07:20:15 +00:00
Florin Coras
3b9c7ca0ba hsa: refactor test http server to use http proto
Type: refactor

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ie7c80d75ca511e1905fa73db48d329f7e1fa86ff
2022-01-20 22:58:25 +00:00
Florin Coras
0b65621d41 http: add http protocol plugin
Basic HTTP/1.1 server side implementation.

Type: feature

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I06bddaf7f11e28db802b4cd7ef8160c78cb019b6
2022-01-20 00:39:21 -08:00