From e0d62f616439955946d24ad83d49552da24afd5d Mon Sep 17 00:00:00 2001 From: Konstantin Ananyev Date: Thu, 13 May 2021 15:26:50 +0000 Subject: l4p/tcp: introduce tle_tcp_stream_establish() API tle_tcp_stream_establish() allows to create streams in established connection state. Signed-off-by: Konstantin Ananyev Change-Id: Ib302c4d7f229144d2624279f973f00041fb611b2 --- lib/libtle_l4p/tle_tcp.h | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'lib/libtle_l4p/tle_tcp.h') diff --git a/lib/libtle_l4p/tle_tcp.h b/lib/libtle_l4p/tle_tcp.h index b0cbda6..3155dfa 100644 --- a/lib/libtle_l4p/tle_tcp.h +++ b/lib/libtle_l4p/tle_tcp.h @@ -51,6 +51,33 @@ struct tle_tcp_stream_param { struct tle_tcp_stream_cfg cfg; }; +/** + * Timestamp option. + */ +union tle_tcp_tsopt { + uint64_t raw; + struct { + uint32_t val; + uint32_t ecr; + }; +}; + +/** + * SYN time option values. + */ +struct tle_tcp_syn_opts { + uint16_t mss; + uint8_t wscale; + union tle_tcp_tsopt ts; +}; + +struct tle_tcp_conn_info { + uint16_t wnd; + uint32_t seq; + uint32_t ack; + struct tle_tcp_syn_opts so; +}; + /** * create a new stream within given TCP context. * @param ctx @@ -129,6 +156,11 @@ tle_tcp_stream_get_addr(const struct tle_stream *s, */ int tle_tcp_stream_get_mss(const struct tle_stream *ts); +struct tle_stream * +tle_tcp_stream_establish(struct tle_ctx *ctx, + const struct tle_tcp_stream_param *prm, + const struct tle_tcp_conn_info *ci); + /** * Client mode connect API. */ -- cgit 1.2.3-korg