aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/yang/openconfig/openconfig-aaa-radius.yang
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/yang/openconfig/openconfig-aaa-radius.yang')
-rw-r--r--src/plugins/yang/openconfig/openconfig-aaa-radius.yang180
1 files changed, 180 insertions, 0 deletions
diff --git a/src/plugins/yang/openconfig/openconfig-aaa-radius.yang b/src/plugins/yang/openconfig/openconfig-aaa-radius.yang
new file mode 100644
index 0000000..8f82bd4
--- /dev/null
+++ b/src/plugins/yang/openconfig/openconfig-aaa-radius.yang
@@ -0,0 +1,180 @@
+submodule openconfig-aaa-radius {
+
+ yang-version "1";
+
+ belongs-to "openconfig-aaa" {
+ prefix "oc-aaa";
+ }
+
+ // import some basic types
+ import openconfig-inet-types { prefix oc-inet; }
+ import openconfig-extensions { prefix oc-ext; }
+ import openconfig-aaa-types { prefix oc-aaa-types; }
+ import openconfig-types { prefix oc-types; }
+ import openconfig-yang-types { prefix oc-yang; }
+
+
+ // meta
+ organization "OpenConfig working group";
+
+ contact
+ "OpenConfig working group
+ www.openconfig.net";
+
+ description
+ "This module defines configuration and operational state data
+ related to the RADIUS protocol for authentication,
+ authorization, and accounting.";
+
+ oc-ext:openconfig-version "0.3.0";
+
+ revision "2017-09-18" {
+ description
+ "Updated to use OpenConfig types modules";
+ reference "0.3.0";
+ }
+
+ revision "2017-07-06" {
+ description
+ "Move to oc-inet types, add IETF attribution, add RADIUS
+ counters, changed password leaf names to indicate hashed";
+ reference "0.2.0";
+ }
+
+ revision "2017-01-29" {
+ description
+ "Initial public release";
+ reference "0.1.0";
+ }
+
+ // extension statements
+
+ // feature statements
+
+ // identity statements
+
+ identity RADIUS {
+ base oc-aaa-types:AAA_SERVER_TYPE;
+ description
+ "Remote Authentication Dial In User Service (RADIUS) AAA
+ server";
+ reference
+ "RFC 2865 - Remote Authentication Dial In User Service
+ (RADIUS)";
+ }
+
+ // typedef statements
+
+ // grouping statements
+
+ grouping aaa-radius-server-config {
+ description
+ "Configuration data for a RADIUS server";
+
+ leaf auth-port {
+ type oc-inet:port-number;
+ default 1812;
+ description
+ "Port number for authentication requests";
+ }
+
+ leaf acct-port {
+ type oc-inet:port-number;
+ default 1813;
+ description
+ "Port number for accounting requests";
+ }
+
+ leaf secret-key {
+ type oc-types:routing-password;
+ description
+ "The unencrypted shared key used between the authentication
+ server and the device.";
+ }
+
+ leaf source-address {
+ type oc-inet:ip-address;
+ description
+ "Source IP address to use in messages to the RADIUS server";
+ }
+
+ leaf retransmit-attempts {
+ type uint8;
+ description
+ "Number of times the system may resend a request to the
+ RADIUS server when it is unresponsive";
+ }
+ }
+
+ grouping aaa-radius-server-state {
+ description
+ "Operational state data for a RADIUS server";
+
+ container counters {
+ description
+ "A collection of RADIUS related state objects.";
+
+ leaf retried-access-requests {
+ type oc-yang:counter64;
+ description
+ "Retransmitted Access-Request messages.";
+ }
+
+ leaf access-accepts {
+ type oc-yang:counter64;
+ description
+ "Received Access-Accept messages.";
+ }
+
+ leaf access-rejects {
+ type oc-yang:counter64;
+ description
+ "Received Access-Reject messages.";
+ }
+
+ leaf timeout-access-requests {
+ type oc-yang:counter64;
+ description
+ "Access-Request messages that have timed-out,
+ requiring retransmission.";
+ }
+ }
+ }
+
+ grouping aaa-radius-server-top {
+ description
+ "Top-level grouping for RADIUS server data";
+
+ container radius {
+ description
+ "Top-level container for RADIUS server data";
+
+ container config {
+ description
+ "Configuration data for RADIUS servers";
+
+ uses aaa-radius-server-config;
+ }
+
+ container state {
+
+ config false;
+
+ description
+ "Operational state data for RADIUS servers";
+
+ uses aaa-radius-server-config;
+ uses aaa-radius-server-state;
+ }
+ }
+ }
+
+ // data definition statements
+
+ // augment statements
+
+ // rpc statements
+
+ // notification statements
+
+}