netconfcentral logo

ietf-multicast-information

HTML

ietf-multicast-information@2017-08-20



  module ietf-multicast-information {

    yang-version 1;

    namespace
      "urn:ietf:params:xml:ns:yang:ietf-multicast-information";

    prefix multicast-info;

    import ietf-inet-types {
      prefix inet;
    }

    organization
      " IETF MBONED( MBONE Deployment ) Working Group";

    contact
      "WG List:  <mailto:bier@ietf.org>
      WG Chair: Greg Shepherd
                <mailto:gjshep@gmail.com>
      WG Chair: Leonard Giuliano
                <mailto:lenny@juniper.net>

      Editor:   Zheng Zhang
                <mailto:zhang.zheng@zte.com.cn>
      Editor:   Cui Wang
                <mailto:wang.cui1@zte.com.cn>
      Editor:   Ying Cheng
                <mailto:chengying10@chinaunicom.cn>
     ";

    description
      "This module contains a collection of YANG definitions for
      managing multicast information.";

    revision "2017-08-20" {
      description
        "Add BGP and MLD-snooping overlay and BIER-TE transport.";
      reference
        "https://tools.ietf.org/html/draft-zhang-mboned-multicast-info-model";

    }

    revision "2016-12-08" {
      description "Initial version.";
      reference
        "https://tools.ietf.org/html/draft-zhang-mboned-multicast-info-model";

    }


    grouping general-multicast {
      description
        "The general multicast address information.";
      leaf source-address {
        type inet:ip-address;
        description
          "The address of multicast source. The value set to zero
              means that the receiver interests in all source that relevant to
              one group.";
      }

      leaf source-wildcard {
        type uint8;
        description
          "The wildcard information of source.";
      }

      leaf group-address {
        type inet:ip-address;
        description
          "The address of multicast group.";
      }

      leaf group-wildcard {
        type uint8;
        description
          "The wildcard information of group.";
      }
    }  // grouping general-multicast

    grouping m-addr {
      description
        "The vpn multicast information.";
      leaf vpn-id {
        type uint32;
        description
          "The vpn-id of the multicast flow.
              If there is global instance, the vpnid value should be zero.";
      }

      uses general-multicast;
    }  // grouping m-addr

    typedef virtual-type {
      type enumeration {
        enum "vxlan" {
          value 0;
          description "The vxlan type.";
        }
        enum "virtual subnet" {
          value 1;
          description "The nvgre type";
        }
        enum "vni" {
          value 2;
          description "The geneve type";
        }
      }
      description
        "The collection of virtual network type.";
    }

    grouping multicast-nvo3 {
      description
        "The nvo3 multicast information.";
      leaf vni-type {
        type virtual-type;
        description
          "The type of virtual network identifier. Include the Vxlan
              NVGRE and Geneve.";
      }

      leaf vni-value {
        type uint32;
        description
          "The value of Vxlan network identifier, virtual subnet ID
            or virtual net identifier.";
      }
    }  // grouping multicast-nvo3

    grouping multicast-feature {
      description
        "This group describe the different multicast information
           in various deployments.";
      uses m-addr;

      uses multicast-nvo3;
    }  // grouping multicast-feature

    grouping ip-node {
      description
        "The IP information of multicast nodes.";
      leaf ingress-node {
        type inet:ip-address;
        description
          "The ingress node of multicast flow. Or the ingress
              node of MVPN and BIER. In MVPN, this is the address of ingress
              PE; in BIER, this is the BFR-prefix of ingress nodes.";
      }

      list egress-nodes {
        key "egress-node";
        description
          "This ID information of one adjacency.";
        leaf egress-node {
          type inet:ip-address;
          description
            "The egress multicast nodes of multicast flow.
                  Or the egress node of MVPN and BIER. In MVPN, this is the
                  address of egress PE; in BIER, this is the BFR-prefix of
                  ingress nodes.";
        }
      }  // list egress-nodes
    }  // grouping ip-node

    typedef bfr-id {
      type uint16;
      description "The BFR id of nodes.";
    }

    typedef si {
      type uint16;
      description
        "The type for set identifier";
    }

    typedef sub-domain-id {
      type uint16;
      description
        "The type for sub-domain-id";
    }

    typedef bit-string {
      type uint16;
      description
        "The bit mask of one bitstring.";
    }

    grouping bier-node {
      description
        "The BIER information of multicast nodes.";
      leaf sub-domain {
        type sub-domain-id;
        description
          "The sub-domain that this multicast flow belongs to.";
      }

      leaf ingress-node {
        type bfr-id;
        description
          "The ingress node of multicast flow. This is the
              BFR-id of ingress nodes.";
      }

      list egress-nodes {
        key "egress-node";
        description
          "This ID information of one adjacency.";
        leaf egress-node {
          type bfr-id;
          description
            "The egress multicast nodes of multicast flow.
                  This is the BFR-id of egress nodes.";
        }
      }  // list egress-nodes
    }  // grouping bier-node

    grouping overlay-tech {
      description
        "The possible overlay technologies for multicast service.";
      choice overlay-tech-type {
        description
          "The collection of multicast overlay technology";
        case mld {
          description
            "MLD technology is used for multicast overlay";
        }  // case mld

        case mvpn {
          description
            "MVPN technology is used for multicast overlay";
        }  // case mvpn

        case bgp {
          description
            "BGP technology is used for multicast overlay";
        }  // case bgp

        case mld-snooping {
          description
            "MLD snooping technology is used for multicast overlay";
        }  // case mld-snooping
      }  // choice overlay-tech-type
    }  // grouping overlay-tech

    grouping multicast-overlay {
      description
        "The node information that connect the ingress multicast
          flow, and the nodes information that connect the egress multicast
          flow.";
      container nodes-information {
        description
          "The ingress and egress nodes information.";
        uses ip-node;
      }  // container nodes-information

      container bier-information {
        description
          "The ingress and egress BIER nodes information.";
        uses bier-node;
      }  // container bier-information

      container overlay-technology {
        description
          "The possible overlay technologies for multicast service.";
        uses overlay-tech;
      }  // container overlay-technology
    }  // grouping multicast-overlay

    grouping transport-bier {
      description
        "The BIER transport information.";
      leaf sub-domain {
        type sub-domain-id;
        description
          "The subdomain id that this multicast flow belongs to.";
      }

      choice encap-type {
        description
          "The encapsulation type in BIER.";
        case mpls {
          description
            "The BIER forwarding depend on mpls.";
        }  // case mpls

        case non-mpls {
          description
            "The BIER forwarding depend on non-mpls.";
        }  // case non-mpls

        case ipv6 {
          description
            "The BIER forwarding depend on IPv6.";
        }  // case ipv6
      }  // choice encap-type

      leaf bitstringlength {
        type uint16;
        description
          "The bitstringlength used by BIER forwarding.";
      }

      leaf set-identifier {
        type si;
        description
          "The set identifier used by this multicast flow.";
      }

      leaf ecmp {
        type boolean;
        description
          "The capability of ECMP.";
      }

      leaf frr {
        type boolean;
        description
          "The capability of fast re-route.";
      }
    }  // grouping transport-bier

    grouping transport-bier-te {
      description
        "The BIER-TE transport information.";
      leaf sub-domain {
        type sub-domain-id;
        description
          "The subdomain id that this multicast flow belongs to.";
      }

      choice encap-type {
        description
          "The encapsulation type in BIER-TE.";
        case mpls {
          description
            "The BIER-TE forwarding depend on mpls.";
        }  // case mpls

        case non-mpls {
          description
            "The BIER-TE forwarding depend on non-mpls.";
        }  // case non-mpls
      }  // choice encap-type

      leaf bitstringlength {
        type uint16;
        description
          "The bitstringlength used by BIER-TE forwarding.";
      }

      leaf set-identifier {
        type si;
        description
          "The set identifier used by this multicast flow, especially in BIER TE.";
      }

      leaf ecmp {
        type boolean;
        description
          "The capability of ECMP.";
      }

      leaf frr {
        type boolean;
        description
          "The capability of fast re-route.";
      }
    }  // grouping transport-bier-te

    grouping transport-pim {
      description
        "The requirement information of pim transportion.";
      leaf graceful-restart {
        type boolean;
        description
          "If the graceful restart function should be supported.";
      }

      leaf bfd {
        type boolean;
        description
          "If the bfd function should be supported.";
      }
    }  // grouping transport-pim

    grouping mldp-tunnel-feature {
      description "The tunnel feature.";
      leaf mldp-tunnel-id {
        type uint32;
        description
          "The tunnel id that correspond this flow.";
      }

      leaf mldp-frr {
        type boolean;
        description
          "If the fast re-route function should be supported.";
      }

      leaf mldp-backup-tunnel {
        type boolean;
        description
          "If the backup tunnel function should be supported.";
      }
    }  // grouping mldp-tunnel-feature

    grouping p2mp-te-tunnel-feature {
      description "The tunnel feature.";
      leaf te-tunnel-id {
        type uint32;
        description
          "The tunnel id that correspond this flow.";
      }

      leaf te-frr {
        type boolean;
        description
          "If the fast re-route function should be supported.";
      }

      leaf te-backup-tunnel {
        type boolean;
        description
          "If the backup tunnel function should be supported.";
      }
    }  // grouping p2mp-te-tunnel-feature

    grouping transport-mpls {
      description
        "The mpls transportion information.";
      choice mpls-tunnel-type {
        description
          "The collection types of mpls tunnels";
        case mldp {
          description "The mldp tunnel.";
          uses mldp-tunnel-feature;
        }  // case mldp

        case p2mp-te {
          description "The p2mp te tunnel.";
          uses p2mp-te-tunnel-feature;
        }  // case p2mp-te
      }  // choice mpls-tunnel-type
    }  // grouping transport-mpls

    grouping cisco-multicast {
      description
        "The Cisco MDT multicast information in RFC6037.";
      leaf p-group {
        type inet:ip-address;
        description
          "The address of p-group.";
      }
    }  // grouping cisco-multicast

    grouping transport-cisco-mode {
      description
        "The transport information of Cisco mode, RFC6037.";
      uses cisco-multicast;

      uses transport-pim;
    }  // grouping transport-cisco-mode

    grouping multicast-transport {
      description
        "The transport information of multicast service.";
      container bier {
        description
          "The transport technology is BIER.";
        uses transport-bier;
      }  // container bier

      container bier-te {
        description
          "The transport technology is BIER-TE.";
        uses transport-bier-te;
      }  // container bier-te

      container cisco-mode {
        description
          "The transport technology is cisco-mode.";
        uses transport-cisco-mode;
      }  // container cisco-mode

      container mpls {
        description
          "The transport technology is mpls.";
        uses transport-mpls;
      }  // container mpls

      container pim {
        description
          "The transport technology is PIM.";
        uses transport-pim;
      }  // container pim
    }  // grouping multicast-transport

    grouping underlay-bgp {
      description
        "Underlay information of BGP.";
    }  // grouping underlay-bgp

    grouping underlay-ospf {
      description
        "Underlay information of OSPF.";
      leaf topology-id {
        type uint16;
        description
          "The topology id of ospf instance.";
      }
    }  // grouping underlay-ospf

    grouping underlay-isis {
      description
        "Underlay information of ISIS.";
      leaf topology-id {
        type uint16;
        description
          "The topology id of isis instance.";
      }
    }  // grouping underlay-isis

    grouping underlay-babel {
      description
        "Underlay information of Babel.";
    }  // grouping underlay-babel

    grouping underlay-pim {
      description
        "Underlay information of PIM.";
    }  // grouping underlay-pim

    grouping multicast-underlay {
      description
        "The underlay information relevant multicast service.";
      leaf underlay-requirement {
        type boolean;
        description
          "If the underlay technology should be required.";
      }

      container bgp {
        description
          "The underlay technology is BGP.";
        uses underlay-bgp;
      }  // container bgp

      container ospf {
        description
          "The underlay technology is OSPF.";
        uses underlay-ospf;
      }  // container ospf

      container isis {
        description
          "The underlay technology is ISIS.";
        uses underlay-isis;
      }  // container isis

      container babel {
        description
          "The underlay technology is Babel.";
        uses underlay-babel;
      }  // container babel

      container pim {
        description
          "The underlay technology is PIM.";
        uses underlay-pim;
      }  // container pim
    }  // grouping multicast-underlay

    container multicast-information {
      description
        "The model of multicast service. Include overlay, transport and underlay.";
      list multicast-info {
        key "vpn-id source-address source-wildcard group-address group-wildcard vni-type vni-value";
        description
          "The detail multicast information.";
        uses multicast-feature;

        container multicast-overlay {
          description
            "The overlay information of multicast service.";
          uses multicast-overlay;
        }  // container multicast-overlay

        container multicast-transport {
          description
            "The transportion of multicast service.";
          uses multicast-transport;
        }  // container multicast-transport

        container multicast-underlay {
          description
            "The underlay of multicast service.";
          uses multicast-underlay;
        }  // container multicast-underlay
      }  // list multicast-info
    }  // container multicast-information
  }  // module ietf-multicast-information

