Page MenuHomeFreeBSD

D54275.1786177678.diff
No OneTemporary

Size
858 B
Referenced Files
None
Subscribers
None

D54275.1786177678.diff

diff --git a/sys/kern/uipc_ktls.c b/sys/kern/uipc_ktls.c
--- a/sys/kern/uipc_ktls.c
+++ b/sys/kern/uipc_ktls.c
@@ -1406,6 +1406,9 @@
if (error)
return (error);
+ /* some ktls offload NICs require initial seqno to start offload */
+ tls->initial_offload_seqno = be64dec(en->rec_seq);
+
/* Prefer TOE -> ifnet TLS -> software TLS. */
#ifdef TCP_OFFLOAD
error = ktls_try_toe(so, tls, KTLS_TX);
diff --git a/sys/sys/ktls.h b/sys/sys/ktls.h
--- a/sys/sys/ktls.h
+++ b/sys/sys/ktls.h
@@ -221,9 +221,12 @@
bool tx;
bool sync_dispatch;
bool sequential_records;
-
- /* Only used for TLS 1.0. */
- uint64_t next_seqno;
+ union {
+ /* Only used for TLS 1.0. */
+ uint64_t next_seqno;
+ /* Needed by some ktls offload NICs */
+ uint64_t initial_offload_seqno;
+ };
STAILQ_HEAD(, mbuf) pending_records;
/* Used to destroy any kTLS session */

File Metadata

Mime Type
text/plain
Expires
Sat, Aug 8, 8:27 AM (8 h, 54 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
29369770
Default Alt Text
D54275.1786177678.diff (858 B)

Event Timeline