Cisco-IOS-XR-um-ntp-cfg

This module contains a collection of YANG definitions for Cisco IOS-XR ntp package configuration. This YANG module augments the...

  • Version: 2021-03-03

    Cisco-IOS-XR-um-ntp-cfg@2021-03-03


    
      module Cisco-IOS-XR-um-ntp-cfg {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XR-um-ntp-cfg";
    
        prefix um-ntp-cfg;
    
        import Cisco-IOS-XR-types {
          prefix xr;
        }
        import ietf-inet-types {
          prefix inet;
        }
        import Cisco-IOS-XR-um-snmp-server-cfg {
          prefix a1;
        }
        import cisco-semver {
          prefix semver;
        }
    
        organization "Cisco Systems, Inc.";
    
        contact
          "Cisco Systems, Inc.
         Customer Service
         
         Postal: 170 West Tasman Drive
         San Jose, CA 95134
         
         Tel: +1 800 553-NETS
         
         E-mail: cs-yang@cisco.com";
    
        description
          "This module contains a collection of YANG definitions
         for Cisco IOS-XR ntp package configuration.
         
         This YANG module augments the
         modules with configuration data.
         
         Copyright (c) 2021 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2021-03-03" {
          description "Initial release";
        }
    
        semver:module-version "1.0.0";
    
        feature harddisk_is_present {
          description "harddisk is present";
        }
    
        feature harddiska_is_present {
          description "harddiska is present";
        }
    
        feature harddiskb_is_present {
          description "harddiskb is present";
        }
    
        feature a9ksys_is_present {
          description "a9ksys is present";
        }
    
        feature config_is_present {
          description "config is present";
        }
    
        feature log_is_present {
          description "log is present";
        }
    
        feature rootfs_is_present {
          description "rootfs is present";
        }
    
        feature disk1_is_present {
          description "disk1 is present";
        }
    
        feature usb_is_present {
          description "usb is present";
        }
    
        feature usb2_is_present {
          description "usb2 is present";
        }
    
        feature app_host_is_present {
          description "app host is present";
        }
    
        feature cflash_fs_supp_check {
          description "cflash fs supp check";
        }
    
        feature usb_fs_supp_check {
          description "usb fs supp check";
        }
    
        feature disk2_fs_supp_check {
          description "disk2 fs supp check";
        }
    
        feature harddisk_fs_supp_check {
          description "harddisk fs supp check";
        }
    
        feature lcdisk_fs_supp_check {
          description "lcdisk fs supp check";
        }
    
        augment /a1:snmp-server/a1:traps {
          container ntp {
            presence
              "Indicates a ntp node is configured.";
            description
              "Enable SNMP Cisco Ntp traps";
          }  // container ntp
        }
    
        container ntp {
          description "Go into NTP submode";
          container ipv4 {
            description
              "Mark the dscp/precedence bit for ipv4 packets";
            leaf dscp {
              type union {
                type uint32 {
                  range "0..63";
                }
                type enumeration {
                  enum "default" {
                    value 0;
                    description
                      "Match packets with default dscp (000000)";
                  }
                  enum "cs1" {
                    value 8;
                    description
                      "Match packets with CS1(precedence 1) dscp (001000)";
                  }
                  enum "af11" {
                    value 10;
                    description
                      "Match packets with AF11 dscp (001010)";
                  }
                  enum "af12" {
                    value 12;
                    description
                      "Match packets with AF12 dscp (001100)";
                  }
                  enum "af13" {
                    value 14;
                    description
                      "Match packets with AF13 dscp (001110)";
                  }
                  enum "cs2" {
                    value 16;
                    description
                      "Match packets with CS2(precedence 2) dscp (010000)";
                  }
                  enum "af21" {
                    value 18;
                    description
                      "Match packets with AF21 dscp (010010)";
                  }
                  enum "af22" {
                    value 20;
                    description
                      "Match packets with AF22 dscp (010100)";
                  }
                  enum "af23" {
                    value 22;
                    description
                      "Match packets with AF23 dscp (010110)";
                  }
                  enum "cs3" {
                    value 24;
                    description
                      "Match packets with CS3(precedence 3) dscp (011000)";
                  }
                  enum "af31" {
                    value 26;
                    description
                      "Match packets with AF31 dscp (011010)";
                  }
                  enum "af32" {
                    value 28;
                    description
                      "Match packets with AF32 dscp (011100)";
                  }
                  enum "af33" {
                    value 30;
                    description
                      "Match packets with AF33 dscp (011110)";
                  }
                  enum "cs4" {
                    value 32;
                    description
                      "Match packets with CS4(precedence 4) dscp (100000)";
                  }
                  enum "af41" {
                    value 34;
                    description
                      "Match packets with AF41 dscp (100010)";
                  }
                  enum "af42" {
                    value 36;
                    description
                      "Match packets with AF42 dscp (100100)";
                  }
                  enum "af43" {
                    value 38;
                    description
                      "Match packets with AF43 dscp (100110)";
                  }
                  enum "cs5" {
                    value 40;
                    description
                      "Match packets with CS5(precedence 5) dscp (101000)";
                  }
                  enum "ef" {
                    value 46;
                    description
                      "Match packets with EF dscp (101110)";
                  }
                  enum "cs6" {
                    value 48;
                    description
                      "Match packets with CS6(precedence 6) dscp (110000)";
                  }
                  enum "cs7" {
                    value 56;
                    description
                      "Match packets with CS7(precedence 7) dscp (111000)";
                  }
                }
              }
              must "not(../precedence)";
              description
                "Set IP DSCP (DiffServ CodePoint)";
            }
    
            leaf precedence {
              type enumeration {
                enum "routine" {
                  value 0;
                  description
                    "Match packets with routine precedence (0)";
                }
                enum "priority" {
                  value 1;
                  description
                    "Match packets with priority precedence (1)";
                }
                enum "immediate" {
                  value 2;
                  description
                    "Match packets with immediate precedence (2)";
                }
                enum "flash" {
                  value 3;
                  description
                    "Match packets with flash precedence (3)";
                }
                enum "flash-override" {
                  value 4;
                  description
                    "Match packets with flash override precedence (4)";
                }
                enum "critical" {
                  value 5;
                  description
                    "Match packets with critical precedence (5)";
                }
                enum "internet" {
                  value 6;
                  description
                    "Match packets with internetwork control precedence (6)";
                }
                enum "network" {
                  value 7;
                  description
                    "Match packets with network control precedence (7)";
                }
              }
              must "not(../dscp)";
              description "Set precedence";
            }
          }  // container ipv4
    
          container ipv6 {
            description
              "Mark the dscp/precedence bit for ipv6 packets";
            leaf dscp {
              type union {
                type uint32 {
                  range "0..63";
                }
                type enumeration {
                  enum "default" {
                    value 0;
                    description
                      "Match packets with default dscp (000000)";
                  }
                  enum "cs1" {
                    value 8;
                    description
                      "Match packets with CS1(precedence 1) dscp (001000)";
                  }
                  enum "af11" {
                    value 10;
                    description
                      "Match packets with AF11 dscp (001010)";
                  }
                  enum "af12" {
                    value 12;
                    description
                      "Match packets with AF12 dscp (001100)";
                  }
                  enum "af13" {
                    value 14;
                    description
                      "Match packets with AF13 dscp (001110)";
                  }
                  enum "cs2" {
                    value 16;
                    description
                      "Match packets with CS2(precedence 2) dscp (010000)";
                  }
                  enum "af21" {
                    value 18;
                    description
                      "Match packets with AF21 dscp (010010)";
                  }
                  enum "af22" {
                    value 20;
                    description
                      "Match packets with AF22 dscp (010100)";
                  }
                  enum "af23" {
                    value 22;
                    description
                      "Match packets with AF23 dscp (010110)";
                  }
                  enum "cs3" {
                    value 24;
                    description
                      "Match packets with CS3(precedence 3) dscp (011000)";
                  }
                  enum "af31" {
                    value 26;
                    description
                      "Match packets with AF31 dscp (011010)";
                  }
                  enum "af32" {
                    value 28;
                    description
                      "Match packets with AF32 dscp (011100)";
                  }
                  enum "af33" {
                    value 30;
                    description
                      "Match packets with AF33 dscp (011110)";
                  }
                  enum "cs4" {
                    value 32;
                    description
                      "Match packets with CS4(precedence 4) dscp (100000)";
                  }
                  enum "af41" {
                    value 34;
                    description
                      "Match packets with AF41 dscp (100010)";
                  }
                  enum "af42" {
                    value 36;
                    description
                      "Match packets with AF42 dscp (100100)";
                  }
                  enum "af43" {
                    value 38;
                    description
                      "Match packets with AF43 dscp (100110)";
                  }
                  enum "cs5" {
                    value 40;
                    description
                      "Match packets with CS5(precedence 5) dscp (101000)";
                  }
                  enum "ef" {
                    value 46;
                    description
                      "Match packets with EF dscp (101110)";
                  }
                  enum "cs6" {
                    value 48;
                    description
                      "Match packets with CS6(precedence 6) dscp (110000)";
                  }
                  enum "cs7" {
                    value 56;
                    description
                      "Match packets with CS7(precedence 7) dscp (111000)";
                  }
                }
              }
              must "not(../precedence)";
              description
                "Set IP DSCP (DiffServ CodePoint)";
            }
    
            leaf precedence {
              type enumeration {
                enum "routine" {
                  value 0;
                  description
                    "Match packets with routine precedence (0)";
                }
                enum "priority" {
                  value 1;
                  description
                    "Match packets with priority precedence (1)";
                }
                enum "immediate" {
                  value 2;
                  description
                    "Match packets with immediate precedence (2)";
                }
                enum "flash" {
                  value 3;
                  description
                    "Match packets with flash precedence (3)";
                }
                enum "flash-override" {
                  value 4;
                  description
                    "Match packets with flash override precedence (4)";
                }
                enum "critical" {
                  value 5;
                  description
                    "Match packets with critical precedence (5)";
                }
                enum "internet" {
                  value 6;
                  description
                    "Match packets with internetwork control precedence (6)";
                }
                enum "network" {
                  value 7;
                  description
                    "Match packets with network control precedence (7)";
                }
              }
              must "not(../dscp)";
              description "Set precedence";
            }
          }  // container ipv6
    
          container access-group {
            description "Control NTP access";
            container ipv6 {
              description
                "Configure IPv6 access";
              leaf peer {
                type xr:Cisco-ios-xr-string {
                  length "1..800";
                }
                description
                  "Provide full access";
              }
    
              leaf query-only {
                type xr:Cisco-ios-xr-string {
                  length "1..800";
                }
                description
                  "Allow only control queries";
              }
    
              leaf serve {
                type xr:Cisco-ios-xr-string {
                  length "1..800";
                }
                description
                  "Provide server and query access";
              }
    
              leaf serve-only {
                type xr:Cisco-ios-xr-string {
                  length "1..800";
                }
                description
                  "Provide only server access";
              }
            }  // container ipv6
    
            container ipv4 {
              description
                "Configure IPv4 access";
              leaf peer {
                type xr:Cisco-ios-xr-string {
                  length "1..800";
                }
                description
                  "Provide full access";
              }
    
              leaf query-only {
                type xr:Cisco-ios-xr-string {
                  length "1..800";
                }
                description
                  "Allow only control queries";
              }
    
              leaf serve {
                type xr:Cisco-ios-xr-string {
                  length "1..800";
                }
                description
                  "Provide server and query access";
              }
    
              leaf serve-only {
                type xr:Cisco-ios-xr-string {
                  length "1..800";
                }
                description
                  "Provide only server access";
              }
            }  // container ipv4
    
            container vrfs {
              description
                "Specify non-default VRF";
              list vrf {
                key "vrf-name";
                description
                  "Specify non-default VRF";
                leaf vrf-name {
                  type xr:Cisco-ios-xr-string {
                    length "1..800";
                  }
                  description
                    "Specify non-default VRF";
                }
    
                container ipv6 {
                  description
                    "Configure IPv6 access";
                  leaf peer {
                    type xr:Cisco-ios-xr-string {
                      length "1..1024";
                    }
                    description
                      "Provide full access";
                  }
    
                  leaf query-only {
                    type xr:Cisco-ios-xr-string {
                      length "1..1024";
                    }
                    description
                      "Allow only control queries";
                  }
    
                  leaf serve {
                    type xr:Cisco-ios-xr-string {
                      length "1..1024";
                    }
                    description
                      "Provide server and query access";
                  }
    
                  leaf serve-only {
                    type xr:Cisco-ios-xr-string {
                      length "1..1024";
                    }
                    description
                      "Provide only server access";
                  }
                }  // container ipv6
    
                container ipv4 {
                  description
                    "Configure IPv4 access";
                  leaf peer {
                    type xr:Cisco-ios-xr-string {
                      length "1..1024";
                    }
                    description
                      "Provide full access";
                  }
    
                  leaf query-only {
                    type xr:Cisco-ios-xr-string {
                      length "1..1024";
                    }
                    description
                      "Allow only control queries";
                  }
    
                  leaf serve {
                    type xr:Cisco-ios-xr-string {
                      length "1..1024";
                    }
                    description
                      "Provide server and query access";
                  }
    
                  leaf serve-only {
                    type xr:Cisco-ios-xr-string {
                      length "1..1024";
                    }
                    description
                      "Provide only server access";
                  }
                }  // container ipv4
              }  // list vrf
            }  // container vrfs
          }  // container access-group
    
          container authenticate {
            presence
              "Indicates a authenticate node is configured.";
            description
              "Authenticate time sources";
          }  // container authenticate
    
          container authentication-keys {
            description
              "Authentication key for trusted time sources";
            list authentication-key {
              key "key-number";
              description
                "Authentication key for trusted time sources";
              leaf key-number {
                type uint32 {
                  range "1..65535";
                }
                description
                  "Authentication key for trusted time sources";
              }
    
              container md5 {
                description "MD5 authentication";
                leaf encrypted {
                  type xr:Proprietary-password;
                  mandatory true;
                  description
                    "Specify an encrypted key";
                }
              }  // container md5
            }  // list authentication-key
          }  // container authentication-keys
    
          leaf broadcastdelay {
            type uint32 {
              range "1..999999";
            }
            description
              "Estimated round-trip delay";
          }
    
          container drift {
            description "Drift";
            container aging {
              description "Aging";
              leaf time {
                type uint32 {
                  range "0..65535";
                }
                description "Aging time";
              }
            }  // container aging
    
            container file {
              presence
                "Indicates a file node is configured.";
              description
                "File for drift values";
              container bootflash {
                must
                  "not(../compactflash or ../compactflasha or ../usb or ../disk0
                 or ../disk0a or ../disk1 or ../disk1a or ../disk2 or ../harddisk
                 or ../harddiska or ../harddiskb or ../nvram or ../lcdisk0
                 or ../lcdisk0a or ../tftp or ../ftp or ../rcp)";
                presence
                  "Indicates a bootflash node is configured.";
                description
                  "drift in bootflash: file system";
              }  // container bootflash
    
              container compactflash {
                if-feature cflash_fs_supp_check;
                must
                  "not(../bootflash or ../compactflasha or ../usb or ../disk0
                 or ../disk0a or ../disk1 or ../disk1a or ../disk2 or ../harddisk
                 or ../harddiska or ../harddiskb or ../nvram or ../lcdisk0
                 or ../lcdisk0a or ../tftp or ../ftp or ../rcp)";
                presence
                  "Indicates a compactflash node is configured.";
                description
                  "drift in compactflash: file system";
              }  // container compactflash
    
              container compactflasha {
                if-feature cflash_fs_supp_check;
                must
                  "not(../bootflash or ../compactflash or ../usb or ../disk0
                 or ../disk0a or ../disk1 or ../disk1a or ../disk2 or ../harddisk
                 or ../harddiska or ../harddiskb or ../nvram or ../lcdisk0
                 or ../lcdisk0a or ../tftp or ../ftp or ../rcp)";
                presence
                  "Indicates a compactflasha node is configured.";
                description
                  "drift in compactflasha: file system";
              }  // container compactflasha
    
              container usb {
                if-feature usb_fs_supp_check;
                must
                  "not(../bootflash or ../compactflash or ../compactflasha or ../disk0
                 or ../disk0a or ../disk1 or ../disk1a or ../disk2 or ../harddisk
                 or ../harddiska or ../harddiskb or ../nvram or ../lcdisk0
                 or ../lcdisk0a or ../tftp or ../ftp or ../rcp)";
                presence
                  "Indicates a usb node is configured.";
                description
                  "drift in usb: file system";
              }  // container usb
    
              container disk0 {
                must
                  "not(../bootflash or ../compactflash or ../compactflasha or ../usb
                 or ../disk0a or ../disk1 or ../disk1a or ../disk2 or ../harddisk
                 or ../harddiska or ../harddiskb or ../nvram or ../lcdisk0
                 or ../lcdisk0a or ../tftp or ../ftp or ../rcp)";
                presence
                  "Indicates a disk0 node is configured.";
                description
                  "drift in disk0: file system";
              }  // container disk0
    
              container disk0a {
                must
                  "not(../bootflash or ../compactflash or ../compactflasha or ../usb
                 or ../disk0 or ../disk1 or ../disk1a or ../disk2 or ../harddisk
                 or ../harddiska or ../harddiskb or ../nvram or ../lcdisk0
                 or ../lcdisk0a or ../tftp or ../ftp or ../rcp)";
                presence
                  "Indicates a disk0a node is configured.";
                description
                  "drift in disk0a: file system";
              }  // container disk0a
    
              container disk1 {
                must
                  "not(../bootflash or ../compactflash or ../compactflasha or ../usb
                 or ../disk0 or ../disk0a or ../disk1a or ../disk2 or ../harddisk
                 or ../harddiska or ../harddiskb or ../nvram or ../lcdisk0
                 or ../lcdisk0a or ../tftp or ../ftp or ../rcp)";
                presence
                  "Indicates a disk1 node is configured.";
                description
                  "drift in disk1: file system";
              }  // container disk1
    
              container disk1a {
                must
                  "not(../bootflash or ../compactflash or ../compactflasha or ../usb
                 or ../disk0 or ../disk0a or ../disk1 or ../disk2 or ../harddisk
                 or ../harddiska or ../harddiskb or ../nvram or ../lcdisk0
                 or ../lcdisk0a or ../tftp or ../ftp or ../rcp)";
                presence
                  "Indicates a disk1a node is configured.";
                description
                  "drift in disk1a: file system";
              }  // container disk1a
    
              container disk2 {
                if-feature disk2_fs_supp_check;
                must
                  "not(../bootflash or ../compactflash or ../compactflasha or ../usb
                 or ../disk0 or ../disk0a or ../disk1 or ../disk1a or ../harddisk
                 or ../harddiska or ../harddiskb or ../nvram or ../lcdisk0
                 or ../lcdisk0a or ../tftp or ../ftp or ../rcp)";
                presence
                  "Indicates a disk2 node is configured.";
                description
                  "drift in disk2: file system";
              }  // container disk2
    
              container harddisk {
                if-feature harddisk_fs_supp_check;
                must
                  "not(../bootflash or ../compactflash or ../compactflasha or ../usb
                 or ../disk0 or ../disk0a or ../disk1 or ../disk1a or ../disk2
                 or ../harddiska or ../harddiskb or ../nvram or ../lcdisk0
                 or ../lcdisk0a or ../tftp or ../ftp or ../rcp)";
                presence
                  "Indicates a harddisk node is configured.";
                description
                  "drift in harddisk: file system";
              }  // container harddisk
    
              container harddiska {
                if-feature harddisk_fs_supp_check;
                must
                  "not(../bootflash or ../compactflash or ../compactflasha or ../usb
                 or ../disk0 or ../disk0a or ../disk1 or ../disk1a or ../disk2
                 or ../harddisk or ../harddiskb or ../nvram or ../lcdisk0
                 or ../lcdisk0a or ../tftp or ../ftp or ../rcp)";
                presence
                  "Indicates a harddiska node is configured.";
                description
                  "drift in harddiska: file system";
              }  // container harddiska
    
              container harddiskb {
                if-feature harddisk_fs_supp_check;
                must
                  "not(../bootflash or ../compactflash or ../compactflasha or ../usb
                 or ../disk0 or ../disk0a or ../disk1 or ../disk1a or ../disk2
                 or ../harddisk or ../harddiska or ../nvram or ../lcdisk0
                 or ../lcdisk0a or ../tftp or ../ftp or ../rcp)";
                presence
                  "Indicates a hardiskb node is configured.";
                description
                  "drift in harddiskb: file system";
              }  // container harddiskb
    
              container nvram {
                must
                  "not(../bootflash or ../compactflash or ../compactflasha or ../usb
                 or ../disk0 or ../disk0a or ../disk1 or ../disk1a or ../disk2
                 or ../harddisk or ../harddiska or ../harddiskb or ../lcdisk0
                 or ../lcdisk0a or ../tftp or ../ftp or ../rcp)";
                presence
                  "Indicates a nvram node is configured.";
                description
                  "drift in nvram: file system";
              }  // container nvram
    
              container lcdisk0 {
                if-feature lcdisk_fs_supp_check;
                must
                  "not(../bootflash or ../compactflash or ../compactflasha or ../usb
                 or ../disk0 or ../disk0a or ../disk1 or ../disk1a or ../disk2
                 or ../harddisk or ../harddiska or ../harddiskb or ../nvram
                 or ../lcdisk0a or ../tftp or ../ftp or ../rcp)";
                presence
                  "Indicates a lcdisk0 node is configured.";
                description
                  "drift in lcdisk0: file system";
              }  // container lcdisk0
    
              container lcdisk0a {
                if-feature lcdisk_fs_supp_check;
                must
                  "not(../bootflash or ../compactflash or ../compactflasha or ../usb
                 or ../disk0 or ../disk0a or ../disk1 or ../disk1a or ../disk2
                 or ../harddisk or ../harddiska or ../harddiskb or ../nvram
                 or ../lcdisk0 or ../tftp or ../ftp or ../rcp)";
                presence
                  "Indicates a lcdisk0a node is configured.";
                description
                  "drift in lcdisk0a: file system";
              }  // container lcdisk0a
    
              container tftp {
                must
                  "not(../bootflash or ../compactflash or ../compactflasha or ../usb
                 or ../disk0 or ../disk0a or ../disk1 or ../disk1a or ../disk2
                 or ../harddisk or ../harddiska or ../harddiskb or ../nvram
                 or ../lcdisk0 or ../lcdisk0a or ../ftp or ../rcp)";
                presence
                  "Indicates a tftp node is configured.";
                description
                  "drift in tftp: file system";
              }  // container tftp
    
              container ftp {
                must
                  "not(../bootflash or ../compactflash or ../compactflasha or ../usb
                 or ../disk0 or ../disk0a or ../disk1 or ../disk1a or ../disk2
                 or ../harddisk or ../harddiska or ../harddiskb or ../nvram
                 or ../lcdisk0 or ../lcdisk0a or ../tftp or ../rcp)";
                presence
                  "Indicates a ftp node is configured.";
                description
                  "drift in ftp: file system";
              }  // container ftp
    
              container rcp {
                must
                  "not(../bootflash or ../compactflash or ../compactflasha or ../usb
                 or ../disk0 or ../disk0a or ../disk1 or ../disk1a or ../disk2
                 or ../harddisk or ../harddiska or ../harddiskb or ../nvram
                 or ../lcdisk0 or ../lcdisk0a or ../tftp or ../ftp)";
                presence
                  "Indicates a rcp node is configured.";
                description
                  "drift in rcp: file system";
              }  // container rcp
    
              leaf file-name {
                type string {
                  length "1..800";
                }
                mandatory true;
                description "drift in file";
              }
            }  // container file
          }  // container drift
    
          container interfaces {
            description
              "Configure NTP on an interface";
            list interface {
              key "interface-name";
              description
                "Configure NTP on an interface";
              leaf interface-name {
                type xr:Interface-name;
                description
                  "Configure NTP on an interface";
              }
    
              container broadcast-client {
                presence
                  "Indicates a client node is configured.";
                description
                  "Listen to NTP broadcasts";
              }  // container broadcast-client
    
              container broadcast {
                presence
                  "Indicates a broadcast node is configured.";
                description
                  "Configure NTP broadcast service";
                leaf destination {
                  type inet:ipv4-address-no-zone;
                  description
                    "Configure broadcast destination address";
                }
    
                leaf key {
                  type uint32 {
                    range "1..65535";
                  }
                  description
                    "Configure broadcast authentication key";
                }
    
                leaf version {
                  type uint32 {
                    range "2..4";
                  }
                  description
                    "Configure NTP version";
                }
              }  // container broadcast
    
              container disable {
                presence
                  "Indicates a disable node is configured.";
                description "Disable NTP";
              }  // container disable
    
              container multicast {
                description
                  "Configure NTP multicast service";
                container client {
                  description
                    "Listen to NTP multicasts";
                  container no-group {
                    presence
                      "Indicates a no-group node is configured.";
                    description
                      "Listen to NTP multicasts";
                  }  // container no-group
    
                  list ip-address {
                    key "address";
                    description
                      "Addess of multicast group to join";
                    leaf address {
                      type inet:ip-address-no-zone;
                      description
                        "Addess of multicast group to join";
                    }
                  }  // list ip-address
                }  // container client
    
                container no-destination {
                  presence
                    "Indicates a no-destination node is configured.";
                  description
                    "Configure multicast without destination";
                  leaf key {
                    type uint32 {
                      range "1..65535";
                    }
                    description
                      "Configure multicast authentication key";
                  }
    
                  leaf version {
                    type uint32 {
                      range "2..4";
                    }
                    description
                      "Configure NTP version";
                  }
    
                  leaf ttl {
                    type uint32 {
                      range "1..255";
                    }
                    description
                      "Configure TTL to use";
                  }
                }  // container no-destination
    
                container destinations {
                  description
                    "Configure multicast destination address";
                  list destination {
                    key "address";
                    description
                      "Configure multicast destination address";
                    leaf address {
                      type inet:ip-address-no-zone;
                      description
                        "Configure multicast destination address";
                    }
    
                    leaf key {
                      type uint32 {
                        range "1..65535";
                      }
                      description
                        "Configure multicast authentication key";
                    }
    
                    leaf version {
                      type uint32 {
                        range "2..4";
                      }
                      description
                        "Configure NTP version";
                    }
    
                    leaf ttl {
                      type uint32 {
                        range "1..255";
                      }
                      description
                        "Configure TTL to use";
                    }
                  }  // list destination
                }  // container destinations
              }  // container multicast
            }  // list interface
    
            container vrfs {
              description
                "Specify non-default VRF";
              list vrf {
                key "vrf-name";
                description
                  "Specify non-default VRF";
                leaf vrf-name {
                  type xr:Cisco-ios-xr-string {
                    length "1..800";
                  }
                  description
                    "Specify non-default VRF";
                }
    
                list interface {
                  key "interface-name";
                  description
                    "Configure NTP on an interface";
                  leaf interface-name {
                    type xr:Interface-name;
                    description
                      "Configure NTP on an interface";
                  }
    
                  container broadcast-client {
                    presence
                      "Indicates a client node is configured.";
                    description
                      "Listen to NTP broadcasts";
                  }  // container broadcast-client
    
                  container broadcast {
                    presence
                      "Indicates a broadcast node is configured.";
                    description
                      "Configure NTP broadcast service";
                    leaf destination {
                      type inet:ipv4-address-no-zone;
                      description
                        "Configure broadcast destination address";
                    }
    
                    leaf key {
                      type uint32 {
                        range "1..65535";
                      }
                      description
                        "Configure broadcast authentication key";
                    }
    
                    leaf version {
                      type uint32 {
                        range "2..4";
                      }
                      description
                        "Configure NTP version";
                    }
                  }  // container broadcast
    
                  container disable {
                    presence
                      "Indicates a disable node is configured.";
                    description "Disable NTP";
                  }  // container disable
    
                  container multicast {
                    description
                      "Configure NTP multicast service";
                    container client {
                      description
                        "Listen to NTP multicasts";
                      container no-group {
                        presence
                          "Indicates a no-group node is configured.";
                        description
                          "Listen to NTP multicasts";
                      }  // container no-group
    
                      list ip-address {
                        key "address";
                        description
                          "Addess of multicast group to join";
                        leaf address {
                          type inet:ip-address-no-zone;
                          description
                            "Addess of multicast group to join";
                        }
                      }  // list ip-address
                    }  // container client
    
                    container no-destination {
                      presence
                        "Indicates a no-destination node is configured.";
                      description
                        "Configure multicast without destination";
                      leaf key {
                        type uint32 {
                          range "1..65535";
                        }
                        description
                          "Configure multicast authentication key";
                      }
    
                      leaf version {
                        type uint32 {
                          range "2..4";
                        }
                        description
                          "Configure NTP version";
                      }
    
                      leaf ttl {
                        type uint32 {
                          range "1..255";
                        }
                        description
                          "Configure TTL to use";
                      }
                    }  // container no-destination
    
                    container destinations {
                      description
                        "Configure multicast destination address";
                      list destination {
                        key "address";
                        description
                          "Configure multicast destination address";
                        leaf address {
                          type inet:ip-address-no-zone;
                          description
                            "Configure multicast destination address";
                        }
    
                        leaf key {
                          type uint32 {
                            range "1..65535";
                          }
                          description
                            "Configure multicast authentication key";
                        }
    
                        leaf version {
                          type uint32 {
                            range "2..4";
                          }
                          description
                            "Configure NTP version";
                        }
    
                        leaf ttl {
                          type uint32 {
                            range "1..255";
                          }
                          description
                            "Configure TTL to use";
                        }
                      }  // list destination
                    }  // container destinations
                  }  // container multicast
                }  // list interface
              }  // list vrf
            }  // container vrfs
          }  // container interfaces
    
          container primary {
            description
              "Choose a refclock as primary clock for NTP";
            leaf stratum-number {
              type uint32 {
                range "1..15";
              }
              must
                "not(../primary-reference-clock)";
              description
                "Use NTP as clock source with stratum number <n>";
            }
    
            container primary-reference-clock {
              must "not(../stratum-number)";
              presence
                "Indicates a primary-reference-clock node is configured.";
              description
                "Use a primary reference clock as clock source";
            }  // container primary-reference-clock
          }  // container primary
    
          leaf max-associations {
            type uint32 {
              range "0..4294967295";
            }
            description
              "Set maximum number of associations";
          }
    
          container peer-server {
            description
              "configure ntp peer or server";
            container ipv4 {
              description "Specify IPv4 address";
              list ipv4-peer-server {
                key "address type";
                description
                  "Specify IPv4 address";
                leaf address {
                  type inet:ipv4-address-no-zone;
                  description
                    "Peer/server address";
                }
    
                leaf type {
                  type enumeration {
                    enum "peer" {
                      value 0;
                      description
                        "Configure peer address";
                    }
                    enum "server" {
                      value 1;
                      description
                        "Configure server address";
                    }
                  }
                  description
                    "Specify peer/server";
                }
    
                leaf version {
                  type uint32 {
                    range "2..4";
                  }
                  description
                    "Configure NTP version";
                }
    
                leaf key {
                  type uint32 {
                    range "1..65535";
                  }
                  description
                    "Configure peer authentication key";
                }
    
                leaf minpoll {
                  type uint32 {
                    range "4..5|7..17";
                  }
                  description
                    "Configure minimum polling rate";
                }
    
                leaf maxpoll {
                  type uint32 {
                    range "4..9|11..17";
                  }
                  description
                    "Configure maximum polling rate";
                }
    
                container prefer {
                  presence
                    "Indicates a prefer node is configured.";
                  description
                    "Prefer this peer when possible";
                }  // container prefer
    
                container burst {
                  presence
                    "Indicates a burst node is configured.";
                  description "Use burst mode";
                }  // container burst
    
                container iburst {
                  presence
                    "Indicates a iburst node is configured.";
                  description
                    "Use initial burst mode";
                }  // container iburst
    
                leaf source {
                  type xr:Interface-name;
                  description
                    "Interface for source address";
                }
              }  // list ipv4-peer-server
            }  // container ipv4
    
            container ipv6 {
              description "Specify IPv6 address";
              list ipv6-peer-server {
                must "address = ipv6-address";
                key "address type";
                description
                  "Specify IPv6 address";
                leaf address {
                  type inet:ipv6-address-no-zone;
                  description
                    "Peer/server address";
                }
    
                leaf type {
                  type enumeration {
                    enum "peer" {
                      value 0;
                      description
                        "Configure peer address";
                    }
                    enum "server" {
                      value 1;
                      description
                        "Configure server address";
                    }
                  }
                  description
                    "Specify peer/server";
                }
    
                leaf version {
                  type uint32 {
                    range "2..4";
                  }
                  description
                    "Configure NTP version";
                }
    
                leaf key {
                  type uint32 {
                    range "1..65535";
                  }
                  description
                    "Configure peer authentication key";
                }
    
                leaf minpoll {
                  type uint32 {
                    range "4..5|7..17";
                  }
                  description
                    "Configure minimum polling rate";
                }
    
                leaf maxpoll {
                  type uint32 {
                    range "4..9|11..17";
                  }
                  description
                    "Configure maximum polling rate";
                }
    
                container prefer {
                  presence
                    "Indicates a prefer node is configured.";
                  description
                    "Prefer this peer when possible";
                }  // container prefer
    
                container burst {
                  presence
                    "Indicates a burst node is configured.";
                  description "Use burst mode";
                }  // container burst
    
                container iburst {
                  presence
                    "Indicates a iburst node is configured.";
                  description
                    "Use initial burst mode";
                }  // container iburst
    
                leaf source {
                  type xr:Interface-name;
                  description
                    "Interface for source address";
                }
    
                leaf ipv6-address {
                  type inet:ipv6-address-no-zone;
                  mandatory true;
                  description
                    "IPv6 address (must be same as key node 'address')";
                }
              }  // list ipv6-peer-server
            }  // container ipv6
    
            container vrfs {
              description
                "Specify non-default VRF";
              list vrf {
                key "vrf-name";
                description
                  "Specify non-default VRF";
                leaf vrf-name {
                  type xr:Cisco-ios-xr-string {
                    length "1..1024";
                  }
                  description
                    "Specify non-default VRF";
                }
    
                container ipv4 {
                  description
                    "Specify IPv4 address";
                  list ipv4-peer-server {
                    key "address type";
                    description
                      "Specify IPv4 address";
                    leaf address {
                      type inet:ipv4-address-no-zone;
                      description
                        "Peer/server address";
                    }
    
                    leaf type {
                      type enumeration {
                        enum "peer" {
                          value 0;
                          description
                            "Configure peer address";
                        }
                        enum "server" {
                          value 1;
                          description
                            "Configure server address";
                        }
                      }
                      description
                        "Specify peer/server";
                    }
    
                    leaf version {
                      type uint32 {
                        range "2..4";
                      }
                      description
                        "Configure NTP version";
                    }
    
                    leaf key {
                      type uint32 {
                        range "1..65535";
                      }
                      description
                        "Configure peer authentication key";
                    }
    
                    leaf minpoll {
                      type uint32 {
                        range "4..5|7..17";
                      }
                      description
                        "Configure minimum polling rate";
                    }
    
                    leaf maxpoll {
                      type uint32 {
                        range "4..9|11..17";
                      }
                      description
                        "Configure maximum polling rate";
                    }
    
                    container prefer {
                      presence
                        "Indicates a prefer node is configured.";
                      description
                        "Prefer this peer when possible";
                    }  // container prefer
    
                    container burst {
                      presence
                        "Indicates a burst node is configured.";
                      description
                        "Use burst mode";
                    }  // container burst
    
                    container iburst {
                      presence
                        "Indicates a iburst node is configured.";
                      description
                        "Use initial burst mode";
                    }  // container iburst
    
                    leaf source {
                      type xr:Interface-name;
                      description
                        "Interface for source address";
                    }
                  }  // list ipv4-peer-server
                }  // container ipv4
    
                container ipv6 {
                  description
                    "Specify IPv6 address";
                  list ipv6-peer-server {
                    must
                      "address = ipv6-address";
                    key "address type";
                    description
                      "Specify IPv6 address";
                    leaf address {
                      type inet:ipv6-address-no-zone;
                      description
                        "Peer/server address";
                    }
    
                    leaf type {
                      type enumeration {
                        enum "peer" {
                          value 0;
                          description
                            "Configure peer address";
                        }
                        enum "server" {
                          value 1;
                          description
                            "Configure server address";
                        }
                      }
                      description
                        "Specify peer/server";
                    }
    
                    leaf version {
                      type uint32 {
                        range "2..4";
                      }
                      description
                        "Configure NTP version";
                    }
    
                    leaf key {
                      type uint32 {
                        range "1..65535";
                      }
                      description
                        "Configure peer authentication key";
                    }
    
                    leaf minpoll {
                      type uint32 {
                        range "4..5|7..17";
                      }
                      description
                        "Configure minimum polling rate";
                    }
    
                    leaf maxpoll {
                      type uint32 {
                        range "4..9|11..17";
                      }
                      description
                        "Configure maximum polling rate";
                    }
    
                    container prefer {
                      presence
                        "Indicates a prefer node is configured.";
                      description
                        "Prefer this peer when possible";
                    }  // container prefer
    
                    container burst {
                      presence
                        "Indicates a burst node is configured.";
                      description
                        "Use burst mode";
                    }  // container burst
    
                    container iburst {
                      presence
                        "Indicates a iburst node is configured.";
                      description
                        "Use initial burst mode";
                    }  // container iburst
    
                    leaf source {
                      type xr:Interface-name;
                      description
                        "Interface for source address";
                    }
    
                    leaf ipv6-address {
                      type inet:ipv6-address-no-zone;
                      mandatory true;
                      description
                        "IPv6 address (must be same as key node 'address')";
                    }
                  }  // list ipv6-peer-server
                }  // container ipv6
              }  // list vrf
            }  // container vrfs
          }  // container peer-server
    
          container trusted-keys {
            description
              "Key numbers for trusted time sources";
            list trusted-key {
              key "key-number";
              description
                "Key numbers for trusted time sources";
              leaf key-number {
                type uint32 {
                  range "1..65535";
                }
                description
                  "Key numbers for trusted time sources";
              }
            }  // list trusted-key
          }  // container trusted-keys
    
          container update-calendar {
            presence
              "Indicates a update-calendar node is configured.";
            description
              "Periodically update calendar with NTP time";
          }  // container update-calendar
    
          container log-internal-sync {
            presence
              "Indicates a log-internal-sync node is configured.";
            description
              "Logs internal synchronization changes";
          }  // container log-internal-sync
    
          container passive {
            presence
              "Indicates a passive node is configured.";
            description
              "Enable the passive associations";
          }  // container passive
    
          container source {
            description
              "Configure default interface";
            leaf interface-name {
              type xr:Interface-name;
              description "default interface";
            }
    
            container vrfs {
              description
                "Specify non-default VRF";
              list vrf {
                key "vrf-name";
                description
                  "Specify non-default VRF";
                leaf vrf-name {
                  type xr:Cisco-ios-xr-string {
                    length "1..1024";
                  }
                  description
                    "Specify non-default VRF";
                }
    
                leaf interface-name {
                  type xr:Interface-name;
                  mandatory true;
                  description
                    "default interface for the VRF";
                }
              }  // list vrf
            }  // container vrfs
          }  // container source
    
          container admin-plane {
            presence
              "Indicates a admin-plane node is configured.";
            description
              "Configure admin plane as peer/server";
            leaf version {
              type uint32 {
                range "1..4";
              }
              description
                "Configure NTP version";
            }
    
            leaf key {
              type uint32 {
                range "1..65535";
              }
              description
                "Configure peer authentication key";
            }
    
            leaf minpoll {
              type uint32 {
                range "4..17";
              }
              description
                "Configure minimum polling rate";
            }
    
            leaf maxpoll {
              type uint32 {
                range "4..17";
              }
              description
                "Configure maximum polling rate";
            }
    
            container prefer {
              presence
                "Indicates a prefer node is configured.";
              description
                "Prefer this peer when possible";
            }  // container prefer
    
            container burst {
              presence
                "Indicates a burst node is configured.";
              description "Use burst mode";
            }  // container burst
    
            container iburst {
              presence
                "Indicates a iburst node is configured.";
              description
                "Use initial burst mode";
            }  // container iburst
          }  // container admin-plane
        }  // container ntp
      }  // module Cisco-IOS-XR-um-ntp-cfg
    

© 2023 YumaWorks, Inc. All rights reserved.