1# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) 2# 3# Author: Chuck Lever <chuck.lever@oracle.com> 4# 5# Copyright (c) 2023, Oracle and/or its affiliates. 6# 7 8name: handshake 9 10protocol: genetlink 11 12doc: Netlink protocol to request a transport layer security handshake. 13 14definitions: 15 - 16 type: enum 17 name: handler-class 18 value-start: 0 19 entries: [ none, tlshd, max ] 20 - 21 type: enum 22 name: msg-type 23 value-start: 0 24 entries: [ unspec, clienthello, serverhello ] 25 - 26 type: enum 27 name: auth 28 value-start: 0 29 entries: [ unspec, unauth, psk, x509 ] 30 31attribute-sets: 32 - 33 name: x509 34 attributes: 35 - 36 name: cert 37 type: u32 38 - 39 name: privkey 40 type: u32 41 - 42 name: accept 43 attributes: 44 - 45 name: sockfd 46 type: u32 47 - 48 name: handler-class 49 type: u32 50 enum: handler-class 51 - 52 name: message-type 53 type: u32 54 enum: msg-type 55 - 56 name: timeout 57 type: u32 58 - 59 name: auth-mode 60 type: u32 61 enum: auth 62 - 63 name: peer-identity 64 type: u32 65 multi-attr: true 66 - 67 name: certificate 68 type: nest 69 nested-attributes: x509 70 multi-attr: true 71 - 72 name: done 73 attributes: 74 - 75 name: status 76 type: u32 77 - 78 name: sockfd 79 type: u32 80 - 81 name: remote-auth 82 type: u32 83 multi-attr: true 84 85operations: 86 list: 87 - 88 name: ready 89 doc: Notify handlers that a new handshake request is waiting 90 notify: accept 91 - 92 name: accept 93 doc: Handler retrieves next queued handshake request 94 attribute-set: accept 95 flags: [ admin-perm ] 96 do: 97 request: 98 attributes: 99 - handler-class 100 reply: 101 attributes: 102 - sockfd 103 - message-type 104 - timeout 105 - auth-mode 106 - peer-identity 107 - certificate 108 - 109 name: done 110 doc: Handler reports handshake completion 111 attribute-set: done 112 do: 113 request: 114 attributes: 115 - status 116 - sockfd 117 - remote-auth 118 119mcast-groups: 120 list: 121 - 122 name: none 123 - 124 name: tlshd 125