Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fabrics: use SECTYPE to determine whether to use TLS
The NVMe specfications are clear that the discovery log page entry SECTYPE field indicates whether TLS is supported. Currently the TREQ field is used, which results in enabling TLS even when SECTYPE = "No Security" and TREQ = "Not required". Only enable TLS if SECTYPE indicates a TLS version is enabled. From the NVMe/TCP transport specification, version 1.0c: Security Type (SECTYPE): Specifies the type of security used by the NVMe/TCP port. If SECTYPE is a value of 0h (No Security), then the host shall set up a normal TCP connection. From TP 8018: The SECTYPE value of 0h (i.e., No Security) specifies that TLS is not supported. From TP 8025 (the "TLS Permitted" host case): If the SECTYPE field in the TSAS field in the discovery log entry for the remote entity is cleared to zero and the TSC field is not set to 01b (i.e., Required), then initiate TCP connections without TLS. Fixes: 3962a45 ("fabrics: add fabrics config option 'tls'") Signed-off-by: Caleb Sander <[email protected]>
- Loading branch information