A YANG Data Model for Microwave Topology
RFC 9656
Scott Mansfield, Ed.
Ericsson Inc
Jonas Ahlberg
Ericsson AB
Min Ye
Huawei Technologies
Xi Li
NEC Laboratories Europe
Daniela Spreafico
Nokia - IT
2024-09
RTG
ccamp
microwave
topology
This document defines a YANG data model to describe microwave and millimeter-wave radio links in a network topology.
Status of This Memo
This is an Internet Standards Track document.
This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 7841.
Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at https://www.rfc-editor.org/info/rfc9656.
Copyright Notice
Copyright (c) 2024 IETF Trust and the persons identified as the document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.
Table of Contents
- 1. Introduction
  - 1.1. Abbreviations
  - 1.2. Tree Structure
  - 1.3. Prefixes in Data Node Names
- 2. Microwave Topology YANG Data Model
  - 2.1. YANG Tree
  - 2.2. Relationship between Radio Links and Carriers
  - 2.3. Relationship with Client Topology Model
  - 2.4. Applicability of the Data Model for Traffic Engineering (TE) Topologies
  - 2.5. Microwave Topology YANG Module
- 3. Security Considerations
- 4. IANA Considerations
- 5. References
  - 5.1. Normative References
  - 5.2. Informative References
- Appendix A. Microwave Topology Model with Base Topology Models
  - A.1. Instance Data for 2+0 Mode for a Bonded Configuration
  - A.2. Instance Data for 1+1 Mode for a Protected Configuration
- Appendix B. Microwave Topology Model with Example Extensions
  - B.1. Instance Data for 2+0 Mode
  - B.2. Instance Data for Geolocation Information
- Acknowledgments
- Contributors
- Authors' Addresses
Introduction
This document defines a YANG data model to describe microwave and millimeter-wave radio links in a network topology (hereafter, "microwave" is used to simplify the text). The YANG data model describes radio links, supporting carrier(s), and the associated carrier termination points [RFC8561]. A carrier is a single link providing transport capacity over the air. It is typically defined by its transmitting and receiving frequencies. A radio link provides the transport capacity of the supporting carriers in aggregated and/or protected configurations, which can be used to carry traffic on higher topology layers such as Ethernet and Time-Division Multiplexing (TDM). The model augments the YANG Data Model for Traffic Engineering (TE) Topologies defined in [RFC8795], which is based on A YANG Data Model for Network Topologies defined in [RFC8345].
The microwave point-to-point radio technology provides connectivity on Layer 0 or Layer 1 (L0/L1) over a radio link between two termination points using one or several supporting carriers in aggregated or protected configurations. That application of microwave technology cannot be used to perform cross-connection or switching of the traffic to create network connectivity across multiple microwave radio links. Instead, a payload of traffic on higher topology layers, normally Layer 2 (L2) Ethernet, is carried over the microwave radio link. When the microwave radio link is terminated at the endpoints, cross-connection and switching can be performed on that higher layer creating connectivity across multiple supporting microwave radio links.
The microwave topology model is expected to be used between a Provisioning Network Controller (PNC) and a Multi-Domain Service Coordinator (MDSC) [RFC8453]. Examples of use cases that can be supported are:
1. Correlation between microwave radio links and the supported links on higher topology layers (e.g., an L2 Ethernet topology). This information can be used to understand how changes in the performance/status of a microwave radio link affect traffic on higher layers.
2. Propagation of relevant characteristics of a microwave radio link, such as bandwidth, to higher topology layers, where it could be used as a criterion when configuring and optimizing a path for a connection or service through the network end to end.
3. Optimization of the microwave radio link configurations on a network level, with the purpose to minimize overall interference and/or maximize the overall capacity provided by the links.
Abbreviations
The following abbreviations are used in this document:
CTP:
Carrier Termination Point
RLT:
Radio Link Terminal
RLTP:
Radio Link Termination Point
Tree Structure
A simplified graphical representation of the data model is used in Section 2 of this document. The meaning of the symbols in these diagrams is defined in [RFC8340].
Prefixes in Data Node Names
In this document, names of data nodes and other data model objects are prefixed using the standard prefix associated with the corresponding YANG imported modules, as shown in Table 1.
Prefixes for Imported YANG Modules
Prefix | YANG Module | Reference
nw | ietf-network | [RFC8345]
nt | ietf-network-topology | [RFC8345]
mw-types | ietf-microwave-types | [RFC8561]
tet | ietf-te-topology | [RFC8795]
Microwave Topology YANG Data Model
YANG Tree
Microwave Topology Tree

  module: ietf-microwave-topology

    augment /nw:networks/nw:network/nw:network-types/tet:te-topology:
      +--rw mw-topology!
    augment /nw:networks/nw:network/nw:node/tet:te
              /tet:te-node-attributes:
      +--rw mw-node!
    augment /nw:networks/nw:network/nw:node/nt:termination-point
              /tet:te:
      +--rw mw-tp!
         +--rw (mw-tp-option)?
            +--:(microwave-rltp)
            |  +--rw microwave-rltp!
            +--:(microwave-ctp)
               +--rw microwave-ctp!
    augment /nw:networks/nw:network/nt:link/tet:te
              /tet:te-link-attributes:
      +--rw mw-link!
         +--rw (mw-link-option)
            +--:(microwave-radio-link)
            |  +--rw microwave-radio-link!
            |     +--rw rlt-mode
            |        +--rw num-bonded-carriers        uint32
            |        +--rw num-protecting-carriers    uint32
            +--:(microwave-carrier)
               +--rw microwave-carrier!
                  +--rw tx-frequency?               uint32
                  +--ro actual-rx-frequency?        uint32
                  +--rw channel-separation?         uint32
                  +--ro actual-tx-cm?               identityref
                  +--ro actual-snir?                decimal64
                  +--ro actual-transmitted-level?   decimal64
    augment /nw:networks/nw:network/nt:link/tet:te
              /tet:te-link-attributes/tet:max-link-bandwidth
              /tet:te-bandwidth:
      +--ro mw-bandwidth?   uint64

Relationship between Radio Links and Carriers
A microwave radio link is always an aggregate of one or multiple carriers in various configurations or modes. The supporting carriers are identified by their termination points and are listed in the container-bundled links as part of the te-link-config in the YANG Data Model for Traffic Engineering (TE) Topologies [RFC8795] for a radio-link. The exact configuration of the included carriers is further specified in the rlt-mode container (1+0, 2+0, 1+1, etc.) for the radio-link. Appendix A includes JSON examples of how such a relationship can be modeled.
Relationship with Client Topology Model
A microwave radio link carries a payload of traffic on higher topology layers, normally L2 Ethernet. The leafs supporting-network, supporting-node, supporting-link, and supporting-termination-point in the generic YANG module for Network Topologies [RFC8345] are expected to be used to model a relationship or dependency from higher topology layers to a supporting microwave radio link topology layer. Appendix A includes JSON examples of an L2 Ethernet link transported over one supporting microwave link.
Applicability of the Data Model for Traffic Engineering (TE) Topologies
Since microwave is a point-to-point radio technology, a majority of the leafs in the Data Model for Traffic Engineering (TE) Topologies [RFC8795] augmented by the microwave topology model are not applicable. Examples of which leafs are considered applicable can be found in Appendices A and B in this document.
In the more specific context of the microwave-specific augmentations of te-topology, the admin-status, and oper-status leafs (from te-topology) are only applicable to microwave carriers (in the mw-link tree); they are not applicable to microwave radio links. Radio links are instead enabled or disabled in the constituent carriers. Furthermore, the status leafs related to mw-tp can be used with inter-domain links and when the status of only one side of the link is known. However, since microwave is a point-to-point technology where both ends normally belong to the same domain, it is not expected to be applicable in normal cases.
Microwave Topology YANG Module
This module imports typedefs and modules from [RFC8345], [RFC8561], and [RFC8795]. It references [EN301129] and [EN302217-1].

module ietf-microwave-topology {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-microwave-topology";
  prefix mwt;

  import ietf-network {
    prefix nw;
    reference
      "RFC 8345: A YANG Data Model for Network Topologies";
  }
  import ietf-network-topology {
    prefix nt;
    reference
      "RFC 8345: A YANG Data Model for Network Topologies";
  }
  import ietf-te-topology {
    prefix tet;
    reference
      "RFC 8795: YANG Data Model for Traffic Engineering
       (TE) Topologies";
  }
  import ietf-microwave-types {
    prefix mw-types;
    reference
      "RFC 8561: A YANG Data Model for Microwave Radio Link";
  }

