• Chuck Lever's avatar
    net/handshake: Create a NETLINK service for handling handshake requests · 3b3009ea
    Chuck Lever authored
    When a kernel consumer needs a transport layer security session, it
    first needs a handshake to negotiate and establish a session. This
    negotiation can be done in user space via one of the several
    existing library implementations, or it can be done in the kernel.
    
    No in-kernel handshake implementations yet exist. In their absence,
    we add a netlink service that can:
    
    a. Notify a user space daemon that a handshake is needed.
    
    b. Once notified, the daemon calls the kernel back via this
       netlink service to get the handshake parameters, including an
       open socket on which to establish the session.
    
    c. Once the handshake is complete, the daemon reports the
       session status and other information via a second netlink
       operation. This operation marks that it is safe for the
       kernel to use the open socket and the security session
       established there.
    
    The notification service uses a multicast group. Each handshake
    mechanism (eg, tlshd) ...
    3b3009ea
handshake.yaml 2.24 KB