Summary

  
  
Organization IETF MBONED( MBONE Deployment ) Working Group
  
Module ietf-multicast-information
Version 2017-08-20
File ietf-multicast-information@2017-08-20.yang
  
Prefix multicast-info
Namespace urn:ietf:params:xml:ns:yang:ietf-multicast-information
  
Cooked /cookedmodules/ietf-multicast-information/2017-08-20
YANG /src/ietf-multicast-information@2017-08-20.yang
XSD /xsd/ietf-multicast-information@2017-08-20.xsd
  
Abstract This module contains a collection of YANG definitions for managing multicast information.
  
Contact
WG List:  <mailto:bier@ietf.org>
WG Chair: Greg Shepherd
	  <mailto:gjshep@gmail.com>
WG Chair: Leonard Giuliano
	  <mailto:lenny@juniper.net>

Editor:   Zheng Zhang
	  <mailto:zhang.zheng@zte.com.cn>
Editor:   Cui Wang
	  <mailto:wang.cui1@zte.com.cn>
Editor:   Ying Cheng
	  <mailto:chengying10@chinaunicom.cn>

Description

 
This module contains a collection of YANG definitions for
managing multicast information.

Typedefs

Typedef Base type Abstract
bfr-id uint16 The BFR id of nodes.
bit-string uint16 The bit mask of one bitstring.
si uint16 The type for set identifier
sub-domain-id uint16 The type for sub-domain-id
virtual-type enumeration The collection of virtual network type.

