blob: e0ad1dd2e2d77907bd748a6426ba642a6c61625a [file] [log] [blame]
submodule openconfig-aaa-radius {
yang-version "1";
belongs-to "openconfig-aaa" {
prefix "oc-aaa";
}
// import some basic types
import ietf-inet-types { prefix 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.2.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 inet:port-number;
default 1812;
description
"Port number for authentication requests";
}
leaf acct-port {
type 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 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
}