Cisco-IOS-XR-se-cgn-cfg

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

  • Version: 2019-04-05

    Cisco-IOS-XR-se-cgn-cfg@2019-04-05


    
      module Cisco-IOS-XR-se-cgn-cfg {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XR-se-cgn-cfg";
    
        prefix se-cgn-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 se-cgn package configuration.
    
    This module contains definitions
    for the following management objects:
      cgns: Table of CGN
      cgv6s: Table of CGv6
    
    Copyright (c) 2013-2019 by Cisco Systems, Inc.
    All rights reserved.";
    
        revision "2019-04-05" {
          description
            "Establish semantic version baseline.";
        }
    
        revision "2015-11-09" {
          description "IOS XR 6.0 revision.";
        }
    
        semver:module-version "1.0.0";
    
        container cgns {
          description "Table of CGN";
          list cgn {
            key "cgn-name";
            description "CGN Configurations";
            container protocol {
              description "Select a protocol";
              container icmp {
                description "ICMP protocol";
                leaf rate-limit {
                  type uint32 {
                    range "0..65472";
                  }
                  description
                    "ICMP rate limit per second.On CRS or C12k
    ,rate limit should be multiple of 64 and less
    than 65472.On ASR9k, rate limit should be
    multiple of 48 and less than 49104. ";
                }
              }  // container icmp
            }  // container protocol
    
            container service-node {
              presence
                "Indicates a service-node node is configured.";
              description
                "Location on which service to be started";
              leaf active-node-name {
                type xr:Node-id;
                mandatory true;
                description
                  "Location on which active cgn to be
    instantiated";
              }
    
              leaf standby-node-name {
                type xr:Node-id;
                description
                  "Location on which standby cgn to be
    instantiated";
              }
            }  // container service-node
    
            container service-type {
              description
                "Select a service to configure";
              container nat64 {
                description
                  "IPv4 to IPv6 network address translation";
                container statelesses {
                  description
                    "Table of Stateless";
                  list stateless {
                    key "stateless-name";
                    description
                      "IPv4 to IPv6 stateless translation";
                    container ipv6-prefix {
                      presence
                        "Indicates a ipv6-prefix node is configured.";
                      description
                        "IPv6 prefix to be used to translate IPv4
    address to IPv6 address";
                      leaf prefix {
                        type inet:ip-address-no-zone;
                        mandatory true;
                        description
                          "IPv6 address and prefix";
                      }
    
                      leaf length {
                        type xr:Ipv6-prefix-length;
                        mandatory true;
                        description
                          "Prefix of the IP Address";
                      }
                    }  // container ipv6-prefix
    
                    container traceroute {
                      description
                        "Traceroute related configurations";
                      container translation {
                        description
                          "Configurations related translating
    traceroute addresses";
                        container address-pool {
                          presence
                            "Indicates a address-pool node is configured.";
                          description
                            "IPv4 address pool for traceroute addresses";
                          leaf start-address {
                            type inet:ipv4-address-no-zone;
                            mandatory true;
                            description
                              "Start address and prefix for the address
    pool";
                          }
    
                          leaf netmask {
                            type inet:ipv4-address-no-zone;
                            mandatory true;
                            description
                              "Start address and prefix for the address
    pool";
                          }
                        }  // container address-pool
    
                        leaf algorithm {
                          type Algorithm;
                          description
                            "Algorithm to translate IPv6 address to IPv4
    address";
                        }
                      }  // container translation
                    }  // container traceroute
    
                    leaf ubit-reserved {
                      type empty;
                      description
                        "Enable reserving ubits in IPv6 address";
                    }
    
                    leaf stateless-name {
                      type xr:Cisco-ios-xr-string {
                        length "1..24";
                      }
                      description
                        "Name of the NAT64 stateless instance";
                    }
    
                    container af {
                      description
                        "Address family related configuration";
                      container ipv6 {
                        description
                          "IPv6 address faimly";
                        container protocol {
                          description
                            "Select a protocol";
                          container icmp {
                            description
                              "ICMP protocol";
                            leaf reset-mtu {
                              type empty;
                              description
                                "Reset maximum transmission unit when packet
    is too big";
                            }
                          }  // container icmp
                        }  // container protocol
    
                        leaf traffic-class {
                          type uint32 {
                            range "0..255";
                          }
                          description
                            "Traffic class to be set when translating from
    IPv4 to IPv6";
                        }
    
                        leaf df-override {
                          type empty;
                          description
                            "Override DF bit";
                        }
    
                        leaf interface {
                          type xr:Interface-name;
                          description
                            "ServiceApp interface to be used";
                        }
    
                        leaf tcp-mss {
                          type uint32 {
                            range "28..1500";
                          }
                          units "byte";
                          description
                            "Maximum segment size to be used in bytes";
                        }
                      }  // container ipv6
    
                      container ipv4 {
                        description
                          "IPv4 address faimly";
                        leaf tos {
                          type uint32 {
                            range "0..255";
                          }
                          description
                            "Type of service value to be set when
    translating IPv6 to IPv4";
                        }
    
                        leaf interface {
                          type xr:Interface-name;
                          description
                            "ServiceApp interface to be used";
                        }
    
                        leaf tcp-mss {
                          type uint32 {
                            range "28..1500";
                          }
                          units "byte";
                          description
                            "Maximum segment size to be used in bytes";
                        }
                      }  // container ipv4
                    }  // container af
                  }  // list stateless
                }  // container statelesses
              }  // container nat64
    
              container mapts {
                description "Table of mapt";
                list mapt {
                  key "mapt-name";
                  description
                    "map-t translations";
                  container external-domain {
                    description
                      "external domain parameters";
                    container ipv6 {
                      presence
                        "Indicates a ipv6 node is configured.";
                      description
                        "ipv6 parameters";
                      container prefix {
                        presence
                          "Indicates a prefix node is configured.";
                        description
                          "CPE IPv6 Prefix";
                        leaf prefix {
                          type inet:ip-address-no-zone;
                          mandatory true;
                          description
                            "IPv6 address and prefix";
                        }
    
                        leaf length {
                          type xr:Ipv6-prefix-length;
                          mandatory true;
                          description
                            "Prefix of the IP Address";
                        }
                      }  // container prefix
    
                      container ipv6-prefix {
                        description "prefix";
                        leaf ipv6-prefix-length {
                          type uint32 {
                            range "1..128";
                          }
                          description
                            "prefix length (must be in the range of 1-64 or
    128)";
                        }
                      }  // container ipv6-prefix
    
                      leaf vrf {
                        type xr:Cisco-ios-xr-string {
                          length "1..32";
                        }
                        mandatory true;
                        description
                          "ipv6 vrf name";
                      }
                    }  // container ipv6
                  }  // container external-domain
    
                  leaf contiguous-ports {
                    type uint32 {
                      range "1..65536";
                    }
                    description
                      "number of contiguous ports (must be power of
    2)";
                  }
    
                  leaf sharing-ratio {
                    type uint32 {
                      range "1..32768";
                    }
                    description
                      "port sharing ratio (must be power of 2)";
                  }
    
                  leaf mapt-name {
                    type xr:Cisco-ios-xr-string {
                      length "1..24";
                    }
                    description
                      "Name of map-t instance";
                  }
    
                  container cpe-domain {
                    description
                      "CPE domain parameters";
                    container ipv4 {
                      description
                        "ipv4 parameters";
                      container ipv4-prefix {
                        description "prefix";
                        leaf ipv4-prefix-length {
                          type uint32 {
                            range "0..32";
                          }
                          description
                            "prefix length";
                        }
                      }  // container ipv4-prefix
    
                      container prefix {
                        presence
                          "Indicates a prefix node is configured.";
                        description
                          "CPE domain ipv4 prefix";
                        leaf start-address {
                          type inet:ipv4-address-no-zone;
                          mandatory true;
                          description
                            "IPv4 address prefix";
                        }
    
                        leaf netmask {
                          type inet:ipv4-address-no-zone;
                          mandatory true;
                          description
                            "IPv4 address prefix";
                        }
                      }  // container prefix
                    }  // container ipv4
    
                    container ipv6 {
                      presence
                        "Indicates a ipv6 node is configured.";
                      description
                        "ipv6 parameters";
                      container prefix {
                        presence
                          "Indicates a prefix node is configured.";
                        description
                          "CPE IPv6 Prefix";
                        leaf prefix {
                          type inet:ip-address-no-zone;
                          mandatory true;
                          description
                            "IPv6 address and prefix";
                        }
    
                        leaf length {
                          type xr:Ipv6-prefix-length;
                          mandatory true;
                          description
                            "Prefix of the IP Address";
                        }
                      }  // container prefix
    
                      container ipv6-prefix {
                        description "prefix";
                        leaf ipv6-prefix-length {
                          type uint32 {
                            range "1..128";
                          }
                          description
                            "prefix length (must be in the range of 1-64 or
    128)";
                        }
                      }  // container ipv6-prefix
    
                      leaf vrf {
                        type xr:Cisco-ios-xr-string {
                          length "1..32";
                        }
                        mandatory true;
                        description
                          "ipv6 vrf name";
                      }
                    }  // container ipv6
                  }  // container cpe-domain
    
                  container af {
                    description
                      "Address family related configuration";
                    container ipv6 {
                      description
                        "IPv6 address faimly";
                      container protocol {
                        description
                          "Select a protocol";
                        container icmp {
                          description
                            "ICMP protocol";
                          leaf reset-mtu {
                            type empty;
                            description
                              "Reset maximum transmission unit when packet
    is too big";
                          }
                        }  // container icmp
                      }  // container protocol
    
                      leaf traffic-class {
                        type uint32 {
                          range "0..255";
                        }
                        description
                          "Traffic class to be set when translating from
    IPv4 to IPv6";
                      }
    
                      leaf df-override {
                        type empty;
                        description
                          "Override DF bit";
                      }
    
                      leaf interface {
                        type xr:Interface-name;
                        description
                          "ServiceApp interface to be used";
                      }
    
                      leaf tcp-mss {
                        type uint32 {
                          range "28..1500";
                        }
                        units "byte";
                        description
                          "Maximum segment size to be used in bytes";
                      }
                    }  // container ipv6
    
                    container ipv4 {
                      description
                        "IPv4 address faimly";
                      leaf tos {
                        type uint32 {
                          range "0..255";
                        }
                        description
                          "Type of service value to be set when
    translating IPv6 to IPv4";
                      }
    
                      leaf interface {
                        type xr:Interface-name;
                        description
                          "ServiceApp interface to be used";
                      }
    
                      leaf tcp-mss {
                        type uint32 {
                          range "28..1500";
                        }
                        units "byte";
                        description
                          "Maximum segment size to be used in bytes";
                      }
                    }  // container ipv4
                  }  // container af
                }  // list mapt
              }  // container mapts
            }  // container service-type
    
            leaf cgn-name {
              type xr:Cisco-ios-xr-string {
                length "1..24";
              }
              description "Name of the CGN";
            }
    
            container service-intf {
              description
                "Interface on which service to be started";
              container active-intf-names {
                description
                  "Table of ActiveIntfName";
                list active-intf-name {
                  key "active-intf-name";
                  description "Interface name";
                  leaf active-intf-name {
                    type xr:Interface-name;
                    description
                      "Interface through which CGN policy to be
    downloaded";
                  }
                }  // list active-intf-name
              }  // container active-intf-names
            }  // container service-intf
          }  // list cgn
        }  // container cgns
    
        container cgv6s {
          description "Table of CGv6";
          list cgv6 {
            key "cgv6-name";
            description "CGv6 Configurations";
            container cgv6-service-type {
              description
                "Select a service to configure";
              container map-t-ciscos {
                description
                  "Table of MAPT_Cisco";
                list map-t-cisco {
                  key "map-t-cisco-name";
                  description
                    "map-t translations";
                  container ext-domain-names {
                    description
                      "Table of ExtDomainName";
                    list ext-domain-name {
                      key "ext-domain-name";
                      description "Domain name";
                      leaf ext-domain-name {
                        type xr:Cisco-ios-xr-string;
                        description
                          "Domain Name";
                      }
    
                      list ext-ipv6-prefix {
                        key "ext-ip-v6-prefix length";
                        description
                          "External domain ipv6 prefix";
                        leaf ipv4vrf {
                          type string;
                          description "IPv4 VRF";
                        }
    
                        leaf ext-ip-v6-prefix {
                          type inet:ip-address-no-zone;
                          description
                            "External domain ipv6 prefix and length";
                        }
    
                        leaf length {
                          type xr:Ipv6-prefix-length;
                          description
                            "Prefix of the IP Address";
                        }
                      }  // list ext-ipv6-prefix
                    }  // list ext-domain-name
                  }  // container ext-domain-names
    
                  container cpe-domain-names {
                    description
                      "Table of CPEDomainName";
                    list cpe-domain-name {
                      key "cpe-domain-name";
                      description
                        "CPE Domain name";
                      leaf cpe-domain-name {
                        type xr:Cisco-ios-xr-string;
                        description
                          "CPE Domain Name";
                      }
    
                      list cpe-ipv4-prefix {
                        key "cpe-ipv4-prefix";
                        description
                          "CPE domain ipv4 prefix";
                        leaf cpe-ipv6-prefix {
                          type inet:ip-address-no-zone;
                          description
                            "CPE Domain IPv6 prefix";
                        }
    
                        leaf cpe-ipv4-prefix {
                          type inet:ipv4-address-no-zone;
                          description
                            "CPE Domain IPv4 Prefix";
                        }
                      }  // list cpe-ipv4-prefix
                    }  // list cpe-domain-name
                  }  // container cpe-domain-names
    
                  container map-t-cisco-af {
                    description
                      "Address family related configuration";
                    container map-t-cisco-ipv6 {
                      presence
                        "Indicates a map-t-cisco-ipv6 node is configured.";
                      description
                        "IPv6 address family";
                      leaf path-mtu {
                        type uint32 {
                          range "1280..9216";
                        }
                        mandatory true;
                        description
                          "Path-MTU for IPv6 to be used for ServiceApp";
                      }
    
                      leaf interface {
                        type xr:Interface-name;
                        description
                          "ServiceApp interface to be used";
                      }
    
                      leaf tcp-mss {
                        type uint32 {
                          range "28..1500";
                        }
                        units "byte";
                        description
                          "Maximum segment size to be used in bytes";
                      }
                    }  // container map-t-cisco-ipv6
    
                    container map-t-cisco-ipv4 {
                      presence
                        "Indicates a map-t-cisco-ipv4 node is configured.";
                      description
                        "IPv4 address family";
                      leaf path-mtu {
                        type uint32 {
                          range "65..9216";
                        }
                        mandatory true;
                        description
                          "Path-MTU for IPv4 to be used for ServiceApp";
                      }
    
                      leaf interface {
                        type xr:Interface-name;
                        description
                          "ServiceApp interface to be used";
                      }
    
                      leaf tcp-mss {
                        type uint32 {
                          range "28..1500";
                        }
                        units "byte";
                        description
                          "Maximum segment size to be used in bytes";
                      }
                    }  // container map-t-cisco-ipv4
                  }  // container map-t-cisco-af
    
                  leaf contiguous-ports {
                    type uint32 {
                      range "1..65536";
                    }
                    description
                      "number of contiguous ports (must be power of
    2)";
                  }
    
                  leaf sharing-ratio {
                    type uint32 {
                      range "1..32768";
                    }
                    description
                      "port sharing ratio (must be power of 2)";
                  }
    
                  leaf map-t-cisco-name {
                    type xr:Cisco-ios-xr-string {
                      length "1..24";
                    }
                    description
                      "Name of map-t instance";
                  }
    
                  container cpe-domain {
                    description
                      "CPE domain parameters";
                    container ipv4 {
                      description
                        "ipv4 parameters";
                      container ipv4-prefix {
                        description "prefix";
                        leaf ipv4-prefix-length {
                          type uint32 {
                            range "0..32";
                          }
                          description
                            "prefix length";
                        }
                      }  // container ipv4-prefix
    
                      container prefix {
                        presence
                          "Indicates a prefix node is configured.";
                        description
                          "CPE domain ipv4 prefix";
                        leaf start-address {
                          type inet:ipv4-address-no-zone;
                          mandatory true;
                          description
                            "IPv4 address prefix";
                        }
    
                        leaf netmask {
                          type inet:ipv4-address-no-zone;
                          mandatory true;
                          description
                            "IPv4 address prefix";
                        }
                      }  // container prefix
                    }  // container ipv4
    
                    container ipv6 {
                      presence
                        "Indicates a ipv6 node is configured.";
                      description
                        "ipv6 parameters";
                      container prefix {
                        presence
                          "Indicates a prefix node is configured.";
                        description
                          "CPE IPv6 Prefix";
                        leaf prefix {
                          type inet:ip-address-no-zone;
                          mandatory true;
                          description
                            "IPv6 address and prefix";
                        }
    
                        leaf length {
                          type xr:Ipv6-prefix-length;
                          mandatory true;
                          description
                            "Prefix of the IP Address";
                        }
                      }  // container prefix
    
                      container ipv6-prefix {
                        description "prefix";
                        leaf ipv6-prefix-length {
                          type uint32 {
                            range "1..128";
                          }
                          description
                            "prefix length (must be in the range of 1-64 or
    128)";
                        }
                      }  // container ipv6-prefix
    
                      leaf vrf {
                        type xr:Cisco-ios-xr-string {
                          length "1..32";
                        }
                        mandatory true;
                        description
                          "ipv6 vrf name";
                      }
                    }  // container ipv6
                  }  // container cpe-domain
                }  // list map-t-cisco
              }  // container map-t-ciscos
            }  // container cgv6-service-type
    
            container service-node {
              presence
                "Indicates a service-node node is configured.";
              description
                "Location on which service to be started";
              leaf active-node-name {
                type xr:Node-id;
                mandatory true;
                description
                  "Location on which active cgn to be
    instantiated";
              }
    
              leaf standby-node-name {
                type xr:Node-id;
                description
                  "Location on which standby cgn to be
    instantiated";
              }
            }  // container service-node
    
            leaf cgv6-name {
              type xr:Cisco-ios-xr-string {
                length "1..24";
              }
              description "Name of the CGv6";
            }
    
            container service-intf {
              description
                "Interface on which service to be started";
              container active-intf-names {
                description
                  "Table of ActiveIntfName";
                list active-intf-name {
                  key "active-intf-name";
                  description "Interface name";
                  leaf active-intf-name {
                    type xr:Interface-name;
                    description
                      "Interface through which CGN policy to be
    downloaded";
                  }
                }  // list active-intf-name
              }  // container active-intf-names
            }  // container service-intf
          }  // list cgv6
        }  // container cgv6s
      }  // module Cisco-IOS-XR-se-cgn-cfg
    

© 2023 YumaWorks, Inc. All rights reserved.