Groupings

Grouping Objects Abstract
bier-node sub-domain ingress-node egress-nodes The BIER information of multicast nodes.
cisco-multicast p-group The Cisco MDT multicast information in RFC6037.
general-multicast source-address source-wildcard group-address group-wildcard The general multicast address information.
ip-node ingress-node egress-nodes The IP information of multicast nodes.
m-addr vpn-id source-address source-wildcard group-address group-wildcard The vpn multicast information.
mldp-tunnel-feature mldp-tunnel-id mldp-frr mldp-backup-tunnel The tunnel feature.
multicast-feature vpn-id source-address source-wildcard group-address group-wildcardvni-type vni-value This group describe the different multicast information in various deployments.
multicast-nvo3 vni-type vni-value The nvo3 multicast information.
multicast-overlay nodes-information bier-information overlay-technology The node information that connect the ingress multicast flow, and the nodes information that connect the egress multicast flow.
multicast-transport bier bier-te cisco-mode mpls pim The transport information of multicast service.
multicast-underlay underlay-requirement bgp ospf isis babel pim The underlay information relevant multicast service.
overlay-tech overlay-tech-type The possible overlay technologies for multicast service.
p2mp-te-tunnel-feature te-tunnel-id te-frr te-backup-tunnel The tunnel feature.
transport-bier sub-domain encap-type bitstringlength set-identifier ecmp frr The BIER transport information.
transport-bier-te sub-domain encap-type bitstringlength set-identifier ecmp frr The BIER-TE transport information.
transport-cisco-mode p-groupgraceful-restart bfd The transport information of Cisco mode, RFC6037.
transport-mpls mpls-tunnel-type The mpls transportion information.
transport-pim graceful-restart bfd The requirement information of pim transportion.
underlay-babel Underlay information of Babel.
underlay-bgp Underlay information of BGP.
underlay-isis topology-id Underlay information of ISIS.
underlay-ospf topology-id Underlay information of OSPF.
underlay-pim Underlay information of PIM.

