46e9d4d8cf935396bbd69851b5b677b40c9da829
[sim/o1-interface.git] / ntsimulator / deploy / o-ran-ru-fh / yang / ieee802-dot1x-types.yang
1 module ieee802-dot1x-types {
2
3   namespace "urn:ieee:std:802.1X:yang:ieee802-dot1x-types";
4   prefix "dot1x-types";
5
6   organization
7     "Institute of Electrical and Electronics Engineers";
8
9   contact
10     "WG-URL: http://www.ieee802.org/1
11     WG-EMail: stds-802-1-L@ieee.org
12
13     Contact: IEEE 802.1 Working Group Chair
14     Postal: C/O IEEE 802.1 Working Group
15             IEEE Standards Association
16             445 Hoes Lane
17             Piscataway
18             NJ 08854
19             USA
20
21     E-mail: STDS-802-1-L@LISTSERV.IEEE.ORG";
22
23   description
24     "Port-based network access control allows a network administrator
25     to restrict the use of IEEE 802 LAN service access points (ports)
26     to secure communication between authenticated and authorized
27     devices. IEEE Std 802.1X specifies an architecture, functional
28     elements, and protocols that support mutual authentication
29     between the clients of ports attached to the same LAN and secure
30     communication between the ports. The following control allows a
31     port to be reinitialized, terminating (and potentially
32     restarting) authentication exchanges and MKA operation, based on
33     a data model described in a set of YANG modules.";
34
35   revision 2020-02-18 {
36     description
37       "Updated Contact information.";
38   }
39
40   revision 2019-05-28 {
41     description
42       "Updates based upon comment resolution on draft
43       D1.0 of P802.1X-Rev.";
44     reference
45       "IEEE Std 802.1X-2020, Port-Based Network Access Control.";
46   }
47
48   /* ----------------------------------------------
49    * Type definitions used by dot1X YANG module
50    * ----------------------------------------------
51    */
52
53   typedef pae-nid {
54     type string {
55       length "0..100";
56     }
57     description
58       "Network Identity, which is a UTF-8 string identifying a
59       network or network service.";
60     reference
61       "IEEE 802.1X-2020 Clause 3, Clause 10.1, Clause 12.6";
62   }
63
64   typedef pae-session-user-name {
65     type string {
66       length "0..253";
67     }
68     description
69       "Session user name, which is a UTF-8 string, representing the
70       identity of the peer Supplicant.";
71     reference
72       "IEEE 802.1X-2020 Clause 12.5.1";
73   }
74
75   typedef pae-session-id {
76     type string {
77       length "3..253";
78     }
79     description
80       "Session Identifier, which is a UTF-8 string, uniquely
81       identifying the session within the context of the PAE's
82       system.";
83     reference
84       "IEEE 802.1X-2020 Clause 12.5.1";
85   }
86
87   typedef pae-nid-capabilities {
88     type bits {
89       bit eap {
90         position 0;
91         description
92           "EAP";
93       }
94       bit eapMka {
95         position 1;
96         description
97           "EAP + MKA";
98       }
99       bit eapMkaMacSec {
100         position 2;
101         description
102           "EAP + MKA + MACsec";
103       }
104       bit mka {
105         position 3;
106         description
107           "MKA";
108       }
109       bit mkaMacSec {
110         position 4;
111         description
112           "MKA + MACsec";
113       }
114       bit higherLayer {
115         position 5;
116         description
117           "Higher Layer (WebAuth)";
118       }
119       bit higherLayerFallback {
120         position 6;
121         description
122           "Higher Layer Fallback (WebAuth)";
123       }
124       bit vendorSpecific {
125         position 7;
126         description
127           "Vendor specific authentication mechanisms";
128       }
129     }
130     description
131       "Authentication and protection capabilities supported for the
132       NID. Indicates the combinations of authentication and
133       protection capabilities supported for the NID. Any set of these
134       combinations can be supported.";
135     reference
136       "IEEE 802.1X-2020 Clause 10.1, Clause 11.12.3";
137   }
138
139   typedef pae-access-status {
140     type enumeration {
141       enum no-access {
142         description
143           "Other than to authentication services, and to services
144           announced as available in the absence of authentication
145           (unauthenticated).";
146       }
147       enum remedial-access {
148         description
149           "The access granted is severely limited, possibly to
150           remedial services.";
151       }
152       enum restricted-access {
153         description
154           "The Controlled Port is operational, but restrictions have
155           been applied by the network that can limit access to some
156           resources.";
157       }
158       enum expected-access {
159         description
160           "The Controlled Port is operational, and access provided is
161           as expected for successful authentication and authorization
162           for the NID.";
163       }
164     }
165     description
166       "Indicates the transmitter's Controlled Port operational status
167       and current level of access resulting from authentication and
168       the consequent authorization controls applied by that port's
169       clients.";
170     reference
171       "IEEE 802.1X-2020 Clause 10.4, Clause 12.5";
172   }
173
174   typedef mka-kn {
175     type uint32;
176     description
177       "Indicates a Key Number (KN) used in MKA. It is assigned by
178       the Key Server (sequentially beginning with 1).";
179     reference
180       "IEEE 802.1X-2020 Clause 9.8, Clause 9.16";
181   }
182
183   typedef mka-an {
184     type uint32;
185     description
186       "A number that is concatenated with a MACsec Secure Channel
187       Identifier to identify a Secure Association. Indicates an
188       Association Number (AN) assigned by the Key Server for use with
189       the key number for transmission.";
190     reference
191       "IEEE 802.1X-2020 Clause 9.8, Clause 9.16";
192   }
193
194   typedef pae-ckn {
195     type string {
196       length "1..32";
197     }
198     description
199       "Indicates the CAK name to identify the Connectivity
200       Association Key (CAK) which is the root key in the MACsec Key
201       Agreement key hierarchy. All potential members of the CA use
202       the same CKN.";
203     reference
204       "IEEE 802.1X-2020 Clause 9.3.1, Clause 6.2";
205   }
206
207   typedef pae-kmd {
208     type string {
209       length "0..253";
210     }
211     description
212       "A Key Management Domain (KMD). A string of up to 253 UTF-8
213       characters that names the transmitting authenticator's key
214       management domain.";
215     reference
216       "IEEE Clause 12.6";
217   }
218
219   typedef pae-auth-data {
220     type string;
221     description
222       "Authorization data associated with the CAK.";
223     reference
224       "IEEE 802.1X-2020 Clause 9.16";
225   }
226
227   typedef sci-list-entry {
228     type string {
229       length "8";
230     }
231     description
232       "8 octet string, where the first 6 octets represents the MAC
233       Address (in canonical format), and the next 2 octets represents
234       the Port Identifier.";
235     reference
236       "IEEE 802.1AE Clause 7.1.2, Clause 10.7.1";
237   }
238
239   typedef pae-if-index {
240     type int32 {
241       range "1..2147483647";
242     }
243     description
244         "The interface index value represented by this interface.";
245   }
246
247 } // ieee802-dot1x-types