]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Set inp_flowid's for TOE connections.
authorjhb <jhb@FreeBSD.org>
Wed, 15 Apr 2020 19:28:51 +0000 (19:28 +0000)
committerjhb <jhb@FreeBSD.org>
Wed, 15 Apr 2020 19:28:51 +0000 (19:28 +0000)
commit9c1cb981eb0acfc7d735d7fbc9c96cef41bae16e
tree179535344f09941eb028b57fcc13964b1e2650b5
parent919d075a1a12b517de36a2be4738564c44695dac
Set inp_flowid's for TOE connections.

KTLS uses the flowid to distribute software encryption tasks among its
pool of worker threads.  Without this change, all software KTLS
requests for TOE sockets ended up on the first worker thread.

Note that the flowid for TOE sockets created via connect() is not a
hash of the 4-tuple, but is instead the id of the TOE pcb (tid).  The
flowid of TOE sockets created from TOE listen sockets do use the
4-tuple RSS hash as the flowid since the firmware provides the hash in
the message containing the original SYN.

Reviewed by: np (earlier version)
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D24348
sys/dev/cxgbe/tom/t4_connect.c
sys/dev/cxgbe/tom/t4_listen.c
sys/dev/cxgbe/tom/t4_tom.h