  organization
    "Internet Engineering Task Force (IETF) CCAMP WG";
  contact
    "WG Web: <https://datatracker.ietf.org/wg/ccamp/>
     WG List: <ccamp@ietf.org>

      Editor: Jonas Ahlberg
              <jonas.ahlberg@ericsson.com>
      Editor: Scott Mansfield
              <scott.mansfield@ericsson.com>
      Editor: Min Ye
              <amy.yemin@huawei.com>
      Editor: Italo Busi
              <Italo.Busi@huawei.com>
      Editor: Xi Li
              <Xi.Li@neclab.eu>
      Editor: Daniela Spreafico
              <daniela.spreafico@nokia.com>
    ";
  description
    "This is a module for microwave topology.

     Copyright (c) 2024 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 Revised BSD License
     set forth in Section 4.c of the IETF Trust's Legal Provisions
     Relating to IETF Documents
     (https://trustee.ietf.org/license-info).

     This version of this YANG module is part of RFC 9656; see
     the RFC itself for full legal notices.";

  revision 2024-09-30 {
    description
      "Initial revision.";
    reference
      "RFC 9656: A YANG Data Model for Microwave Topology";
  }

  grouping rlt-mode {
    description
      "This grouping provides a flexible definition of the number
       of bonded carriers and protecting carriers of a radio
       link.";
    leaf num-bonded-carriers {
      type uint32;
      mandatory true;
      description
        "Number of bonded carriers.";
    }
    leaf num-protecting-carriers {
      type uint32;
      mandatory true;
      description
        "Number of protecting carriers.";
    }
  }

  grouping microwave-radio-link-attributes {
    description
      "Grouping used for attributes describing a microwave
       radio link.";
    container rlt-mode {
      description
        "This grouping provides a flexible definition of the number
         of bonded carriers and protecting carriers of a radio
         link.";
      uses rlt-mode;
    }
  }

  grouping microwave-carrier-attributes {
    description
      "Grouping used for attributes describing a microwave
       carrier.";
    leaf tx-frequency {
      type uint32;
      units "kHz";
      description
        "Selected transmitter frequency.
         Related to the data node tx-frequency in RFC 8561.";
      reference
        "RFC 8561: A YANG Data Model for Microwave Radio Link";
    }
    leaf actual-rx-frequency {
      type uint32;
      units "kHz";
      config false;
      description
        "Computed receiver frequency.
         Related to the data node actual-rx-frequency in RFC 8561.";
      reference
        "RFC 8561: A YANG Data Model for Microwave Radio Link";
    }
    leaf channel-separation {
      type uint32;
      units "kHz";
      description
        "The amount of bandwidth allocated to a carrier.  The
         distance between adjacent channels in a radio
         frequency channel arrangement.
         Related to the data node channel-separation in RFC 8561.";
      reference
        "ETSI EN 302 217-1 and
         RFC 8561: A YANG Data Model for Microwave Radio Link";
    }
    leaf actual-tx-cm {
      type identityref {
        base mw-types:coding-modulation;
      }
      config false;
      description
        "Actual coding/modulation in transmitting direction.
         Related to the data node actual-tx-cm in RFC 8561.";
      reference
        "RFC 8561: A YANG Data Model for Microwave Radio Link";
    }
    leaf actual-snir {
      type decimal64 {
        fraction-digits 1;
      }
      units "dB";
      config false;
      description
        "Actual signal-to-noise plus the interference ratio
         (0.1 dB resolution).
         Related to the data node actual-snir in RFC 8561.";
      reference
        "RFC 8561: A YANG Data Model for Microwave Radio Link";
    }
    leaf actual-transmitted-level {
      type decimal64 {
        fraction-digits 1;
      }
      units "dBm";
      config false;
      description
        "Actual transmitted power level (0.1 dBm resolution).
         Related to the data node actual-transmitted-level
         in RFC 8561.";
      reference
        "ETSI EN 301 129 and
         RFC 8561: A YANG Data Model for Microwave Radio Link";
    }
  }

  grouping microwave-bandwidth {
    description
      "Grouping used for microwave bandwidth.";
    leaf mw-bandwidth {
      type uint64;
      units "bits/seconds";
      config false;
      description
        "Nominal microwave radio link and carrier bandwidth.";
    }
  }

  augment "/nw:networks/nw:network/nw:network-types/"
        + "tet:te-topology" {
    description
      "Augment network types to define a microwave network
       topology type.";
    container mw-topology {
      presence "Indicates a topology type of microwave.";
      description
        "Microwave topology type";
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te"
        + "/tet:te-node-attributes" {
    when '../../../nw:network-types'
       + '/tet:te-topology/mwt:mw-topology' {
      description
        "Augmentation parameters apply only to networks with a
         microwave network topology type.";
    }
    description
      "Augment network node to indicate a microwave node.";
    container mw-node {
      presence "Indicates a microwave node.";
      description
        "Microwave node";
    }
  }

  augment "/nw:networks/nw:network/nw:node/nt:termination-point/"
        + "tet:te" {
    when '../../../nw:network-types/tet:te-topology/'
       + 'mwt:mw-topology' {
      description
        "Augmentation parameters apply only for networks with a
         microwave network topology type.";
    }
    description
      "Augmentation to add microwave-technology-specific
       characteristics to a termination point.";
    container mw-tp {
      presence "Denotes a microwave termination point.";
      description
        "Specification of type of termination point.";
      choice mw-tp-option {
        description
          "Selection of type of termination point.";
        case microwave-rltp {
          container microwave-rltp {
            presence
              "Denotes a microwave radio link termination point.
               It corresponds to a microwave RLT interface as
               defined in RFC 8561.";
            description
              "Denotes and describes a microwave radio link
               termination point.";
            reference
              "RFC 8561: A YANG Data Model for Microwave Radio Link";
          }
        }
        case microwave-ctp {
          container microwave-ctp {
            presence "Denotes a microwave carrier termination point.
                      It corresponds to a microwave CT interface as
                      defined in RFC 8561.";
            description
              "Denotes and describes a microwave carrier
               termination point.";
            reference
              "RFC 8561: A YANG Data Model for Microwave Radio Link";
          }
        }
      }
    }
  }

  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:te-link-attributes" {
    when '../../../nw:network-types/tet:te-topology/'
       + 'mwt:mw-topology' {
      description
        "Augmentation parameters apply only for networks with a
         microwave network topology type.";
    }
    description
      "Augmentation to add microwave-technology-specific
       characteristics to a link.";
    container mw-link {
      presence "This indicates a microwave link";
      description
        "Specification of type of link.";
      choice mw-link-option {
        mandatory true;
        description
          "Selection of type of link.";
        case microwave-radio-link {
          container microwave-radio-link {
            presence "Denotes a microwave radio link";
            description
              "Denotes and describes a microwave radio link.";
            uses microwave-radio-link-attributes;
          }
        }
        case microwave-carrier {
          container microwave-carrier {
            presence "Denotes a microwave carrier";
            description
              "Denotes and describes a microwave carrier.";
            uses microwave-carrier-attributes;
          }
        }
      }
    }
  }

  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:te-link-attributes/"
        + "tet:max-link-bandwidth/"
        + "tet:te-bandwidth" {
    when '../../../../../nw:network-types/tet:te-topology/'
       + 'mwt:mw-topology' {
      description
        "Augmentation parameters apply only for networks with a
         microwave network topology type.";
    }
    description
      "Augmentation for TE bandwidth.";
    uses microwave-bandwidth;
  }
}

Security Considerations
The YANG module specified in this document defines schemas for data that is designed to be accessed via network management protocols such as NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF layer is the secure transport layer, and the mandatory-to-implement secure transport is Secure Shell (SSH) [RFC6242]. The lowest RESTCONF layer is HTTPS, and the mandatory-to-implement secure transport is TLS [RFC8446].
The NETCONF access control model [RFC8341] provides the means to restrict access for particular NETCONF or RESTCONF users to a preconfigured subset of all available NETCONF or RESTCONF protocol operations and content.
The YANG module specified in this document imports and augments the ietf-network and ietf-network-topology models defined in [RFC8345]. The security considerations from [RFC8345] are applicable to the module in this document.
There are a number of data nodes defined in this YANG module that are writable/creatable/deletable (i.e., config true, which is the default). These data nodes can be considered sensitive or vulnerable in some network environments. Write operations (e.g., edit-config) to these data nodes without proper protection can have a negative effect on network operations. These are the subtrees and data nodes and their sensitivity/vulnerability:
- rlt-mode: A malicious client could attempt to modify the mode in which the radio link is configured and, thereby, change the intended behavior of the link.
- tx-frequency and channel-separation: A malicious client could attempt to modify the frequency configuration of a carrier, which could modify the intended behavior or make the configuration invalid and, thereby, stop the operation of it.
IANA Considerations
IANA has assigned a new URI from the "IETF XML Registry" [RFC3688] as follows:
URI:
urn:ietf:params:xml:ns:yang:ietf-microwave-topology
Registrant Contact:
The IESG
XML:
N/A; the requested URI is an XML namespace.
IANA has recorded the YANG module names in the "YANG Module Names" registry [RFC6020] as follows:
Name:
ietf-microwave-topology
Maintained by IANA?:
N
Namespace:
urn:ietf:params:xml:ns:yang:ietf-microwave-topology
Prefix:
mwt
Reference:
RFC 9656
References
Normative References
[RFC3688]

The IETF XML Registry
M. Mealling
January 2004
BCP 81
RFC 3688
DOI 10.17487/RFC3688
[RFC6020]

YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)
M. Bjorklund, Ed.
October 2010
RFC 6020
DOI 10.17487/RFC6020
[RFC6241]

Network Configuration Protocol (NETCONF)
R. Enns, Ed.
M. Bjorklund, Ed.
J. Schoenwaelder, Ed.
A. Bierman, Ed.
June 2011
RFC 6241
DOI 10.17487/RFC6241
[RFC6242]

Using the NETCONF Protocol over Secure Shell (SSH)
M. Wasserman
June 2011
RFC 6242
DOI 10.17487/RFC6242
[RFC8040]

RESTCONF Protocol
A. Bierman
M. Bjorklund
K. Watsen
January 2017
RFC 8040
DOI 10.17487/RFC8040
[RFC8341]

Network Configuration Access Control Model
A. Bierman
M. Bjorklund
March 2018
STD 91
RFC 8341
DOI 10.17487/RFC8341
[RFC8345]

A YANG Data Model for Network Topologies
A. Clemm
J. Medved
R. Varga
N. Bahadur
H. Ananthakrishnan
X. Liu
March 2018
RFC 8345
DOI 10.17487/RFC8345
[RFC8446]

The Transport Layer Security (TLS) Protocol Version 1.3
E. Rescorla
August 2018
RFC 8446
DOI 10.17487/RFC8446
[RFC8561]

A YANG Data Model for Microwave Radio Link
J. Ahlberg
M. Ye
X. Li
D. Spreafico
M. Vaupotic
June 2019
RFC 8561
DOI 10.17487/RFC8561
[RFC8795]

YANG Data Model for Traffic Engineering (TE) Topologies
X. Liu
I. Bryskin
V. Beeram
T. Saad
H. Shah
O. Gonzalez de Dios
August 2020
RFC 8795
DOI 10.17487/RFC8795
Informative References
[EN301129]

Transmission and Multiplexing (TM); Digital Radio Relay Systems (DRRS); Synchronous Digital Hierarchy (SDH); System performance monitoring parameters of SDH DRRS
ETSI
May 1999
EN 301 129 V1.1.2
[EN302217-1]

Fixed Radio Systems; Characteristics and requirements for point-to-point equipment and antennas; Part 1: Overview, common characteristics and system-dependent requirements
ETSI
May 2017
EN 302 217-1 V3.1.1
[RFC8340]

YANG Tree Diagrams
M. Bjorklund
L. Berger, Ed.
March 2018
BCP 215
RFC 8340
DOI 10.17487/RFC8340
[RFC8453]

Framework for Abstraction and Control of TE Networks (ACTN)
D. Ceccarelli, Ed.
Y. Lee, Ed.
August 2018
RFC 8453
DOI 10.17487/RFC8453
[RFC8792]

Handling Long Lines in Content of Internet-Drafts and RFCs
K. Watsen
E. Auerswald
A. Farrel
Q. Wu
June 2020
RFC 8792
DOI 10.17487/RFC8792
[RFC8944]

A YANG Data Model for Layer 2 Network Topologies
J. Dong
X. Wei
Q. Wu
M. Boucadair
A. Liu
November 2020
RFC 8944
DOI 10.17487/RFC8944
[I-D.ietf-ccamp-bwa-topo-yang]

A YANG Data Model for Bandwidth Availability Topology
Jonas Ahlberg
Ericsson AB
Scott Mansfield
Ericsson Inc
Min Ye
Huawei Technologies
Italo Busi
Huawei Technologies
Xi Li
NEC Laboratories Europe
Daniela Spreafico
Nokia - IT
18 October 2023
Internet-Draft draft-ietf-ccamp-bwa-topo-yang-01
Work in Progress
[I-D.ietf-ccamp-if-ref-topo-yang]

A YANG Data Model for Interface Reference Topology
Jonas Ahlberg
Ericsson AB
Scott Mansfield
Ericsson Inc
Min Ye
Huawei Technologies
Italo Busi
Huawei Technologies
Xi Li
NEC Laboratories Europe
Daniela Spreafico
Nokia - IT
18 October 2023
Internet-Draft draft-ietf-ccamp-if-ref-topo-yang-01
Work in Progress
Microwave Topology Model with Base Topology Models
The tree below shows an example of the relevant leafs for a complete Microwave Topology Model including the augmented Network Topology Model defined in [RFC8345] and the Traffic Engineering (TE) Topologies model defined in [RFC8795]. There are also JSON-based instantiations of the Microwave Topology Model for a couple of small network examples.
Microwave Topology with Augmentations Tree

module: ietf-network
  +--rw networks
     +--rw network* [network-id]
     |  +--rw network-id                    network-id
     |  +--rw network-types
     |  |  +--rw tet:te-topology!
     |  |     +--rw mwt:mw-topology!
     |  +--rw supporting-network* [network-ref]
     |  |  +--rw network-ref    -> /networks/network/network-id
     |  +--rw node* [node-id]
     |  |  +--rw node-id                 node-id
     |  |  +--rw supporting-node* [network-ref node-ref]
     |  |  |  +--rw network-ref
     |  |  |  |       -> ../../../supporting-network/network-ref
     |  |  |  +--rw node-ref       -> /networks/network/node/node-id
     |  |  +--rw nt:termination-point* [tp-id]
     |  |  |  +--rw nt:tp-id                           tp-id
     |  |  |  +--rw nt:supporting-termination-point*
     |  |  |  |       [network-ref node-ref tp-ref]
     |  |  |  |  +--rw nt:network-ref
     |  |  |  |  |       -> ../../../nw:supporting-node/network-ref
     |  |  |  |  +--rw nt:node-ref
     |  |  |  |  |       -> ../../../nw:supporting-node/node-ref
     |  |  |  |  +--rw nt:tp-ref         leafref
     |  |  |  +--rw tet:te-tp-id?
     |  |  |  |       te-types:te-tp-id
     |  |  |  +--rw tet:te!
     |  |  |     +--rw tet:name?                             string
     |  |  |     +--ro tet:geolocation
     |  |  |     |  +--ro tet:altitude?    int64
     |  |  |     |  +--ro tet:latitude?
     |  |  |     |  |       geographic-coordinate-degree
     |  |  |     |  +--ro tet:longitude?
     |  |  |     |          geographic-coordinate-degree
     |  |  |     +--rw mwt:mw-tp!
     |  |  |        +--rw (mwt:mw-tp-option)?
     |  |  |           +--:(mwt:microwave-rltp)
     |  |  |           |  +--rw mwt:microwave-rltp!
     |  |  |           +--:(mwt:microwave-ctp)
     |  |  |              +--rw mwt:microwave-ctp!
     |  |  +--rw tet:te-node-id?         te-types:te-node-id
     |  +--rw nt:link* [link-id]
     |  |  +--rw nt:link-id            link-id
     |  |  +--rw nt:source
     |  |  |  +--rw nt:source-node?   -> ../../../nw:node/node-id
     |  |  |  +--rw nt:source-tp?     leafref
     |  |  +--rw nt:destination
     |  |  |  +--rw nt:dest-node?   -> ../../../nw:node/node-id
     |  |  |  +--rw nt:dest-tp?     leafref
     |  |  +--rw nt:supporting-link* [network-ref link-ref]
     |  |  |  +--rw nt:network-ref
     |  |  |  |       -> ../../../nw:supporting-network/network-ref
     |  |  |  +--rw nt:link-ref       leafref
     |  |  +--rw tet:te!
     |  |     +--rw (tet:bundle-stack-level)?
     |  |     |  +--:(tet:bundle)
     |  |     |  |  +--rw tet:bundled-links
     |  |     |  |     +--rw tet:bundled-link* [sequence]
     |  |     |  |        +--rw tet:sequence      uint32
     |  |     |  |        +--rw tet:src-tp-ref?   leafref
     |  |     |  |        +--rw tet:des-tp-ref?   leafref
     |  |     +--rw tet:te-link-attributes
     |  |     |  +--rw tet:name?                             string
     |  |     |  +--rw tet:max-link-bandwidth
     |  |     |  |  +--rw tet:te-bandwidth
     |  |     |  |     +--ro mwt:mw-bandwidth?    uint64
     |  |     |  +--rw mwt:mw-link!
     |  |     |     +--rw (mwt:mw-link-option)
     |  |     |        +--:(mwt:microwave-radio-link)
     |  |     |        |  +--rw mwt:microwave-radio-link!
     |  |     |        |     +--rw mwt:rlt-mode
     |  |     |        |        +--rw mwt:num-bonded-carriers
     |  |     |        |        |       uint32
     |  |     |        |        +--rw mwt:num-protecting-carriers
     |  |     |        |                uint32
     |  |     |        +--:(mwt:microwave-carrier)
     |  |     |           +--rw mwt:microwave-carrier!
     |  |     |              +--rw mwt:tx-frequency?
     |  |     |              |       uint32
     |  |     |              +--ro mwt:actual-rx-frequency?
     |  |     |              |       uint32
     |  |     |              +--rw mwt:channel-separation?
     |  |     |              |       uint32
     |  |     |              +--ro mwt:actual-tx-cm?
     |  |     |              |       identityref
     |  |     |              +--ro mwt:actual-snir?
     |  |     |              |       decimal64
     |  |     |              +--ro mwt:actual-transmitted-level?
     |  |     |                      decimal64

The Microwave Topology Model augments the TE Topology Model.
Example for L2 over Microwave

Node N1

Node N2

L2-network

L2-N1-TP1

L2-N1-N2

L2-N2-TP2

-L2 topology
                '

Supporting
                :
                '
                :

' mw link
                :
                '
                :

: TPs
                '

mw-N1-

mwrl-N1-N2

mw-N2-

MW-network

RLTP1

RLTP2

-MW topology
                : :
                : :
                ::
                ::

Supporting
                :
                :

: TPs

mw-N1- :

: mw-N2-

carriers

CTP1
                :

: CTP2

as bundled
                :

mwc-N1-N2-A
                :

links
                :
                :

mw-N1-CTP3

mw-N2-CTP4

mwc-N1-N2-B

