module iana-afn-safi {
  namespace "urn:ietf:params:xml:ns:yang:iana-afn-safi";
  prefix "ianaaf";

  organization
    "IANA";
  contact
    "        Internet Assigned Numbers Authority

     Postal: ICANN
             4676 Admiralty Way, Suite 330
             Marina del Rey, CA 90292

     Tel:    +1 310 823 9358
     E-Mail: iana&iana.org";
  description
    "This YANG module provides two typedefs containing YANG
     definitions for the following IANA-registered enumerations:

     - Address Family Numbers (AFN)

     - Subsequent Address Family Identifiers (SAFI)

     The latest revision of this YANG module can be obtained from the
     IANA web site.

     Copyright (c) 2012 IETF Trust and the persons identified as
     authors of the code. All rights reserved.

     Redistribution and use in source and binary forms, with or
     without modification, is permitted pursuant to, and subject to
     the license terms contained in, the Simplified BSD License set
     forth in Section 4.c of the IETF Trust's Legal Provisions
     Relating to IETF Documents
     (http://trustee.ietf.org/license-info).

     This version of this YANG module is part of RFC XXXX; see the
     RFC itself for full legal notices.";
  // RFC Ed.: replace XXXX with actual RFC number and remove this
  // note.

  // RFC Ed.: update the date below with the date of RFC publication
  // and remove this note.
  revision 2013-07-04 {
    description
      "Initial revision.";
    reference
      "RFC XXXX: IANA Address Family Numbers and
                 Subsequent Address Family Identifiers YANG Module";
  }

  typedef address-family {
    type enumeration {
      // value 0 is reserved by IANA
      enum ipV4 {
        value "1";
        description
          "IP version 4";
      }
      enum ipV6 {
        value "2";
        description
          "IP version 6";
      }
      enum nsap {
        value "3";
        description
          "NSAP";
      }
      enum hdlc {
        value "4";
        description
          "HDLC (8-bit multidrop)";
      }
      enum bbn1822 {
        value "5";
        description
          "BBN 1822";
      }
      enum all802 {
        value "6";
        description
          "802 (includes all 802 media plus Ethernet 'canonical
           format')";
      }
      enum e163 {
        value "7";
        description
          "E.163";
      }
      enum e164 {
        value "8";
        description
          "E.164 (SMDS, FrameRelay, ATM)";
      }
      enum f69 {
        value "9";
        description
          "F.69 (Telex)";
      }
      enum x121 {
        value "10";
        description
          "X.121 (X.25, Frame Relay)";
      }
      enum ipx {
        value "11";
        description
          "IPX (Internetwork Packet Exchange)";
      }
      enum appletalk {
        value "12";
        description
          "Appletalk";
      }
      enum decnetIV {
        value "13";
        description
          "DECnet IV";
      }
      enum banyanVines {
        value "14";
        description
          "Banyan Vines";
      }
      enum e164withNsap {
        value "15";
        description
          "E.164 with NSAP format subaddress";
        reference
          "ATM Forum UNI 3.1";
      }
      enum dns {
        value "16";
        description
          "DNS (Domain Name System)";
      }
      enum distinguishedName {
        value "17";
        description
          "Distinguished Name (per X.500)";
      }
      enum asNumber {
        value "18";
        description
          "Autonomous System Number";
      }
      enum xtpOverIpv4 {
        value "19";
        description
          "XTP over IP version 4";
      }
      enum xtpOverIpv6 {
        value "20";
        description
          "XTP over IP version 6";
      }
      enum xtpNativeModeXTP {
        value "21";
        description
          "XTP native mode XTP";
      }
      enum fibreChannelWWPN {
        value "22";
        description
          "Fibre Channel World-Wide Port Name";
      }
      enum fibreChannelWWNN {
        value "23";
        description
          "Fibre Channel World-Wide Node Name";
      }
      enum gwid {
        value "24";
        description
          "Gateway Identifier";
      }
      // FIXME: This one is actually called "afi" in the MIB, but
      // that must be a mistake.
      enum l2vpn {
        value "25";
        description
          "AFI for L2VPN information";
        reference
          "RFC 4761: Virtual Private LAN Service (VPLS): Using BGP
           for Auto-Discovery and Signaling

           RFC 6074: Provisioning, Auto-Discovery, and Signaling in
           Layer 2 Virtual Private Networks (L2VPNs)";
      }
      enum mplsTpSectionEndpointIdentifier {
        value "26";
        description
          "MPLS-TP Section Endpoint Identifier";
        reference
          "draft-ietf-mpls-gach-adv";
      }
      enum mplsTpLspEndpointIdentifier {
        value "27";
        description
          "MPLS-TP LSP Endpoint Identifier";
        reference
          "draft-ietf-mpls-gach-adv";
      }
      enum mplsTpPseudowireEndpointIdentifier {
        value "28";
        description
          "MPLS-TP Pseudowire Endpoint Identifier";
        reference
          "draft-ietf-mpls-gach-adv";
      }
      enum eigrpCommonServiceFamily {
        value "16384";
        description
          "EIGRP Common Service Family";
      }
      enum eigrpIpv4ServiceFamily {
        value "16385";
        description
          "EIGRP IPv4 Service Family";
      }
      enum eigrpIpv6ServiceFamily {
        value "16386";
        description
          "EIGRP IPv6 Service Family";
      }
      enum lispCanonicalAddressFormat {
        value "16387";
        description
          "LISP Canonical Address Format (LCAF)";
      }
      enum bgpLs {
        value "16388";
        description
          "BGP-LS";
        reference
          "draft-ietf-idr-ls-distribution";
      }
      enum 48BitMac {
        value "16389";
        description
          "48-bit MAC";
        reference
          "draft-eastlake-rfc5342bis";
      }
      enum 64BitMac {
        value "16390";
        description
          "64-bit MAC";
        reference
          "draft-eastlake-rfc5342bis";
      }
      // value 65535 is reserved by IANA
    }
    description
      "This typedef is a YANG enumeration of IANA-registered address
       family numbers (AFN).";
    reference
      "IANA Address Family Numbers registry.
       <http://www.iana.org/assignments/address-family-numbers>";
  }

  typedef subsequent-address-family {
    type enumeration {
      // value 0 is reserved by IANA
      enum nlriUnicast {
        value "1";
        description
          "Network Layer Reachability Information used for unicast
           forwarding";
        reference
          "RFC 4760: Multiprotocol Extensions for BGP-4";
      }
      enum nlriMulticast {
        value "2";
        description
          "Network Layer Reachability Information used for multicast
           forwarding";
        reference
          "RFC 4760: Multiprotocol Extensions for BGP-4";
      }
      // value 3 is reserved by IANA
      enum nlriMpls {
        value "4";
        description
          "Network Layer Reachability Information (NLRI) with MPLS
           Labels";
        reference
          "RFC 3107: Carrying Label Information in BGP-4";
      }
      enum mcastVpn {
        value "5";
        description
          "MCAST-VPN";
        reference
          "RFC 6514: BGP Encodings and Procedures for Multicast in
           MPLS/BGP IP VPNs";
      }
      enum nlriDynamicMsPw {
        value "6";
        status "obsolete";
        description
          "Network Layer Reachability Information used for Dynamic
           Placement of Multi-Segment Pseudowires (TEMPORARY -
           Expires 2008-08-23)";
        reference
          "draft-ietf-pwe3-dynamic-ms-pw: Dynamic Placement of Multi
           Segment Pseudowires";
      }
      enum encapsulation {
        value "7";
        description
          "Encapsulation SAFI";
        reference
          "RFC 5512: The BGP Encapsulation Subsequent Address Family
           Identifier (SAFI) and the BGP Tunnel Encapsulation
           Attribute";
      }
      enum tunnel {
        value "64";
        status "obsolete";
        description
          "Tunnel SAFI";
        reference
          "draft-nalawade-kapoor-tunnel-safi: BGP Tunnel SAFI";
      }
      enum vpls {
        value "65";
        description
          "Virtual Private LAN Service (VPLS)";
        reference
          "RFC 4761: Virtual Private LAN Service (VPLS): Using BGP
           for Auto-Discovery and Signaling

           RFC 6074: Provisioning, Auto-Discovery, and Signaling in
           Layer 2 Virtual Private Networks (L2VPNs)";
      }
      enum bgpMdt {
        value "66";
        description
          "BGP MDT SAFI";
        reference
          "RFC 6037: Cisco Systems' Solution for Multicast in
           BGP/MPLS IP VPNs";
      }
      enum bgp4over6 {
        value "67";
        description
          "BGP 4over6 SAFI";
        reference
          "RFC 5747: 4over6 Transit Solution Using IP Encapsulation
           and MP-BGP Extensions";
      }
      enum bgp6over4 {
        value "68";
        description
          "BGP 6over4 SAFI";
      }
      enum l1VpnAutoDiscovery {
        value "69";
        description
          "Layer-1 VPN auto-discovery information";
        reference
          "RFC 5195: BGP-Based Auto-Discovery for Layer-1 VPNs";
      }
      enum mplsVpn {
        value "128";
        description
          "MPLS-labeled VPN address";
        reference
          "RFC 4364: BGP/MPLS IP Virtual Private Networks (VPNs)";
      }
      enum multicastBgpMplsVpn {
        value "129";
        description
          "Multicast for BGP/MPLS IP Virtual Private Networks
           (VPNs)";
        reference
          "RFC 6513: Multicast in MPLS/BGP IP VPNs

           RFC 6514: BGP Encodings and Procedures for Multicast in
           MPLS/BGP IP VPNs";
      }
      // values 130-131 are reserved by IANA
      enum routeTargetConstraints {
        value "132";
        description
          "Route Target constraints";
        reference
          "RFC 4684: Constrained Route Distribution for Border
           Gateway Protocol/MultiProtocol Label Switching (BGP/MPLS)
           Internet Protocol (IP) Virtual Private Networks (VPNs)";
      }
      enum ipv4DissFlow {
        value "133";
        description
          "IPv4 dissemination of flow specification rules";
        reference
          "RFC 5575: Dissemination of Flow Specification Rules";
      }
      enum vpnv4DissFlow {
        value "134";
        description
          "VPNv4 dissemination of flow specification rules";
        reference
          "RFC 5575: Dissemination of Flow Specification Rules";
      }
      // values 135-139 are reserved by IANA
      enum vpnAutoDiscovery {
        value "140";
        status "obsolete";
        description
          "VPN auto-discovery";
        reference
          "draft-ietf-l3vpn-bgpvpn-auto: Using BGP as an
           Auto-Discovery Mechanism for VR-based Layer-3 VPNs";
      }
      // values 141-240 are reserved by IANA
      enum private241 {
        value "241";
        description
          "Reserved for Private Use";
        reference
          "RFC 4760: Multiprotocol Extensions for BGP-4";
      }
      enum private242 {
        value "242";
        description
          "Reserved for Private Use";
        reference
          "RFC 4760: Multiprotocol Extensions for BGP-4";
      }
      enum private243 {
        value "243";
        description
          "Reserved for Private Use";
        reference
          "RFC 4760: Multiprotocol Extensions for BGP-4";
      }
      enum private244 {
        value "244";
        description
          "Reserved for Private Use";
        reference
          "RFC 4760: Multiprotocol Extensions for BGP-4";
      }
      enum private245 {
        value "245";
        description
          "Reserved for Private Use";
        reference
          "RFC 4760: Multiprotocol Extensions for BGP-4";
      }
      enum private246 {
        value "246";
        description
          "Reserved for Private Use";
        reference
          "RFC 4760: Multiprotocol Extensions for BGP-4";
      }
      enum private247 {
        value "247";
        description
          "Reserved for Private Use";
        reference
          "RFC 4760: Multiprotocol Extensions for BGP-4";
      }
      enum private248 {
        value "248";
        description
          "Reserved for Private Use";
        reference
          "RFC 4760: Multiprotocol Extensions for BGP-4";
      }
      enum private249 {
        value "249";
        description
          "Reserved for Private Use";
        reference
          "RFC 4760: Multiprotocol Extensions for BGP-4";
      }
      enum private250 {
        value "250";
        description
          "Reserved for Private Use";
        reference
          "RFC 4760: Multiprotocol Extensions for BGP-4";
      }
      enum private251 {
        value "251";
        description
          "Reserved for Private Use";
        reference
          "RFC 4760: Multiprotocol Extensions for BGP-4";
      }
      enum private252 {
        value "252";
        description
          "Reserved for Private Use";
        reference
          "RFC 4760: Multiprotocol Extensions for BGP-4";
      }
      enum private253 {
        value "253";
        description
          "Reserved for Private Use";
        reference
          "RFC 4760: Multiprotocol Extensions for BGP-4";
      }
      enum private254 {
        value "254";
        description
          "Reserved for Private Use";
        reference
          "RFC 4760: Multiprotocol Extensions for BGP-4";
      }
      // value 255 is reserved by IANA
    }
    description
      "This typedef is a YANG enumeration of IANA-registered
       subsequent address family identifiers (SAFI).";
    reference
      "IANA SAFI Values registry.
       <http://www.iana.org/assignments/safi-namespace>";
  }
}
