Cisco-IOS-XR-ip-tcp-cfg

This module contains a collection of YANG definitions for Cisco IOS-XR ip-tcp package configuration. This module contains defin...

  • Version: 2020-05-16

    Cisco-IOS-XR-ip-tcp-cfg@2020-05-16


    
      module Cisco-IOS-XR-ip-tcp-cfg {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XR-ip-tcp-cfg";
    
        prefix ip-tcp-cfg;
    
        import Cisco-IOS-XR-types {
          prefix xr;
        }
        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 ip-tcp package configuration.
         
         This module contains definitions
         for the following management objects:
           ip-tcp: Global IP TCP configuration
           ip: IP TCP Configuration Data
         
         Copyright (c) 2013-2020 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2020-05-16" {
          description
            "Changed path for Telnet and TFTP";
        }
    
        revision "2019-04-05" {
          description
            "Establish semantic version baseline.";
        }
    
        revision "2018-02-14" {
          description
            "Added support for TCP-AO feature.";
        }
    
        revision "2017-09-30" {
          description
            "Ensure propagation of MDA mandatory state to YANG model.";
        }
    
        revision "2017-09-07" {
          description
            "Fixed type translation error.";
        }
    
        revision "2016-02-26" {
          description "Descriptions updated.";
        }
    
        revision "2015-11-09" {
          description "IOS XR 6.0 revision.";
        }
    
        semver:module-version "2.0.0";
        semver:module-version "1.0.1";
    
        grouping UDP {
          description
            "Common node of ipv4, ipv6";
          container udp {
            presence
              "Indicates a udp node is configured.";
            description "UDP details";
            leaf access-list-name {
              type string;
              description "Access list";
            }
    
            leaf maximum-server {
              type uint32 {
                range "0..2147483647";
              }
              description
                "Set number of allowable servers, 0 for no-limit";
            }
    
            leaf home-directory {
              type string;
              mandatory true;
              description
                "Specify device name where file is read from (e
               .g. flash:)";
            }
    
            leaf dscp-value {
              type uint32;
              description
                "Set IP DSCP (DiffServ CodePoint) for TFTP
               Server Packets";
            }
          }  // container udp
        }  // grouping UDP
    
        grouping SMALL-SERVERS {
          description
            "Common node of ipv4, ipv6";
          container small-servers {
            description
              "Describing IPV4 and IPV6 small servers";
            container tcp-small-servers {
              presence
                "Indicates a tcp-small-servers node is configured.";
              description
                "Describing TCP related IPV4 and IPV6 small
               servers";
              leaf access-control-list-name {
                type string;
                description
                  "Specify the access list";
              }
    
              leaf small-server {
                type union {
                  type enumeration {
                    enum "no-limit" {
                      value 0;
                      description
                        "Unlimited Servers";
                    }
                  }
                  type uint32 {
                    range "0..2147483647";
                  }
                }
                mandatory true;
                description
                  "Set number of allowable TCP small servers,
                 specify 0 for no-limit";
              }
            }  // container tcp-small-servers
          }  // container small-servers
        }  // grouping SMALL-SERVERS
    
        grouping VRF-TABLE {
          description
            "Common node of telnet, tftp";
          container vrfs {
            description "VRF table";
            list vrf {
              must "ipv4 or ipv6";
              key "vrf-name";
              description "VRF specific data";
              container ipv6 {
                description
                  "IPV6 related services";
                uses TCP;
    
                uses UDP;
              }  // container ipv6
    
              container ipv4 {
                description
                  "IPV4 related services";
                uses TCP;
    
                uses UDP;
              }  // container ipv4
    
              leaf vrf-name {
                type xr:Cisco-ios-xr-string;
                description
                  "Name of the VRF instance";
              }
            }  // list vrf
          }  // container vrfs
        }  // grouping VRF-TABLE
    
        grouping TCP {
          description
            "Common node of ipv4, ipv6";
          container tcp {
            presence
              "Indicates a tcp node is configured.";
            description "TCP details";
            leaf access-list-name {
              type string;
              description "Access list";
            }
    
            leaf maximum-server {
              type uint32 {
                range "1..100";
              }
              mandatory true;
              description
                "Set number of allowable servers";
            }
          }  // container tcp
        }  // grouping TCP
    
        container ip-tcp {
          presence
            "Indicates a ip-tcp node is configured.";
          description
            "Global IP TCP configuration";
          container directory {
            presence
              "Indicates a directory node is configured.";
            description "TCP directory details";
            leaf directoryname {
              type string;
              mandatory true;
              description "Directory name ";
            }
    
            leaf max-debug-files {
              type uint32 {
                range "1..10000";
              }
              default "256";
              description
                "Set number of Debug files";
            }
    
            leaf max-file-size-files {
              type uint32 {
                range "1024..4294967295";
              }
              units "byte";
              description
                "Set size of debug files in bytes";
            }
          }  // container directory
    
          container throttle {
            presence
              "Indicates a throttle node is configured.";
            description
              "Throttle TCP receive buffer (in percentage)";
            leaf tcpmin-throttle {
              type uint32 {
                range "0..100";
              }
              mandatory true;
              description "Min throttle";
            }
    
            leaf tcpmaxthrottle {
              type uint32 {
                range "0..100";
              }
              mandatory true;
              description "Max throttle";
            }
          }  // container throttle
    
          container ao {
            description
              "TCP authentication option configuration mode";
            container keychains {
              description
                "Configure a Key Chain";
              list keychain {
                key "name";
                description
                  "Name of the key chain";
                container keys {
                  description "Configure a Key";
                  list key {
                    key "key-id";
                    description "Key identifier";
                    leaf key-id {
                      type xr:Cisco-ios-xr-string;
                      description
                        "48-bit Key identifier in range [0 -
                       281474976710655]";
                    }
    
                    leaf send-id {
                      type uint32 {
                        range "0..255";
                      }
                      mandatory true;
                      description "Send ID";
                    }
    
                    leaf receive-id {
                      type uint32 {
                        range "0..255";
                      }
                      mandatory true;
                      description "Receive ID";
                    }
                  }  // list key
                }  // container keys
    
                leaf create {
                  type empty;
                  description "Create keychain";
                }
    
                leaf name {
                  type xr:Cisco-ios-xr-string {
                    length "1..32";
                  }
                  description
                    "Name of the key chain";
                }
              }  // list keychain
            }  // container keychains
    
            leaf enable {
              type empty;
              description
                "Create TCP-AO submode";
            }
          }  // container ao
    
          container num-thread {
            presence
              "Indicates a num-thread node is configured.";
            description
              "TCP InQueue and OutQueue threads";
            leaf tcp-in-q-threads {
              type uint32 {
                range "1..16";
              }
              mandatory true;
              description "InQ Threads";
            }
    
            leaf tcp-out-q-threads {
              type uint32 {
                range "1..16";
              }
              mandatory true;
              description "OutQ Threads";
            }
          }  // container num-thread
    
          leaf accept-rate {
            type uint32 {
              range "1..1000";
            }
            default "500";
            description
              "TCP connection accept rate";
          }
    
          leaf selective-ack {
            type empty;
            description
              "Enable TCP selective-ACK";
          }
    
          leaf window-size {
            type uint32 {
              range "2048..65535";
            }
            units "byte";
            description
              "TCP receive window size (bytes)";
          }
    
          leaf receive-q {
            type uint32 {
              range "40..800";
            }
            description "TCP receive Queue Size";
          }
    
          leaf maximum-segment-size {
            type uint32 {
              range "68..10000";
            }
            description
              "TCP initial maximum segment size";
          }
    
          leaf syn-wait-time {
            type uint32 {
              range "5..30";
            }
            units "second";
            description
              "Time to wait on new TCP connections in seconds";
          }
    
          leaf timestamp {
            type empty;
            description
              "Enable TCP timestamp option";
          }
    
          leaf path-mtu-discovery {
            type uint32;
            units "minute";
            default "10";
            description
              "Aging time; 0 for infinite, and range be (10,30)";
          }
        }  // container ip-tcp
    
        container ip {
          description
            "IP TCP Configuration Data";
          container cinetd {
            description
              "Cinetd configuration data";
            container services {
              description
                "Describing services of cinetd";
              container ipv4 {
                description
                  "IPV4 related services";
                uses SMALL-SERVERS;
              }  // container ipv4
    
              container telnet {
                description
                  "TELNET server configuration commands";
                uses VRF-TABLE;
              }  // container telnet
    
              container tftp {
                description
                  "TFTP server configuration commands";
                uses VRF-TABLE;
              }  // container tftp
    
              container ipv6 {
                description
                  "IPV6 related services";
                uses SMALL-SERVERS;
              }  // container ipv6
            }  // container services
          }  // container cinetd
        }  // container ip
      }  // module Cisco-IOS-XR-ip-tcp-cfg
    

© 2023 YumaWorks, Inc. All rights reserved.