     Node N1                            Node N2
+--------------+                   +--------------+
| +----------+ |                   | +----------+ | L2-network
| |L2-N1-TP1 | |     L2-N1-N2      | |L2-N2-TP2 | | -L2 topology
| |          o<--------------------->o          | |
| +----------+ |         '         | +----------+ | Supporting
|          :   |         '         |   :          | ' mw link
|          :   |         '         |   :          | : TPs
| +----------+ |         '         | +----------+ |
| |mw-N1-    | |    mwrl-N1-N2     | | mw-N2-   | | MW-network
| |RLTP1     o<----------*---------->o RLTP2    | | -MW topology
| +----------+ |        / \        | +----------+ |
|         : :  |       /   \       |  : :         |
|         ::   |      /     \      |   ::         | Supporting
| +-------:--+ |     /       \     | +--:-------+ | : TPs
| |mw-N1- :  *---+--'         '--+---*  : mw-N2-| | * carriers
| |CTP1   :  o<--|---------------|-->o  : CTP2  | |   as bundled
| +-------:--+ | |  mwc-N1-N2-A  | | +--:-------+ |   links
|           :  | |               | |  :           |
| +----------+ | |               | | +----------+ |
| |mw-N1-CTP3*---'               '---*mw-N2-CTP4| |
| |          o<--------------------->o          | |
| +----------+ |    mwc-N1-N2-B    | +----------+ |
+--------------+                   +--------------+

Instance Data for 2+0 Mode for a Bonded Configuration
An L2 network with a supporting microwave network, showing a 2+0 microwave configuration is provided below. The num-bonded-carriers = 2, and the num-protecting-carriers = 0. This means both carriers are active, so there is no redundancy and there is more capacity. The JSON encoding of the 2+0 example data follows:

{
  "ietf-network:networks": {
    "network": [
      {
        "network-id": "L2-network",
        "network-types": {
          "ietf-te-topology:te-topology": {}
        },
        "supporting-network": [
          {
            "network-ref": "mw-network"
          }
        ],
        "node": [
          {
            "node-id": "L2-N1",
            "supporting-node": [
              {
                "network-ref": "mw-network",
                "node-ref": "mw-N1"
              }
            ],
            "ietf-network-topology:termination-point": [
              {
                "tp-id": "L2-N1-TP1",
                "supporting-termination-point": [
                  {
                    "network-ref": "mw-network",
                    "node-ref": "mw-N1",
                    "tp-ref": "mw-N1-RLTP1"
                  }
                ]
              }
            ]
          },
          {
            "node-id": "L2-N2",
            "supporting-node": [
              {
                "network-ref": "mw-network",
                "node-ref": "mw-N2"
              }
            ],
            "ietf-network-topology:termination-point": [
              {
                "tp-id": "L2-N2-TP2",
                "supporting-termination-point": [
                  {
                    "network-ref": "mw-network",
                    "node-ref": "mw-N2",
                    "tp-ref": "mw-N2-RLTP2"
                  }
                ]
              }
            ]
          }
        ],
        "ietf-network-topology:link": [
          {
            "link-id": "L2-N1-N2",
            "source": {
              "source-node": "L2-N1",
              "source-tp": "L2-N1-TP1"
            },
            "destination": {
              "dest-node": "L2-N2",
              "dest-tp": "L2-N2-TP2"
            },
            "supporting-link": [
              {
                "network-ref": "mw-network",
                "link-ref": "mwrl-N1-N2"
              }
            ]
          }
        ]
      },
      {
        "network-id": "mw-network",
        "network-types": {
          "ietf-te-topology:te-topology": {
            "ietf-microwave-topology:mw-topology": {}
          }
        },
        "supporting-network": [
          {
            "network-ref": "mw-network"
          }
        ],
        "node": [
          {
            "node-id": "mw-N1",
            "supporting-node": [
              {
                "network-ref": "mw-network",
                "node-ref": "mw-N1"
              }
            ],
            "ietf-network-topology:termination-point": [
              {
                "tp-id": "mw-N1-RLTP1",
                "supporting-termination-point": [
                  {
                    "network-ref": "mw-network",
                    "node-ref": "mw-N1",
                    "tp-ref": "mw-N1-CTP1"
                  },
                  {
                    "network-ref": "mw-network",
                    "node-ref": "mw-N1",
                    "tp-ref": "mw-N1-CTP3"
                  }
                ],
                "ietf-te-topology:te-tp-id": "192.0.2.3",
                "ietf-te-topology:te": {
                  "ietf-microwave-topology:mw-tp": {
                    "microwave-rltp": {}
                  }
                }
              },
              {
                "tp-id": "mw-N1-CTP1",
                "ietf-te-topology:te-tp-id": 1,
                "ietf-te-topology:te": {
                  "ietf-microwave-topology:mw-tp": {
                    "microwave-ctp": {}
                  }
                }
              },
              {
                "tp-id": "mw-N1-CTP3",
                "ietf-te-topology:te-tp-id": 2,
                "ietf-te-topology:te": {
                  "ietf-microwave-topology:mw-tp": {
                    "microwave-ctp": {}
                  }
                }
              }
            ]
          },
          {
            "node-id": "mw-N2",
            "supporting-node": [
              {
                "network-ref": "mw-network",
                "node-ref": "mw-N2"
              }
            ],
            "ietf-network-topology:termination-point": [
              {
                "tp-id": "mw-N2-RLTP2",
                "supporting-termination-point": [
                  {
                    "network-ref": "mw-network",
                    "node-ref": "mw-N2",
                    "tp-ref": "mw-N2-CTP2"
                  },
                  {
                    "network-ref": "mw-network",
                    "node-ref": "mw-N2",
                    "tp-ref": "mw-N2-CTP4"
                  }
                ],
                "ietf-te-topology:te-tp-id": "192.0.2.4",
                "ietf-te-topology:te": {
                  "ietf-microwave-topology:mw-tp": {
                    "microwave-rltp": {}
                  }
                }
              },
              {
                "tp-id": "mw-N2-CTP2",
                "ietf-te-topology:te-tp-id": 1,
                "ietf-te-topology:te": {
                  "ietf-microwave-topology:mw-tp": {
                    "microwave-ctp": {}
                  }
                }
              },
              {
                "tp-id": "mw-N2-CTP4",
                "ietf-te-topology:te-tp-id": 2,
                "ietf-te-topology:te": {
                  "ietf-microwave-topology:mw-tp": {
                    "microwave-ctp": {}
                  }
                }
              }
            ]
          }
        ],
        "ietf-network-topology:link": [
          {
            "link-id": "mwrl-N1-N2",
            "source": {
              "source-node": "mw-N1",
              "source-tp": "mw-N1-RLTP1"
            },
            "destination": {
              "dest-node": "mw-N2",
              "dest-tp": "mw-N2-RLTP2"
            },
            "ietf-te-topology:te": {
              "bundled-links": {
                "bundled-link": [
                  {
                    "sequence": 1,
                    "src-tp-ref": "mw-N1-CTP1",
                    "des-tp-ref": "mw-N2-CTP2"
                  },
                  {
                    "sequence": 2,
                    "src-tp-ref": "mw-N1-CTP3",
                    "des-tp-ref": "mw-N2-CTP4"
                  }
                ]
              },
              "te-link-attributes": {
                "ietf-microwave-topology:mw-link": {
                  "microwave-radio-link": {
                    "rlt-mode": {
                      "num-bonded-carriers": 2,
                      "num-protecting-carriers": 0
                    }
                  }
                }
              }
            }
          },
          {
            "link-id": "mwc-N1-N2-A",
            "source": {
              "source-node": "mw-N1",
              "source-tp": "mw-N1-CTP1"
            },
            "destination": {
              "dest-node": "mw-N2",
              "dest-tp": "mw-N2-CTP2"
            },
            "ietf-te-topology:te": {
              "te-link-attributes": {
                "ietf-microwave-topology:mw-link": {
                  "microwave-carrier": {
                    "tx-frequency": 10728000,
                    "channel-separation": 28000
                  }
                }
              }
            }
          },
          {
            "link-id": "mwc-N1-N2-B",
            "source": {
              "source-node": "mw-N1",
              "source-tp": "mw-N1-CTP3"
            },
            "destination": {
              "dest-node": "mw-N2",
              "dest-tp": "mw-N2-CTP4"
            },
            "ietf-te-topology:te": {
              "te-link-attributes": {
                "ietf-microwave-topology:mw-link": {
                  "microwave-carrier": {
                    "tx-frequency": 10528000,
                    "channel-separation": 28000
                  }
                }
              }
            }
          }
        ]
      }
    ]
  }
}

Instance Data for 1+1 Mode for a Protected Configuration
An L2 network with a supporting microwave network, showing a 1+1 microwave configuration is provided below. The num-bonded-carriers = 1, and the num-protecting-carriers = 1. This means there is a standby carrier protecting the active carrier. The JSON encoding of the 1+1 example data follows:

{
  "ietf-network:networks": {
    "network": [
      {
        "network-id": "L2-network",
        "network-types": {
          "ietf-te-topology:te-topology": {}
        },
        "supporting-network": [
          {
            "network-ref": "mw-network"
          }
        ],
        "node": [
          {
            "node-id": "L2-N1",
            "supporting-node": [
              {
                "network-ref": "mw-network",
                "node-ref": "mw-N1"
              }
            ],
            "ietf-network-topology:termination-point": [
              {
                "tp-id": "L2-N1-TP1",
                "supporting-termination-point": [
                  {
                    "network-ref": "mw-network",
                    "node-ref": "mw-N1",
                    "tp-ref": "mw-N1-RLTP1"
                  }
                ]
              }
            ]
          },
          {
            "node-id": "L2-N2",
            "supporting-node": [
              {
                "network-ref": "mw-network",
                "node-ref": "mw-N2"
              }
            ],
            "ietf-network-topology:termination-point": [
              {
                "tp-id": "L2-N2-TP2",
                "supporting-termination-point": [
                  {
                    "network-ref": "mw-network",
                    "node-ref": "mw-N2",
                    "tp-ref": "mw-N2-RLTP2"
                  }
                ]
              }
            ]
          }
        ],
        "ietf-network-topology:link": [
          {
            "link-id": "L2-N1-N2",
            "source": {
              "source-node": "L2-N1",
              "source-tp": "L2-N1-TP1"
            },
            "destination": {
              "dest-node": "L2-N2",
              "dest-tp": "L2-N2-TP2"
            },
            "supporting-link": [
              {
                "network-ref": "mw-network",
                "link-ref": "mwrl-N1-N2"
              }
            ]
          }
        ]
      },
      {
        "network-id": "mw-network",
        "network-types": {
          "ietf-te-topology:te-topology": {
            "ietf-microwave-topology:mw-topology": {}
          }
        },
        "supporting-network": [
          {
            "network-ref": "mw-network"
          }
        ],
        "node": [
          {
            "node-id": "mw-N1",
            "supporting-node": [
              {
                "network-ref": "mw-network",
                "node-ref": "mw-N1"
              }
            ],
            "ietf-network-topology:termination-point": [
              {
                "tp-id": "mw-N1-RLTP1",
                "supporting-termination-point": [
                  {
                    "network-ref": "mw-network",
                    "node-ref": "mw-N1",
                    "tp-ref": "mw-N1-CTP1"
                  },
                  {
                    "network-ref": "mw-network",
                    "node-ref": "mw-N1",
                    "tp-ref": "mw-N1-CTP3"
                  }
                ],
                "ietf-te-topology:te-tp-id": "192.0.2.3",
                "ietf-te-topology:te": {
                  "ietf-microwave-topology:mw-tp": {
                    "microwave-rltp": {}
                  }
                }
              },
              {
                "tp-id": "mw-N1-CTP1",
                "ietf-te-topology:te-tp-id": 1,
                "ietf-te-topology:te": {
                  "ietf-microwave-topology:mw-tp": {
                    "microwave-ctp": {}
                  }
                }
              },
              {
                "tp-id": "mw-N1-CTP3",
                "ietf-te-topology:te-tp-id": 2,
                "ietf-te-topology:te": {
                  "ietf-microwave-topology:mw-tp": {
                    "microwave-ctp": {}
                  }
                }
              }
            ]
          },
          {
            "node-id": "mw-N2",
            "supporting-node": [
              {
                "network-ref": "mw-network",
                "node-ref": "mw-N2"
              }
            ],
            "ietf-network-topology:termination-point": [
              {
                "tp-id": "mw-N2-RLTP2",
                "supporting-termination-point": [
                  {
                    "network-ref": "mw-network",
                    "node-ref": "mw-N2",
                    "tp-ref": "mw-N2-CTP2"
                  },
                  {
                    "network-ref": "mw-network",
                    "node-ref": "mw-N2",
                    "tp-ref": "mw-N2-CTP4"
                  }
                ],
                "ietf-te-topology:te-tp-id": "192.0.2.4",
                "ietf-te-topology:te": {
                  "ietf-microwave-topology:mw-tp": {
                    "microwave-rltp": {}
                  }
                }
              },
              {
                "tp-id": "mw-N2-CTP2",
                "ietf-te-topology:te-tp-id": 1,
                "ietf-te-topology:te": {
                  "ietf-microwave-topology:mw-tp": {
                    "microwave-ctp": {}
                  }
                }
              },
              {
                "tp-id": "mw-N2-CTP4",
                "ietf-te-topology:te-tp-id": 2,
                "ietf-te-topology:te": {
                  "ietf-microwave-topology:mw-tp": {
                    "microwave-ctp": {}
                  }
                }
              }
            ]
          }
        ],
        "ietf-network-topology:link": [
          {
            "link-id": "mwrl-N1-N2",
            "source": {
              "source-node": "mw-N1",
              "source-tp": "mw-N1-RLTP1"
            },
            "destination": {
              "dest-node": "mw-N2",
              "dest-tp": "mw-N2-RLTP2"
            },
            "ietf-te-topology:te": {
              "bundled-links": {
                "bundled-link": [
                  {
                    "sequence": 1,
                    "src-tp-ref": "mw-N1-CTP1",
                    "des-tp-ref": "mw-N2-CTP2"
                  },
                  {
                    "sequence": 2,
                    "src-tp-ref": "mw-N1-CTP3",
                    "des-tp-ref": "mw-N2-CTP4"
                  }
                ]
              },
              "te-link-attributes": {
                "ietf-microwave-topology:mw-link": {
                  "microwave-radio-link": {
                    "rlt-mode": {
                      "num-bonded-carriers": 1,
                      "num-protecting-carriers": 1
                    }
                  }
                }
              }
            }
          },
          {
            "link-id": "mwc-N1-N2-A",
            "source": {
              "source-node": "mw-N1",
              "source-tp": "mw-N1-CTP1"
            },
            "destination": {
              "dest-node": "mw-N2",
              "dest-tp": "mw-N2-CTP2"
            },
            "ietf-te-topology:te": {
              "te-link-attributes": {
                "ietf-microwave-topology:mw-link": {
                  "microwave-carrier": {
                    "tx-frequency": 10728000,
                    "channel-separation": 28000
                  }
                }
              }
            }
          },
          {
            "link-id": "mwc-N1-N2-B",
            "source": {
              "source-node": "mw-N1",
              "source-tp": "mw-N1-CTP3"
            },
            "destination": {
              "dest-node": "mw-N2",
              "dest-tp": "mw-N2-CTP4"
            },
            "ietf-te-topology:te": {
              "te-link-attributes": {
                "ietf-microwave-topology:mw-link": {
                  "microwave-carrier": {
                    "tx-frequency": 10728000,
                    "channel-separation": 28000
                  }
                }
              }
            }
          }
        ]
      }
    ]
  }
}

Microwave Topology Model with Example Extensions
This non-normative appendix provides examples of how the Microwave Topology Model can be used with the interface reference topology (ifref) [YANG-IF-REF-TOPO] and the bandwidth-availability-topology (bwa) [YANG-BWA-TOPO] models. There is also a snippet of JSON to show geolocation information instance data. When the JSON files have long lines, the long lines are wrapped as described in [RFC8792].
The tree below shows an example of the relevant leafs for a complete Microwave Topology Model including interface reference topology (ifref) [YANG-IF-REF-TOPO] and bandwidth-availability-topology (bwa) [YANG-BWA-TOPO] models.
Microwave Topology with Extensions Tree

module: ietf-network
  +--rw networks
     +--rw network* [network-id]
     |  +--rw network-id                    network-id
     |  +--rw network-types
     |  |  +--rw tet:te-topology!
     |  |     +--rw mwt:mw-topology!
     |  +--rw supporting-network* [network-ref]
     |  |  +--rw network-ref    -> /networks/network/network-id
     |  +--rw node* [node-id]
     |  |  +--rw node-id                 node-id
     |  |  +--rw supporting-node* [network-ref node-ref]
     |  |  |  +--rw network-ref
     |  |  |  |       -> ../../../supporting-network/network-ref
     |  |  |  +--rw node-ref       -> /networks/network/node/node-id
     |  |  +--rw nt:termination-point* [tp-id]
     |  |  |  +--rw nt:tp-id                           tp-id
     |  |  |  +--rw nt:supporting-termination-point*
     |  |  |  |       [network-ref node-ref tp-ref]
     |  |  |  |  +--rw nt:network-ref
     |  |  |  |  |       -> ../../../nw:supporting-node/network-ref
     |  |  |  |  +--rw nt:node-ref
     |  |  |  |  |       -> ../../../nw:supporting-node/node-ref
     |  |  |  |  +--rw nt:tp-ref         leafref
     |  |  |  +--rw tet:te-tp-id?
     |  |  |  |       te-types:te-tp-id
     |  |  |  +--rw tet:te!
     |  |  |     +--rw tet:name?                             string
     |  |  |     +--ro tet:geolocation
     |  |  |     |  +--ro tet:altitude?    int64
     |  |  |     |  +--ro tet:latitude?
     |  |  |     |  |       geographic-coordinate-degree
     |  |  |     |  +--ro tet:longitude?
     |  |  |     |          geographic-coordinate-degree
     |  |  |     +--rw mwt:mw-tp!
     |  |  |     |  +--rw (mwt:mw-tp-option)?
     |  |  |     |     +--:(mwt:microwave-rltp)
     |  |  |     |     |  +--rw mwt:microwave-rltp!
     |  |  |     |     +--:(mwt:microwave-ctp)
     |  |  |     |        +--rw mwt:microwave-ctp!
     |  |  |     +--rw ifref:tp-to-interface-path?
     |  |  |             -> /if:interfaces/interface/name
     |  |  +--rw tet:te-node-id?         te-types:te-node-id
     |  +--rw nt:link* [link-id]
     |  |  +--rw nt:link-id            link-id
     |  |  +--rw nt:source
     |  |  |  +--rw nt:source-node?   -> ../../../nw:node/node-id
     |  |  |  +--rw nt:source-tp?     leafref
     |  |  +--rw nt:destination
     |  |  |  +--rw nt:dest-node?   -> ../../../nw:node/node-id
     |  |  |  +--rw nt:dest-tp?     leafref
     |  |  +--rw nt:supporting-link* [network-ref link-ref]
     |  |  |  +--rw nt:network-ref
     |  |  |  |       -> ../../../nw:supporting-network/network-ref
     |  |  |  +--rw nt:link-ref       leafref
     |  |  +--rw tet:te!
     |  |     +--rw (tet:bundle-stack-level)?
     |  |     |  +--:(tet:bundle)
     |  |     |  |  +--rw tet:bundled-links
     |  |     |  |     +--rw tet:bundled-link* [sequence]
     |  |     |  |        +--rw tet:sequence      uint32
     |  |     |  |        +--rw tet:src-tp-ref?   leafref
     |  |     |  |        +--rw tet:des-tp-ref?   leafref
     |  |     +--rw tet:te-link-attributes
     |  |     |  +--rw tet:name?                             string
     |  |     |  +--rw tet:max-link-bandwidth
     |  |     |  |  +--rw tet:te-bandwidth
     |  |     |  |     +--ro mwt:mw-bandwidth?    uint64
     |  |     |  +--rw mwt:mw-link!
     |  |     |  |  +--rw (mwt:mw-link-option)
     |  |     |  |     +--:(mwt:microwave-radio-link)
     |  |     |  |     |  +--rw mwt:microwave-radio-link!
     |  |     |  |     |     +--rw mwt:rlt-mode
     |  |     |  |     |        +--rw mwt:num-bonded-carriers
     |  |     |  |     |        |       uint32
     |  |     |  |     |        +--rw mwt:num-protecting-carriers
     |  |     |  |     |                uint32
     |  |     |  |     +--:(mwt:microwave-carrier)
     |  |     |  |        +--rw mwt:microwave-carrier!
     |  |     |  |           +--rw mwt:tx-frequency?
     |  |     |  |           |       uint32
     |  |     |  |           +--ro mwt:actual-rx-frequency?
     |  |     |  |           |       uint32
     |  |     |  |           +--rw mwt:channel-separation?
     |  |     |  |           |       uint32
     |  |     |  |           +--ro mwt:actual-tx-cm?
     |  |     |  |           |       identityref
     |  |     |  |           +--ro mwt:actual-snir?
     |  |     |  |           |       decimal64
     |  |     |  |           +--ro mwt:actual-transmitted-level?
     |  |     |  |                   decimal64
     |  |     |  +--rw bwatopo:link-availability* [availability]
     |  |     |  |  +--rw bwatopo:availability      decimal64
     |  |     |  |  +--rw bwatopo:link-bandwidth?   uint64
     |  |     |  +--ro bwatopo:actual-bandwidth?
     |  |     |          yang:gauge64

Microwave is a transport technology that can be used to transport client services, such as L2 Ethernet links. When an L2 link is transported over a single supporting microwave radio link, the topologies could be as shown below. Note that the figure just shows an example: there might be other possibilities to demonstrate such a topology. The example of the instantiation encoded in JSON is using only a selected subset of the leafs from the L2 topology model [RFC8944]. The example below uses Figure 3 and adds the interface-related information.
Interface Extension Example for L2 over Microwave

Node N1

Interfaces

tp-to-interface-path

L2-N1-TP1

L2Interface1

tp-to-interface-path

mw-N1-RLTP1

RLT-1

tp-to-interface-path

mw-N1-CTP1

CT-1

tp-to-interface-path

mw-N1-CTP3

CT-3

Node N2

Interfaces

tp-to-interface-path

L2-N2-TP2

L2Interface2

tp-to-interface-path

mw-N2-RLTP2

RLT-2

tp-to-interface-path

mw-N2-CTP2

CT-2

tp-to-interface-path

mw-N2-CTP4

CT-4

