arm64: dts: qcom: sm8550: add TRNG node
[linux-modified.git] / Documentation / netlink / specs / handshake.yaml
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
8 name: handshake
9
10 protocol: genetlink
11
12 doc: Netlink protocol to request a transport layer security handshake.
13
14 definitions:
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
31 attribute-sets:
32   -
33     name: x509
34     attributes:
35       -
36         name: cert
37         type: s32
38       -
39         name: privkey
40         type: s32
41   -
42     name: accept
43     attributes:
44       -
45         name: sockfd
46         type: s32
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: peername
73         type: string
74   -
75     name: done
76     attributes:
77       -
78         name: status
79         type: u32
80       -
81         name: sockfd
82         type: s32
83       -
84         name: remote-auth
85         type: u32
86         multi-attr: true
87
88 operations:
89   list:
90     -
91       name: ready
92       doc: Notify handlers that a new handshake request is waiting
93       notify: accept
94     -
95       name: accept
96       doc: Handler retrieves next queued handshake request
97       attribute-set: accept
98       flags: [ admin-perm ]
99       do:
100         request:
101           attributes:
102             - handler-class
103         reply:
104           attributes:
105             - sockfd
106             - message-type
107             - timeout
108             - auth-mode
109             - peer-identity
110             - certificate
111             - peername
112     -
113       name: done
114       doc: Handler reports handshake completion
115       attribute-set: done
116       do:
117         request:
118           attributes:
119             - status
120             - sockfd
121             - remote-auth
122
123 mcast-groups:
124   list:
125     -
126       name: none
127     -
128       name: tlshd