Cisco-IOS-XR-um-tcp-cfg

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

  • Version: 2021-05-10

    Cisco-IOS-XR-um-tcp-cfg@2021-05-10


    
      module Cisco-IOS-XR-um-tcp-cfg {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XR-um-tcp-cfg";
    
        prefix um-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 tcp package configuration.
         
         This YANG module augments the
         modules with configuration data.
         
         Copyright (c) 2021 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2021-05-10" {
          description "Initial release";
        }
    
        semver:module-version "1.0.0";
    
        feature tcpao_keychain_key_parse_verify {
          description
            "tcpao keychain key parse verify";
        }
    
        container service {
          description
            "Modify use of network based services";
          container ipv4 {
            description "Ipv4 small servers";
            container tcp-small-servers {
              description
                "Enable small TCP servers (e.g., ECHO)";
              leaf max-servers {
                type union {
                  type enumeration {
                    enum "no-limit" {
                      value 0;
                      description
                        "No limit to number of allowable TCP small servers";
                    }
                  }
                  type uint32 {
                    range "1..2147483647";
                  }
                }
                description
                  "Set number of allowable TCP small servers";
              }
    
              leaf access-list {
                type xr:Cisco-ios-xr-string {
                  length "1..64";
                }
                must "../max-servers";
                description "Access list";
              }
            }  // container tcp-small-servers
          }  // container ipv4
    
          container ipv6 {
            description "Ipv6 small servers";
            container tcp-small-servers {
              description
                "Enable small TCP servers (e.g., ECHO)";
              leaf max-servers {
                type union {
                  type enumeration {
                    enum "no-limit" {
                      value 0;
                      description
                        "No limit to number of allowable TCP small servers";
                    }
                  }
                  type uint32 {
                    range "1..2147483647";
                  }
                }
                description
                  "Set number of allowable TCP small servers";
              }
    
              leaf access-list {
                type xr:Cisco-ios-xr-string {
                  length "1..64";
                }
                must "../max-servers";
                description "Access list";
              }
            }  // container tcp-small-servers
          }  // container ipv6
        }  // container service
    
        container tcp {
          description
            "Global TCP configuration commands";
          leaf window-size {
            type uint32 {
              range "2048..65535";
            }
            description
              "TCP receive window size";
          }
    
          leaf synwait-time {
            type uint32 {
              range "5..30";
            }
            description
              "Set time to wait on new TCP connections";
          }
    
          container directory {
            description
              "Specify debug directory location";
            leaf location {
              type string {
                length "1..256";
              }
              must "../files and ../size";
              description
                "Place debug files in this directory";
            }
    
            leaf files {
              type uint32 {
                range "1..10000";
              }
              must "../location and ../size";
              description
                "Set maximum debug files";
            }
    
            leaf size {
              type uint32 {
                range "1024..4294967295";
              }
              must "../location and ../files";
              description
                "Set maximum file size";
            }
          }  // container directory
    
          container path-mtu-discovery {
            presence
              "Indicates a path-mtu-discovery node is configured.";
            description
              "Enable Path MTU Discovery on new TCP connections";
            leaf age-timer {
              type union {
                type uint32 {
                  range "10..30";
                }
                type enumeration {
                  enum "infinite" {
                    value 0;
                    description
                      "Disable Path MTU aging timer";
                  }
                }
              }
              description
                "Set Path MTU aging timer";
            }
          }  // container path-mtu-discovery
    
          leaf receive-queue {
            type uint32 {
              range "40..800";
            }
            description
              "TCP receive packet queue size";
          }
    
          container timestamp {
            presence
              "Indicates a timestamp node is configured.";
            description
              "Enable TCP timestamp option";
          }  // container timestamp
    
          leaf throttle {
            type uint32 {
              range "0..100";
            }
            must "../high-water-mark-throttling";
            description
              "Throttle receive buffer (in percentage)";
          }
    
          leaf high-water-mark-throttling {
            type uint32 {
              range "0..100";
            }
            must "../throttle";
            description
              "High water mark throttling (default 70 percent)";
          }
    
          container selective-ack {
            presence
              "Indicates a selective-ack node is configured.";
            description
              "Enable TCP selective-ACK";
          }  // container selective-ack
    
          leaf mss {
            type uint32 {
              range "68..10000";
            }
            description
              "Set the TCP initial maximum segment size";
          }
    
          leaf accept-rate {
            type uint32 {
              range "1..1000";
            }
            description
              "Set the maximum TCP connection accept rate";
          }
    
          leaf num-thread {
            type uint32 {
              range "1..16";
            }
            must "../max-threads-in-thread-pool";
            description
              "Set number of threads (takes effect only on process restart)";
          }
    
          leaf max-threads-in-thread-pool {
            type uint32 {
              range "1..16";
            }
            must "../num-thread";
            description
              "max threads in thread pool created by TCP (default: 8)";
          }
    
          container ao {
            presence
              "Indicates a ao node is configured.";
            description
              "Enter into TCP authentication option configuration mode";
            container keychains {
              description "TCP AO keychain mode";
              list keychain {
                key "keychain-name";
                description
                  "TCP AO keychain mode";
                leaf keychain-name {
                  type xr:Cisco-ios-xr-string {
                    length "1..32";
                  }
                  description
                    "TCP AO keychain mode";
                }
    
                container keys {
                  description
                    "Configure TCP-AO IDs for a Key";
                  list key {
                    if-feature tcpao_keychain_key_parse_verify;
                    key "key-name";
                    description
                      "Configure TCP-AO IDs for a Key";
                    leaf key-name {
                      type xr:Cisco-ios-xr-string {
                        length "1..800";
                        pattern "[0-9]{1,15}";
                      }
                      description
                        "Configure TCP-AO IDs for a Key";
                    }
    
                    leaf send-id {
                      type uint32 {
                        range "0..255";
                      }
                      mandatory true;
                      description
                        "Configure SendID to be used for this key";
                    }
    
                    leaf receive-id {
                      type uint32 {
                        range "0..255";
                      }
                      mandatory true;
                      description
                        "Configure ReceiveID to be used for this key";
                    }
                  }  // list key
                }  // container keys
              }  // list keychain
            }  // container keychains
          }  // container ao
        }  // container tcp
    
        container pak-rate {
          description
            "packet rate of the process";
          container tcp {
            description
              "input pak-rate of tcp protocol";
            container stats-start {
              presence
                "Indicates a stats-start node is configured.";
              description
                "packet rate stats collection start/stop";
              leaf rate-limit {
                type uint32 {
                  range "3000..65535";
                }
                description
                  "Specify the expected packet rate in 30 secs/session";
              }
    
              leaf max-pkt-size {
                type uint32 {
                  range "1000..9000";
                }
                must "../max-pkt-rate";
                description
                  "Specify the expected packet maximum size of the packet";
              }
    
              leaf max-pkt-rate {
                type uint32 {
                  range "2000..65535";
                }
                must "../max-pkt-size";
                description
                  "Specify the expected maximum size packets in 30 secs/session";
              }
            }  // container stats-start
          }  // container tcp
        }  // container pak-rate
      }  // module Cisco-IOS-XR-um-tcp-cfg
    

© 2023 YumaWorks, Inc. All rights reserved.