     Node N1                            Interfaces
+---------------+                    +----------------+
| +-----------+ |tp-to-interface-path| +------------+ |
| | L2-N1-TP1 |<---------------------->|L2Interface1| |
| +-----------+ |                    | +------------+ |
|               |                    |                |
| +-----------+ |tp-to-interface-path| +------------+ |
| |mw-N1-RLTP1|<---------------------->|   RLT-1    | |
| +-----------+ |                    | +------------+ |
|               |                    |                |
| +-----------+ |tp-to-interface-path| +------------+ |
| |mw-N1-CTP1 |<---------------------->|    CT-1    | |
| +-----------+ |                    | +------------+ |
|               |                    |                |
| +-----------+ |tp-to-interface-path| +------------+ |
| |mw-N1-CTP3 |<---------------------->|    CT-3    | |
| +-----------+ |                    | +------------+ |
+---------------+                    +----------------+

-------------------------------------------------------

     Node N2                            Interfaces
+---------------+                    +----------------+
| +-----------+ |tp-to-interface-path| +------------+ |
| | L2-N2-TP2 |<---------------------->|L2Interface2| |
| +-----------+ |                    | +------------+ |
|               |                    |                |
| +-----------+ |tp-to-interface-path| +------------+ |
| |mw-N2-RLTP2|<---------------------->|   RLT-2    | |
| +-----------+ |                    | +------------+ |
|               |                    |                |
| +-----------+ |tp-to-interface-path| +------------+ |
| |mw-N2-CTP2 |<---------------------->|    CT-2    | |
| +-----------+ |                    | +------------+ |
|               |                    |                |
| +-----------+ |tp-to-interface-path| +------------+ |
| |mw-N2-CTP4 |<---------------------->|    CT-4    | |
| +-----------+ |                    | +------------+ |
+---------------+                    +----------------+

Instance Data for 2+0 Mode
An L2 network with a supporting microwave network, including microwave-topology (mw) and bandwidth-availability-topology (bwa) models as well as the reference to the associated interface management information, is encoded in JSON as follows:

{
 "ietf-interfaces:interfaces": {
  "interface": [
   {
    "name": "L2Interface1",
    "description": "'Ethernet Interface 1'",
    "type": "iana-if-type:ethernetCsmacd"
   },
   {
    "name": "L2Interface2",
    "description": "'Ethernet Interface 2'",
    "type": "iana-if-type:ethernetCsmacd"
   },
   {
    "name": "RLT-1",
    "description": "'Radio Link Terminal 1'",
    "type": "iana-if-type:microwaveRadioLinkTerminal",
    "ietf-microwave-radio-link:mode":
      "ietf-microwave-types:two-plus-zero",
    "ietf-microwave-radio-link:carrier-terminations": [
     "CT-1",
     "CT-3"
    ]
   },
   {
    "name": "RLT-2",
    "description": "'Radio Link Terminal 2'",
    "type": "iana-if-type:microwaveRadioLinkTerminal",
    "ietf-microwave-radio-link:mode":
       "ietf-microwave-types:two-plus-zero",
    "ietf-microwave-radio-link:carrier-terminations": [
     "CT-2",
     "CT-4"
    ]
   },
   {
    "name": "CT-1",
    "description": "'Carrier Termination 1'",
    "type": "iana-if-type:microwaveCarrierTermination",
    "ietf-microwave-radio-link:tx-frequency": 10728000,
    "ietf-microwave-radio-link:duplex-distance": 113000,
    "ietf-microwave-radio-link:channel-separation": 28000,
    "ietf-microwave-radio-link:rtpc": {
     "maximum-nominal-power": "20.0"
    },
    "ietf-microwave-radio-link:single": {
     "selected-cm": "ietf-microwave-types:qam-512"
    }
   },
   {
    "name": "CT-3",
    "description": "'Carrier Termination 3'",
    "type": "iana-if-type:microwaveCarrierTermination",
    "ietf-microwave-radio-link:tx-frequency": 10528000,
    "ietf-microwave-radio-link:duplex-distance": 113000,
    "ietf-microwave-radio-link:channel-separation": 28000,
    "ietf-microwave-radio-link:rtpc": {
     "maximum-nominal-power": "20.0"
    },
    "ietf-microwave-radio-link:single": {
     "selected-cm": "ietf-microwave-types:qam-512"
    }
   },
   {
    "name": "CT-2",
    "description": "'Carrier Termination 2'",
    "type": "iana-if-type:microwaveCarrierTermination",
    "ietf-microwave-radio-link:tx-frequency": 10615000,
    "ietf-microwave-radio-link:duplex-distance": 113000,
    "ietf-microwave-radio-link:channel-separation": 28000,
    "ietf-microwave-radio-link:rtpc": {
     "maximum-nominal-power": "20.0"
    },
    "ietf-microwave-radio-link:single": {
     "selected-cm": "ietf-microwave-types:qam-512"
    }
   },
   {
    "name": "CT-4",
    "description": "'Carrier Termination 4'",
    "type": "iana-if-type:microwaveCarrierTermination",
    "ietf-microwave-radio-link:tx-frequency": 10415000,
    "ietf-microwave-radio-link:duplex-distance": 113000,
    "ietf-microwave-radio-link:channel-separation": 28000,
    "ietf-microwave-radio-link:rtpc": {
     "maximum-nominal-power": "20.0"
    },
    "ietf-microwave-radio-link:single": {
     "selected-cm": "ietf-microwave-types:qam-512"
    }
   }
  ]
 },
 "ietf-network:networks": {
  "network": [
   {
    "network-id": "L2-network",
    "network-types": {
     "ietf-te-topology:te-topology": {
      "ietf-eth-te-topology:eth-tran-topology": {}
     }
    },
    "supporting-network": [
     {
      "network-ref": "mw-network"
     }
    ],
    "node": [
     {
      "node-id": "L2-N1",
      "supporting-node": [
       {
        "network-ref": "mw-network",
        "node-ref": "mw-N1"
       }
      ],
      "ietf-network-topology:termination-point": [
       {
        "tp-id": "L2-N1-TP1",
        "supporting-termination-point": [
         {
          "network-ref": "mw-network",
          "node-ref": "mw-N1",
          "tp-ref": "mw-N1-RLTP1"
         }
        ]
       }
      ],
      "ietf-te-topology:te-node-id": "192.0.2.1",
      "ietf-te-topology:te": {
       "te-node-attributes": {
        "ietf-eth-te-topology:eth-node": {}
       }
      }
     },
     {
      "node-id": "L2-N2",
      "supporting-node": [
       {
        "network-ref": "mw-network",
        "node-ref": "mw-N2"
       }
      ],
      "ietf-network-topology:termination-point": [
       {
        "tp-id": "L2-N2-TP2",
        "supporting-termination-point": [
         {
          "network-ref": "mw-network",
          "node-ref": "mw-N2",
          "tp-ref": "mw-N2-RLTP2"
         }
        ]
       }
      ],
      "ietf-te-topology:te-node-id": "192.0.2.2",
      "ietf-te-topology:te": {
       "te-node-attributes": {
        "ietf-eth-te-topology:eth-node": {}
       }
      }
     }
    ],
    "ietf-network-topology:link": [
     {
      "link-id": "L2-N1-N2",
      "source": {
       "source-node": "L2-N1",
       "source-tp": "L2-N1-TP1"
      },
      "destination": {
       "dest-node": "L2-N2",
       "dest-tp": "L2-N2-TP2"
      },
      "supporting-link": [
       {
        "network-ref": "mw-network",
        "link-ref": "mwrl-N1-N2"
       }
      ],
      "ietf-te-topology:te": {
       "te-link-attributes": {
        "interface-switching-capability": [
         {
          "switching-capability": "ietf-te-types:switching-l2sc",
          "encoding": "ietf-te-types:lsp-encoding-ethernet"
         }
        ]
       }
      }
     }
    ]
   },
   {
    "network-id": "mw-network",
    "network-types": {
     "ietf-te-topology:te-topology": {
      "ietf-microwave-topology:mw-topology": {}
     }
    },
    "supporting-network": [
     {
      "network-ref": "mw-network"
     }
    ],
    "node": [
     {
      "node-id": "mw-N1",
      "supporting-node": [
       {
        "network-ref": "mw-network",
        "node-ref": "mw-N1"
       }
      ],
      "ietf-network-topology:termination-point": [
       {
        "tp-id": "mw-N1-RLTP1",
        "supporting-termination-point": [
         {
          "network-ref": "mw-network",
          "node-ref": "mw-N1",
          "tp-ref": "mw-N1-CTP1"
         },
         {
          "network-ref": "mw-network",
          "node-ref": "mw-N1",
          "tp-ref": "mw-N1-CTP3"
         }
        ],
        "ietf-te-topology:te-tp-id": "192.0.2.3",
        "ietf-te-topology:te": {
         "ietf-microwave-topology:mw-tp": {
          "microwave-rltp": {}
         },
         "ietf-tp-interface-reference-topology:tp-to-interface-path":
         "RLT-1"
        }
       },
       {
        "tp-id": "mw-N1-CTP1",
        "ietf-te-topology:te-tp-id": 1,
        "ietf-te-topology:te": {
         "ietf-microwave-topology:mw-tp": {
          "microwave-ctp": {}
         },
         "ietf-tp-interface-reference-topology:tp-to-interface-path":
         "CT-1"
        }
       },
       {
        "tp-id": "mw-N1-CTP3",
        "ietf-te-topology:te-tp-id": 2,
        "ietf-te-topology:te": {
         "ietf-microwave-topology:mw-tp": {
          "microwave-ctp": {}
         },
         "ietf-tp-interface-reference-topology:tp-to-interface-path":
         "CT-3"
        }
       }
      ],
      "ietf-te-topology:te-node-id": "192.0.2.1",
      "ietf-te-topology:te": {
       "te-node-attributes": {
        "ietf-microwave-topology:mw-node": {}
       }
      }
     },
     {
      "node-id": "mw-N2",
      "supporting-node": [
       {
        "network-ref": "mw-network",
        "node-ref": "mw-N2"
       }
      ],
      "ietf-network-topology:termination-point": [
       {
        "tp-id": "mw-N2-RLTP2",
        "supporting-termination-point": [
         {
          "network-ref": "mw-network",
          "node-ref": "mw-N2",
          "tp-ref": "mw-N2-CTP2"
         },
         {
          "network-ref": "mw-network",
          "node-ref": "mw-N2",
          "tp-ref": "mw-N2-CTP4"
         }
        ],
        "ietf-te-topology:te-tp-id": "192.0.2.4",
        "ietf-te-topology:te": {
         "ietf-microwave-topology:mw-tp": {
          "microwave-rltp": {}
         },
         "ietf-tp-interface-reference-topology:tp-to-interface-path":
         "RLT-2"
        }
       },
       {
        "tp-id": "mw-N2-CTP2",
        "ietf-te-topology:te-tp-id": 1,
        "ietf-te-topology:te": {
         "ietf-microwave-topology:mw-tp": {
          "microwave-ctp": {}
         },
         "ietf-tp-interface-reference-topology:tp-to-interface-path":
         "CT-2"
        }
       },
       {
        "tp-id": "mw-N2-CTP4",
        "ietf-te-topology:te-tp-id": 2,
        "ietf-te-topology:te": {
         "ietf-microwave-topology:mw-tp": {
          "microwave-ctp": {}
         },
         "ietf-tp-interface-reference-topology:tp-to-interface-path":
         "CT-4"
        }
       }
      ],
      "ietf-te-topology:te-node-id": "192.0.2.1",
      "ietf-te-topology:te": {
       "te-node-attributes": {
        "ietf-microwave-topology:mw-node": {}
       }
      }
     }
    ],
    "ietf-network-topology:link": [
     {
      "link-id": "mwrl-N1-N2",
      "source": {
       "source-node": "mw-N1",
       "source-tp": "mw-N1-RLTP1"
      },
      "destination": {
       "dest-node": "mw-N2",
       "dest-tp": "mw-N2-RLTP2"
      },
      "ietf-te-topology:te": {
       "bundled-links": {
        "bundled-link": [
         {
          "sequence": 1,
          "src-tp-ref": "mw-N1-CTP1",
          "des-tp-ref": "mw-N2-CTP2"
         },
         {
          "sequence": 2,
          "src-tp-ref": "mw-N1-CTP3",
          "des-tp-ref": "mw-N2-CTP4"
         }
        ]
       },
       "te-link-attributes": {
        "ietf-microwave-topology:mw-link": {
         "microwave-radio-link": {
          "rlt-mode": {
           "num-bonded-carriers": 2,
           "num-protecting-carriers": 0
          }
         }
        }
       }
      }
     },
     {
      "link-id": "mwc-N1-N2-A",
      "source": {
       "source-node": "mw-N1",
       "source-tp": "mw-N1-CTP1"
      },
      "destination": {
       "dest-node": "mw-N2",
       "dest-tp": "mw-N2-CTP2"
      },
      "ietf-te-topology:te": {
       "te-link-attributes": {
        "ietf-bandwidth-availability-topology:link-availability": [
         {
          "availability": "0.99",
          "link-bandwidth": "998423"
         },
         {
          "availability": "0.95",
          "link-bandwidth": "1048576"
         }
        ],
        "ietf-microwave-topology:mw-link": {
         "microwave-carrier": {
          "tx-frequency": 10728000,
          "channel-separation": 28000
         }
        }
       }
      }
     },
     {
      "link-id": "mwc-N1-N2-B",
      "source": {
       "source-node": "mw-N1",
       "source-tp": "mw-N1-CTP3"
      },
      "destination": {
       "dest-node": "mw-N2",
       "dest-tp": "mw-N2-CTP4"
      },
      "ietf-te-topology:te": {
       "te-link-attributes": {
        "ietf-microwave-topology:mw-link": {
         "microwave-carrier": {
          "tx-frequency": 10528000,
          "channel-separation": 28000
         }
        }
       }
      }
     }
    ]
   }
  ]
 }
}

Instance Data for Geolocation Information
This example provides a JSON snippet that shows geolocation information.

