netconfcentral logo

openconfig-aaa-radius@2018-11-21



  submodule openconfig-aaa-radius {

    yang-version 1;

    belongs-to openconfig-aaa {
        prefix oc-aaa;
    }

    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;
    }

    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.";

    revision "2018-11-21" {
      description
        "Add OpenConfig module metadata extensions.";
      reference
        "0.4.1";

    }

    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";

    }

    oc-ext:openconfig-version "0.4.1";

    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)";

    }

    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-config

    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.";
        }
      }  // container counters
    }  // grouping aaa-radius-server-state

    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 config

        container state {
          config false;
          description
            "Operational state data for RADIUS servers";
          uses aaa-radius-server-config;

          uses aaa-radius-server-state;
        }  // container state
      }  // container radius
    }  // grouping aaa-radius-server-top
  }  // submodule openconfig-aaa-radius