nfp: tls: implement the stream sync RX resync
authorJakub Kicinski <jakub.kicinski@netronome.com>
Tue, 17 Dec 2019 22:12:02 +0000 (14:12 -0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 20 Dec 2019 01:46:51 +0000 (17:46 -0800)
commit6a35ddc5445a8291ced6247a67977e110275acde
treeb2c2051ccd1bd7c86c374db1d96ddf97ca3220bc
parent8d5a49e9e31ba1ddd34a54b2351d068a90c78707
nfp: tls: implement the stream sync RX resync

The simple RX resync strategy controlled by the kernel does not
guarantee as good results as if the device helps by detecting
the potential record boundaries and keeping track of them.

We've called this strategy stream scan in the tls-offload doc.

Implement this strategy for the NFP. The device sends a request
for record boundary confirmation, which is then recorded in
per-TLS socket state and responded to once record is reached.
Because the device keeps track of records passing after the
request was sent the response is not as latency sensitive as
when kernel just tries to tell the device the information
about the next record.

Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/netronome/nfp/ccm.h
drivers/net/ethernet/netronome/nfp/crypto/crypto.h
drivers/net/ethernet/netronome/nfp/crypto/fw.h
drivers/net/ethernet/netronome/nfp/crypto/tls.c
drivers/net/ethernet/netronome/nfp/nfp_net.h
drivers/net/ethernet/netronome/nfp/nfp_net_common.c
drivers/net/ethernet/netronome/nfp/nfp_net_ctrl.c
drivers/net/ethernet/netronome/nfp/nfp_net_ctrl.h
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c