   "node": [
      {
         "node-id": "mw-N1",

         ...

         "ietf-te-topology:te" : {
            "ietf-te-topology:geolocation": {
               "altitude": "200000",
               "latitude": "45",
               "longitude": "90"
               }
         },
         "ietf-network-topology:termination-point": [

         ...

Acknowledgments
This document was initially prepared using the kramdown RFC tool written and maintained by Carsten Bormann. Thanks to Martin Thomson for the GitHub integration of the kramdown RFC tool and for the aasvg tool, which is used for the ascii-to-SVG conversion.
The authors would like to thank Tom Petch, Éric Vyncke, and Rob Wilton for their reviews.
Contributors
Italo Busi
Huawei Technologies
italo.busi@huawei.com
Authors' Addresses
Scott Mansfield, Ed.
Ericsson Inc
scott.mansfield@ericsson.com
Jonas Ahlberg
Ericsson AB
Lindholmspiren 11
Goteborg
417 56
Sweden
jonas.ahlberg@ericsson.com
Min Ye
Huawei Technologies
No.1899, Xiyuan Avenue
Chengdu
611731
China
amy.yemin@huawei.com
Xi Li
NEC Laboratories Europe
Kurfursten-Anlage 36
Heidelberg
69115
Germany
Xi.Li@neclab.eu
Daniela Spreafico
Nokia - IT
Via Energy Park, 14
Vimercate (MI)
20871
Italy
daniela.spreafico@nokia.com