Objects

Type Key
Mandatory config
Optional config
Not config
Object Type Abstract
multicast-information container The model of multicast service. Include overlay, transport and underlay.
   multicast-info list The detail multicast information.
      group-address leaf The address of multicast group.
      group-wildcard leaf The wildcard information of group.
      multicast-overlay container The overlay information of multicast service.
         bier-information container The ingress and egress BIER nodes information.
            egress-nodes list This ID information of one adjacency.
               egress-node leaf The egress multicast nodes of multicast flow. This is the BFR-id of egress nodes.
            ingress-node leaf The ingress node of multicast flow. This is the BFR-id of ingress nodes.
            sub-domain leaf The sub-domain that this multicast flow belongs to.
         nodes-information container The ingress and egress nodes information.
            egress-nodes list This ID information of one adjacency.
               egress-node leaf The egress multicast nodes of multicast flow. Or the egress node of MVPN and BIER. In MVPN, this is the address of egress PE; in BIER, this is the BFR-prefix of ingress nodes.
            ingress-node leaf The ingress node of multicast flow. Or the ingress node of MVPN and BIER. In MVPN, this is the address of ingress PE; in BIER, this is the BFR-prefix of ingress nodes.
         overlay-technology container The possible overlay technologies for multicast service.
            overlay-tech-type choice The collection of multicast overlay technology
               bgp case BGP technology is used for multicast overlay
               mld case MLD technology is used for multicast overlay
               mld-snooping case MLD snooping technology is used for multicast overlay
               mvpn case MVPN technology is used for multicast overlay
      multicast-transport container The transportion of multicast service.
         bier container The transport technology is BIER.
         bier-te container The transport technology is BIER-TE.
            bitstringlength leaf The bitstringlength used by BIER-TE forwarding.
            ecmp leaf The capability of ECMP.
            encap-type choice The encapsulation type in BIER-TE.
               mpls case The BIER-TE forwarding depend on mpls.
               non-mpls case The BIER-TE forwarding depend on non-mpls.
            frr leaf The capability of fast re-route.
            set-identifier leaf The set identifier used by this multicast flow, especially in BIER TE.
            sub-domain leaf The subdomain id that this multicast flow belongs to.
            bitstringlength leaf The bitstringlength used by BIER forwarding.
            ecmp leaf The capability of ECMP.
            encap-type choice The encapsulation type in BIER.
               ipv6 case The BIER forwarding depend on IPv6.
               mpls case The BIER forwarding depend on mpls.
               non-mpls case The BIER forwarding depend on non-mpls.
            frr leaf The capability of fast re-route.
            set-identifier leaf The set identifier used by this multicast flow.
            sub-domain leaf The subdomain id that this multicast flow belongs to.
         cisco-mode container The transport technology is cisco-mode.
            bfd leaf If the bfd function should be supported.
            graceful-restart leaf If the graceful restart function should be supported.
            p-group leaf The address of p-group.
         mpls container The transport technology is mpls.
            mpls-tunnel-type choice The collection types of mpls tunnels
               mldp case The mldp tunnel.
                  mldp-backup-tunnel leaf If the backup tunnel function should be supported.
                  mldp-frr leaf If the fast re-route function should be supported.
                  mldp-tunnel-id leaf The tunnel id that correspond this flow.
               p2mp-te case The p2mp te tunnel.
                  te-backup-tunnel leaf If the backup tunnel function should be supported.
                  te-frr leaf If the fast re-route function should be supported.
                  te-tunnel-id leaf The tunnel id that correspond this flow.
         pim container The transport technology is PIM.
            bfd leaf If the bfd function should be supported.
            graceful-restart leaf If the graceful restart function should be supported.
      multicast-underlay container The underlay of multicast service.
         babel container The underlay technology is Babel.
         bgp container The underlay technology is BGP.
         isis container The underlay technology is ISIS.
            topology-id leaf The topology id of isis instance.
         ospf container The underlay technology is OSPF.
            topology-id leaf The topology id of ospf instance.
         pim container The underlay technology is PIM.
         underlay-requirement leaf If the underlay technology should be required.
      source-address leaf The address of multicast source. The value set to zero means that the receiver interests in all source that relevant to one group.
      source-wildcard leaf The wildcard information of source.
      vni-type leaf The type of virtual network identifier. Include the Vxlan NVGRE and Geneve.
      vni-value leaf The value of Vxlan network identifier, virtual subnet ID or virtual net identifier.
      vpn-id leaf The vpn-id of the multicast flow. If there is global instance, the vpnid value should be zero.