Cisco-IOS-XR-spirit-cgn-nat64-stless-cfg

This module contains a collection of YANG definitions for Cisco IOS-XR spirit-cgn-nat64-stless package configuration. This YANG...

  • Version: 2019-04-05

    Cisco-IOS-XR-spirit-cgn-nat64-stless-cfg@2019-04-05


    
      module Cisco-IOS-XR-spirit-cgn-nat64-stless-cfg {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XR-spirit-cgn-nat64-stless-cfg";
    
        prefix spirit-cgn-nat64-stless-cfg;
    
        import ietf-inet-types {
          prefix inet;
        }
        import Cisco-IOS-XR-types {
          prefix xr;
        }
        import cisco-semver {
          prefix semver;
        }
        import Cisco-IOS-XR-se-cgn-cfg {
          prefix a1;
        }
    
        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 spirit-cgn-nat64-stless package configuration.
         
         This YANG module augments the
           Cisco-IOS-XR-se-cgn-cfg
         module with configuration data.
         
         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";
    
        typedef Algorithm {
          type enumeration {
            enum "hash" {
              value 1;
              description "Hashing";
            }
            enum "ttl" {
              value 2;
              description "Time to live";
            }
            enum "random" {
              value 3;
              description "Randomly generate";
            }
          }
          description "Algorithm";
        }
    
        grouping TCP-MSS {
          description
            "Common node of ipv6, ipv4";
          leaf tcp-mss {
            type uint32 {
              range "28..1500";
            }
            units "byte";
            description
              "Maximum segment size to be used in bytes";
          }
        }  // grouping TCP-MSS
    
        grouping AF {
          description
            "Common node of stateless, mapt";
          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";
              }
    
              uses INTERFACE;
    
              uses TCP-MSS;
            }  // 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";
              }
    
              uses INTERFACE;
    
              uses TCP-MSS;
            }  // container ipv4
          }  // container af
        }  // grouping AF
    
        grouping INTERFACE {
          description
            "Common node of ipv6, ipv4";
          leaf interface {
            type xr:Interface-name;
            description
              "ServiceApp interface to be used";
          }
        }  // grouping INTERFACE
    
        grouping IPV6 {
          description
            "Common node of external-domain, cpe-domain";
          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
        }  // grouping IPV6
    
        grouping CPE-DOMAIN {
          description
            "Common node of mapt, map-t-cisco";
          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
    
            uses IPV6;
          }  // container cpe-domain
        }  // grouping CPE-DOMAIN
    
        augment /a1:cgns/a1:cgn/a1:service-type {
          description
            "This augment extends the configuration data of
           'Cisco-IOS-XR-se-cgn-cfg'";
          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";
                }
    
                uses AF;
              }  // list stateless
            }  // container statelesses
          }  // container nat64
        }
    
        augment /a1:cgns/a1:cgn/a1:service-type {
          description
            "This augment extends the configuration data of
           'Cisco-IOS-XR-se-cgn-cfg'";
          container mapts {
            description "Table of mapt";
            list mapt {
              key "mapt-name";
              description "map-t translations";
              container external-domain {
                description
                  "external domain parameters";
                uses 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";
              }
    
              uses CPE-DOMAIN;
    
              uses AF;
            }  // list mapt
          }  // container mapts
        }
    
        augment /a1:cgv6s/a1:cgv6/a1:cgv6-service-type {
          description
            "This augment extends the configuration data of
           'Cisco-IOS-XR-se-cgn-cfg'";
          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";
              }
    
              uses CPE-DOMAIN;
            }  // list map-t-cisco
          }  // container map-t-ciscos
        }
      }  // module Cisco-IOS-XR-spirit-cgn-nat64-stless-cfg
    

© 2023 YumaWorks, Inc. All rights reserved.