<?xml version="1.0" encoding="utf-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.17 (Ruby 3.1.2) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

<!ENTITY RFC8402 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8402.xml">
<!ENTITY RFC8665 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8665.xml">
<!ENTITY RFC8667 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8667.xml">
<!ENTITY RFC8669 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8669.xml">
<!ENTITY RFC9085 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9085.xml">
<!ENTITY I-D.ietf-spring-srv6-srh-compression SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-spring-srv6-srh-compression.xml">
<!ENTITY RFC9352 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9352.xml">
<!ENTITY I-D.ietf-spring-srv6-net-pgm-insertion SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-spring-srv6-net-pgm-insertion.xml">
<!ENTITY RFC8664 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8664.xml">
<!ENTITY I-D.song-mpls-extension-header SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.song-mpls-extension-header.xml">
]>

<?rfc toc, sortrefs, symrefs, comments="yes"?>

<rfc ipr="trust200902" docName="draft-zzhang-spring-microtap-segment-03" category="std" consensus="true">
  <front>
    <title abbrev="microTap segment">MicroTap Segment in Segment Routing</title>

    <author initials="Z." surname="Zhang" fullname="Zhaohui Zhang">
      <organization>Juniper Networks</organization>
      <address>
        <email>zzhang@juniper.net</email>
      </address>
    </author>
    <author initials="R." surname="Hoffman" fullname="Ryan Hoffman">
      <organization>TELUS</organization>
      <address>
        <email>ryan.hoffman@telus.com</email>
      </address>
    </author>
    <author initials="G." surname="Bajwa" fullname="Gurminderjit Bajwa">
      <organization>TELUS</organization>
      <address>
        <email>gurminderjit.bajwa@telus.com</email>
      </address>
    </author>
    <author initials="D." surname="Voyer" fullname="Daniel Voyer">
      <organization>Bell Canada</organization>
      <address>
        <email>daniel.voyer@bell.ca</email>
      </address>
    </author>
    <author initials="S." surname="Zadok" fullname="Shay Zadok">
      <organization>Broadcom</organization>
      <address>
        <email>shay.zadok@broadcom.com</email>
      </address>
    </author>
    <author initials="A." surname="Wang" fullname="Aijun Wang">
      <organization>China Telecom</organization>
      <address>
        <email>wangaj3@chinatelecom.cn</email>
      </address>
    </author>
    <author initials="L." surname="Jalil" fullname="Luay Jalil">
      <organization>Verizon</organization>
      <address>
        <email>luay.jalil@verizon.com</email>
      </address>
    </author>
    <author initials="S." surname="Li" fullname="Shengtao Li">
      <organization>Arrcus</organization>
      <address>
        <email>shen@arrcus.com</email>
      </address>
    </author>
    <author initials="S." surname="Sivabalan" fullname="Siva Sivabalan">
      <organization>Ciena</organization>
      <address>
        <email>ssivabal@ciena.com</email>
      </address>
    </author>

    <date year="2024" month="July" day="05"/>

    <area>routing</area>
    <workgroup>spring</workgroup>
    

    <abstract>


<t>This document specifies a microTap segment that can be used to instruct
a transit node to make a copy of a segment-routed packet and deliver it
to a specified node for the purpose of network monitoring, trouble shooting,
or lawful intercept.</t>



    </abstract>



  </front>

  <middle>


<section anchor="introduction"><name>Introduction</name>

<t>Network operators may for various reasons benefit from the ability to tap
packets at strategic locations within their respective networks.
Segment routing <xref target="RFC8402"/> technology offers the ability to both simplify and improve
the operational experience of deploying targeted packet tapping.</t>

<t>The tapping can be only for some random packets for monitoring purposes,
so we use the term microTap and tap interchangeably in this document.</t>

<t>The introduction and strategic placement within a SID-list of one or more
microTap SIDs can signal the desire to tap traffic at targeted points
within the network without the need for explicit configuration on those nodes.</t>

<t>Consider an SR network in the following example diagram where traffic is
steered along some paths by using a SID-list in the packets. For network
debugging/monitoring purposes, the operator may at any time want for a
certain node (e.g., R2 or R3) in the network to tap a copy of a packet
to a monitor (e.g. connected to R6), while continue to forward the original
packet along its path to the destination.</t>

<figure><artwork><![CDATA[
                   --R5---R6---monitor
                  /     /
                 /     /                           
     src---R1---R2---R3---R4---dst
  
                ^    ^
                |    |
 microTap node 1    microTap node 2
]]></artwork></figure>

<t>To make it very flexible and precise on specifying which packets to tap
on what node and avoid the need to configure filters on the microTap node,
a microTap SID can be inserted to the SID-list after a Node-SID
(for the microTap node) or an Adjacency-SID (that leads to the microTap
node). When the microTap SID becomes the current active SID, the node does
the following:</t>

<t><list style="symbols">
  <t>Replicate the packet, and send the copy to the remote monitor</t>
  <t>Pop the microTap SID off the original packet and continue forwarding</t>
</list></t>

<t>There could be multiple monitors. A microTap SID is
associated with a particular monitor (vs. a microTap node).
In the above example, there could be another monitor attached to R5.
In that case, there would be two microTap SIDs - one for the monitor
attached at R5 (say microTap SID S5) and one for the monitor attached
at R6 (say microTap SID S6).</t>

<t>The monitor could be a separate server attached to an interface
on R5 or R6, or could be an internal service entity on R5 or R6 (which can
be viewed as connected via an internal interface). How that is done is
outside the scope of this document.</t>

<t>If S5 becomes the active SID in a packet arriving at R2, R2 will tap
the packet to R5, by imposing R5's node SID label on top of S5.
When the tapped
copy arrives at R5, R5 knows that the packet should be sent to the internal
or external monitor (because S5, which R5 advertises, becomes the active
SID). Similarly, if S6 becomes the active SID in a packet arriving at R3,
R3 will tap the packet to R6, by imposing R6's node SID label
on top of S6. In case of SRv6, a separate IPv6 header is used
to send the packet to the router to which the monitor is attached.</t>

<t>It is possible that a monitor node itself may be on the path of a packet
and need to do a tap. This is referred to as local tapping and a separate
local microTapping SID is needed - a packet with that microTapping SID active
is tapped to a local monitor. For comparison, when a packet was tapped by
another node and the tapped copy arrives on the montior node, it is simply
forwarded but not tapped to the monitor.</t>

<t>A microTap SID is advertised by the router that hosts the monitor.
It should only become the active SID in a packet arriving at the desired
microTap node or the advertising/owning node. A node supporting microTap
functionality advertises its ability to do so, so that incapable nodes
will never see a microTap SID as the active SID in a packet.</t>

<t>The SID-list may contain multiple microTap SIDs that may or may not be
adjacent in the list. For nonadjacent microTap SIDs, different nodes
will tap to the same or different monitors (depending on the value
of microTap SIDs). For adjacent microTap SIDs in the list, they are
likely for different monitors - for the "continue forwarding" part of the
first microTap SID, the second microTap SID becomes active segment,
leading to the second microTap operation.</t>

</section>
<section anchor="specification"><name>Specification</name>

<section anchor="sr-mpls-signaling"><name>SR-MPLS Signaling</name>

<t>A node (e.g. R2/R3) supporting microTap function advertise its capability
to other nodes.</t>

<t>A node (e.g. R5/R6) hosting a monitor is provisioned with a microTap SID
allocated from the SRGB. The microTap SID is advertised to other nodes.</t>

<t>A microTap SID MUST be associated with only one specific monitor.</t>

<t>If the same microTap SID value is advertised by more than one node,
it MUST be treated by a receiving node as an error and ignored,
and MUST NOT be used in the SID-List of a packet.</t>

<t>SRv6 related signaling details will be added in future revisions.</t>

<section anchor="ospf-signaling"><name>OSPF Signaling</name>

<t>This document defines a new TLV for the advertisement of a microTap 
   SID (from a node hosting a monitor) and an existing TLV is leverged 
   for the advertisement of tapping capability (from a microTap node).</t>

<section anchor="microtap-sid-tlv"><name>MicroTap-SID TLV</name>

<t>The microTap SID is advertised in a newly defined MicroTap-SID Sub-TLV
that mimics the Prefix SID Sub-TLV as defined in Section 5 of <xref target="RFC8665"/>:</t>

<figure><artwork><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              Type             |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      Flags    |   Reserved    |      MT-ID    |    Algorithm  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                     SID/Index/Label                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 
where:
 
   Type:  To be assigned by IANA
 
   Length:  7 or 8 octets depending on the size of SID (see below).
 
   Flags:  Single-octet field. Currently no flags are defined.
 
   Reserved:  SHOULD be set to 0 on transmission and MUST be ignored
      on reception
 
   MT-ID:  Multi-Topology ID (as defined in [RFC4915])
 
   Algorithm:  Single octet identifying the algorithm the Prefix-SID
      is associated with as defined in Section 3.1
 
      A router receiving a Prefix-SID from a remote node and with an
      algorithm value that the remote node has not advertised in the
      SR-Algorithm TLV (Section 3.1) MUST ignore the Prefix-SID Sub-
      TLV.
 
   SID/Index/Label:  Currently a 4-octet index defining the offset
      in the Segment Routing Global Block (SRGB) advertised by
      this router. In the future the flags field may change
      the definition of this definition of this field.
]]></artwork></figure>

<t>The MicroTap-SID Sub-TLV MAY appear where a Prefix-SID Sub-TLV is included
to advertises a node SID.</t>

</section>
<section anchor="microtap-capability"><name>MicroTap Capability</name>

<t>A new flag T in the Flags field of the Prefix/Adjacency-SID Sub-TLV
indicates that a MicroTap SID is allowed to follow the prefix/adjacency SID
in a packet:</t>

<figure><artwork><![CDATA[
          0  1  2  3  4  5  6  7
        +--+--+--+--+--+--+--+--+
        |  |  |  |  |  |  |  |T |
        +--+--+--+--+--+--+--+--+
]]></artwork></figure>

</section>
</section>
<section anchor="isis-signaling"><name>ISIS Signaling</name>

<t>ISIS signaling is similar to OSPF, as specified in the following sections.</t>

<section anchor="microtap-sid"><name>MicroTap-SID</name>

<t>The microTap SID is advertised in a newly defined MicroTap-SID Sub-TLV
that mimics the Prefix SID Sub-TLV as defined in Section 2.1 of <xref target="RFC8667"/>:</t>

<figure><artwork><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   Type        |     Length    |     Flags     |   Algorithm   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         SID/Index/Label (variable)            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 
where:
 
   Type:    To be assigned by IANA.
 
   Length:  5 or 6 depending on the size of the SID (described below)
 
   Flags:   1-octet field. Currently no flags are defined.
 
   Algorithm:  the router may use various algorithms when calculating
      reachability to other nodes or to prefixes attached to these
      nodes.  Algorithm identifiers are defined in Section 3.2.
      Examples of these algorithms are metric-based Shortest Path
      First (SPF), various sorts of Constrained SPF, etc.  The
      Algorithm field of the Prefix-SID contains the identifier of
      the algorithm the router uses to compute the reachability of
      the prefix to which the Prefix-SID is associated.
 
      At origination, the Prefix-SID Algorithm field MUST be set to 0
      or any value advertised in the SR-Algorithm sub-TLV.

      A router receiving a Prefix-SID from a remote node and with an
      algorithm value that such remote node has not advertised in the
      SR-Algorithm sub-TLV MUST ignore the Prefix-SID
      sub-TLV.
 
   SID/Index/Label: :  Currently a 4-octet index defining the offset
      in the Segment Routing Global Block (SRGB) advertised by
      his router. In the future the flags field may change
      the definition of this definition of this field.
]]></artwork></figure>

<t>The MicroTap-SID Sub-TLV MAY appear where a Prefix-SID Sub-TLV is included to
advertises a node SID.</t>

</section>
<section anchor="tapping-capability"><name>Tapping Capability</name>

<t>Similar to OSPF, a new flag T in the Flags field of the Prefix/Adjacency-SID
Sub-TLV indicates that a MicroTap SID is allowed to follow the prefix/adjacency SID
in a packet:</t>

<figure><artwork><![CDATA[
          0  1  2  3  4  5  6  7
        +--+--+--+--+--+--+--+--+
        |  |  |  |  |  |  |  |T |
        +--+--+--+--+--+--+--+--+
]]></artwork></figure>

</section>
</section>
<section anchor="bgp-signaling"><name>BGP Signaling</name>

<section anchor="microtap-sid-1"><name>MicroTap-SID</name>

<t>A new MicroTap-SID TLV is defined to advertise a microTap SID. It has the same
encoding as the Label-Index TLV except with a different type. The following is
copied verbatim from <xref target="RFC8669"/>:</t>

<figure><artwork><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|       Type    |             Length            |   RESERVED    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            Flags              |       Label Index             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          Label Index          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 
where:
 
   Type:  To be assigned by IANA.
 
   Length:  7, the total length in octets of the value portion of the
      TLV.
 
   RESERVED:  8-bit field.  It MUST be clear on transmission and MUST
      be ignored on reception.
 
   Flags:  16 bits of flags.  None are defined by this document.  The
      Flags field MUST be clear on transmission and MUST be ignored
      on reception.
 
   Label Index:  32-bit value representing the index value in the
      SRGB space.
]]></artwork></figure>

<t>A MicroTap-SID TLV MAY be included in the BGP Prefix-SID attribute.</t>

</section>
<section anchor="tapping-capability-1"><name>Tapping Capability</name>

<t>A 'T' flag is defined for the existing Originator SRGB TLV's Flags field
to indicate that the originator supports microTapping functionality.
Exact bit position for the flag is to be assigned by IANA and registered
in the "BGP Prefix-SID Originator SRGB TLV Flags" registry.</t>

</section>
</section>
</section>
<section anchor="controller-signaling"><name>Controller Signaling</name>

<t>A controller needs to know about the nodes (e.g.  R2/R3) that support 
   tapping function, and the nodes (e.g.  R5/R6) hosting a monitor &amp; 
   relavant microTap SID. This information is advertised to the controller 
   by the link-state routing protocols (ISIS and OSPF) or BGP-LS. The 
   signaling for OSPF and ISIS has been covered in the previous sections 
   of this document. This section covers signaling for BGP-LS and PCEP.</t>

<section anchor="bgp-ls"><name>BGP-LS</name>

<t>This document defines a new TLV for the advertisement of a microTap 
   SID (from a node hosting a monitor) and an existing TLV is
   leverged for the advertisement of tapping capability (from a microTap 
   node).</t>

<section anchor="microtap-sid-2"><name>MicroTap SID</name>

<t>The microTap SID is advertised in a newly defined MicroTap-SID 
   TLV that mimics the Prefix SID TLV as defined in Section 2.3.1 of
   <xref target="RFC9085"/>:</t>

<figure><artwork><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               Type            |            Length             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Flags     |   Algorithm   |           Reserved            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       SID/Index/Label (variable)             //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 
Where:
 
Type:  To be assigned by IANA
 
Length:  Variable. 7 or 8 octets depending on the label or index
   encoding of the SID.
 
Flags:  1-octet value that should be set as:
 
   *  IS-IS MicroTap-SID flags as defined in Section 2.1.2.1.
 
   *  OSPFv2 MicroTap-SID flags as defined in Section 2.1.1.1.
 
   *  OSPFv3 MicroTap-SID flags as defined in Section 2.1.1.1.
 
Algorithm:  1-octet value identifies the algorithm.  The semantics of
   the algorithm are described in Section 3.1.1 of {{RFC8402}}.
 
Reserved:  2 octets that MUST be set to 0 and ignored on receipt.
 
SID/Index/Label:
 
   IS-IS:  Label or index value as defined in Section 2.1.2.1.
 
   OSPFv2:  Label or index value as defined in Section 2.1.1.1.
 
   OSPFv3:  Label or index value as defined in Section 2.1.1.1.
]]></artwork></figure>

<t>The Flags and, as an extension, the SID/Index/Label fields of this
   TLV are interpreted according to the respective underlying IS-IS,
   OSPFv2, or OSPFv3 protocol.  The Protocol-ID of the BGP-LS Prefix
   NLRI is used to determine the underlying protocol specification for
   parsing these fields.</t>

<t>The MicroTap-SID TLV MAY appear where a Prefix-SID TLV advertises 
   a node SID.</t>

</section>
<section anchor="tapping-capability-2"><name>Tapping Capability</name>

<t>The Flags of Prefix/Adjacency-SID TLV are interpreted according
   to the respective underlying IGP specification. The new flag T in 
   the Flags field of the Prefix/Adjacency-SID TLV indicates that a 
   MicroTap SID is allowed to follow the prefix/adjacency SID in a packet.</t>

</section>
</section>
<section anchor="pcep"><name>PCEP</name>

<t>An SR-TE path consists of one or more SIDs and may contain one or more 
microTap SIDs. The SR-TE path information is exchanged between the PCE 
and PCC in ERO and RRO subobjects. The SR-ERO subobject and SR-RRO subobject 
defined in <xref target="RFC8664"/> are used to carry a SID which can be a microTap 
SID.</t>

</section>
</section>
<section anchor="procedures"><name>Procedures</name>

<t>The node hosting a monitor treats a microTap SID that it advertises as
an adjacency SID. In other words, it sets up its forwarding state for the
microTap SID such that packets with the microTap SID as current active
SID will be sent to the monitor (after popping the microTap SID).
It is the responsibility of the monitor
to parse the packet (including the remaining SID-list).</t>

<t>A node supporting microTap functionality sets up its forwarding state
for each microTap SID that it receives, such that packets with the
microTap SID as current active SID are processed as following:</t>

<t><list style="symbols">
  <t>Make a copy and send it to the advertising node of the microTap SID.
In case of SR-MPLS, this is done by imposing the advertising node's
node SID (optionally after imposing the node SID of the microTap node
so that the monitor knows the microTap node).
In case of SRv6, this is done by imposing an outer IPv6
encapsulation with the destination address being the advertising node's
address.</t>
  <t>Forward the original packet after popping the microTap SID</t>
</list></t>

<t>If a node does not support microtapping but does recognize the microtap SID
signaling, the forwarding behavior for the SID is simply pop on that node.
This is to safeguard the situation in case the node received
a packet with the active SID being a microtap SID.</t>

<t>The ingress node may add microTap SIDs to the SID-list of a packet based
on its monitoring/debugging needs or based on SR policies programmed from
a controller.</t>

<t>A microTap SID MUST not be placed in the SID-list after a node or adjacency
SID that is for or leads to a node that does not advertise microTap capability.
Otherwise, the packet with that SID-list will be discarded by the node.</t>

<t>In case of SRv6, the microTap SID and its preceding node SID MAY be merged
into a single IPv6 address in SRH: the locator part identifies
the microTap SID and the function part is the 3-octet or 4-octet microTap
SID.</t>

<section anchor="optional-iom-header"><name>Optional IOM header</name>

<t>As replicated packets traverse the network from the microtap node to the
monitor nodes, packet loss, packet reordering and buffering can occur.
To allow packet analysis equipment that receives these replicated packets
to accurately analyze the replicated packet flow, additional information
is needed in the replicated packet header to recreate the original conditions
of the flow.</t>

<t>RFC9197] defines a header with data fields well suited for this purpose.
IOAM includes timestamp data, indicating the arrival time the replicated
packet was received at the microtap node.  This timestamp can be used to
reproduce accurate inter-packet gaps during packet analysis.  IOAM also
includes a sequence number, indicating the order of replicated packets
received by the microtap node.  This sequence number can be used by the
packet analysis equipment to reorder packets, remove duplicated packets,
and to alarm on the condition that replicated packets were lost in transit.</t>

<t>The microTap node MAY include an IOAM header in the replicated packet
with following fields:</t>

<t><list style="symbols">
  <t>Timestamp Seconds</t>
  <t>Timestamp Fraction</t>
  <t>64-bit sequence number</t>
</list></t>

<t>It is RECOMMENDED that all nodes that perform microtap packet replication
be Time of Day (ToD) synchronized via Precision Time Protocol (PTP)
for the most accurate recreation of packet conditions during analysis.</t>

<t>The added IOAM header is Edge-to-Edge Option-Type, and in addition to
possible IOAM header already present when the packet arrives at the microtap
node. In case of MPLS, the added IOAM header is an MPLS extension header
<xref target="I-D.song-mpls-extension-header"/> that follows the Node SID of the node
that originated the microtap SID. The extension header is followed by the
original label stack and its OUL field
(Original Upper Layer protocol type) MUST be set to MPLS. In other words,
there may be two label stacks in the packet arriving at the node hosting
the monitoring station.</t>


<t>If MTU is a concern, the original label stack (except the microTap SID) and
extension headers MAY be removed.</t>

</section>
</section>
<section anchor="microtapping-with-srv6"><name>MicroTapping with SRv6</name>

<t><xref target="I-D.ietf-spring-srv6-srh-compression"/> introduced the concepts of Global
Identifiers Block (GIB) for the pool of Compressed SID (C-SID) values
available for global allocation and Local Identifiers Block (LIB) for
the pool of C-SID values available for local allocation.</t>

<t>This document extends the GIB/LIB concepts to traditional non-compressed
full SRv6 SID as well. A Global ID can be allocated from the the GIB and used
as C-SID or to construct non-compressed SRv6 SIDs.</t>

<t>Each monitor node MUST advertise a GIB ID for other microTapping nodes to tap
traffic to this monitor node. If the monitor node may be on the normal
forwarding path of packets and need to tap locally, it MUST also advertises a
LIB ID. This GID ID or LIB ID is referred to as the Tapping ID (TID), and is
used by relevant nodes to construct an uncompressed full microTapping SID
or as a C-SID for microTapping purposes, as explained below.</t>

<section anchor="isis-signaling-1"><name>ISIS Signaling</name>

<t>A new flag bit, the T-flag, is defined for the Flags field of the locator entry
in the SRv6 Locator TLV <xref target="RFC9352"/>:</t>

<figure><artwork><![CDATA[
     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                          Metric                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |   Flags       |  Algorithm    |  Loc Size     |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

    Flags: 1 octet. The following flags are defined:
    
     0
     0 1 2 3 4 5 6 7
    +-+-+-+-+-+-+-+-+
    |D|T|  Reserved |
    +-+-+-+-+-+-+-+-+
    D-flag: "up/down bit" as described in Section 4.1 of [RFC5305].
    T-flag: Indicates the advertising node supports microTapping for
            this locator (hence this locator can be used together with
            the GIB TIDs advertised by monitor nodes).
]]></artwork></figure>

<t>For the SRv6 End SID sub-TLV, two new Endpoint Behaviors are defined for
global microTapping End.TAP (by a tapping node to a monitor via a monitnor
node) or local microTapping End.TAP.X (by a monitor node to its local monitor)
respectively. Each is
advertised by the monitor node with a 128-bit End SID in the LB:LN:FUNC:ARG
format where the FUNC bits encode the GIB/LIB TID respectively.
An SRv6 SID Structure sub-sub-TLV MUST be included to identify the FUNC bits.</t>

<t>The monitor node M installs an IPv6 route LB:LN:GIB-TID::/prefixLength with
the End.TAP endpoint behavior for a monitor node and an IPv6 route LB:LN:LIB-TID::/prefixLength with the End.TAP.X endpoint behavior for a monitor node.</t>

<t>When a node N supporting microTapping receives an End.TAP SID advertised by
a monitor node M, for each locator of the same Locator Block that N advertises
with the T-flag, N installs
an IPv6 route locator:TID::/prefixLength with the End.TAP behavior for a
microTapping node, where the prefixLength is (LBL+LNL+FL)
.
In the uncompressed SID case, the locator:TID::
is a SID that an ingress node can insert to instruct N to microTap to M.
In the C-SID case, the TID is a C-SID that can follow any locator C-SID that
is advertised with the T-flag.</t>

<t>When a node N receives an End.TAP.X SID advertised by a monitor node M,
it does not install any corresponding forwarding state, except that it notes
that the LIB TID in the End.TAP.X SID can be used as C-SID or to construct
non-compressed SRv6 SIDs that can be inserted in to the SID list of a packet to
instruct M to do local microTapping.</t>

<t>If the End.TAP or End.TAP.X SID is advertised with FlexAlgo 0, it MAY be
used together with locators of any FlexAlgo if the locator has the T-flag set.
Otherwise, it MUST only be used together with locators of corresponding
FlexAlgo that has the T-flag set.</t>

</section>
<section anchor="ospfv3-signaling"><name>OSPFv3 Signaling</name>

<t>To be added.</t>

</section>
<section anchor="endtap-full-sid-endpoint-behavior"><name>End.TAP (Full SID) Endpoint Behavior</name>

<t>If a node N receives a packet whose IPv6 DA D matches a route
with the End.TAP endpoint behavior, N does:</t>

<figure><artwork><![CDATA[
S01. If (IPv6 Hop Limit <= 1) {
S02.    Send an ICMP Time Exceeded message to the Source Address,
           Code 0 (Hop limit exceeded in transit),
           interrupt packet processing, and discard the packet.
S03. }
S04. Decrement IPv6 Hop Limit by 1.
S05. If N is a microTapping node:
        Decrement Segment Left by 1.
        Replicate the packet.
S06.    For the replicated packet,
           Push the microTapping End SID from the monitor node M
              to the packet using H.insert behavior specified in 
              {{I-D.ietf-spring-srv6-net-pgm-insertion}}
           Submit the packet to the egress IPv6 FIB lookup for
              transmission to the new destination
S07.    For the original packet,
           Copy the Segment Left SID to outer IPv6 DA 
           Submit the packet to the egress IPv6 FIB lookup for  
              transmission to the new destination
S08. If N is the monitor node:
        Pop the SRH that was inserted by the microTapping node.
        Transmit the packet to the monitor associated with
        the End.TAP SID.
]]></artwork></figure>

</section>
<section anchor="endtapx-full-sid-endpoint-behavior"><name>End.TAP.X (Full SID) Endpoint Behavior</name>

<t>This is for a monitor node to tap a packet to its local monitor.</t>

<t>If a node N receives a packet whose IPv6 DA D matches a route
with the End.TAP.X endpoint behavior, N does:</t>

<figure><artwork><![CDATA[
S01. If (IPv6 Hop Limit <= 1) {
S02.    Send an ICMP Time Exceeded message to the Source Address,
           Code 0 (Hop limit exceeded in transit),
           interrupt packet processing, and discard the packet.
S03. }
S04. Decrement IPv6 Hop Limit by 1.
     Replicate the packet.
S05. For the replicated packet,
        Transmit it to the monitor associated with
        the End.TAP.X SID.
S06. For the original packet,
        Decrement Segment Left
        Copy the Segment Left SID to outer IPv6 DA 
        Submit the packet to the egress IPv6 FIB lookup for  
           transmission to the new destination
]]></artwork></figure>

</section>
<section anchor="endtap-c-sid-endpoint-behavior"><name>End.TAP (C-SID) Endpoint Behavior</name>

<t>When the microTap node N receives a packet whose IPv6 DA matches a route
with the End.TAP endpoint behavior, N does:</t>

<figure><artwork><![CDATA[
S01. If (IPv6 Hop Limit <= 1) {
S02.    Send an ICMP Time Exceeded message to the Source Address,
           Code 0 (Hop limit exceeded in transit),
           interrupt packet processing, and discard the packet.
S03. }
S04. Decrement IPv6 Hop Limit by 1.
S05. If N is a microTapping node:
        Replicate the packet.
S06.       For the replicated packet,
           Push the microTapping End SID from the monitor node M
              to the packet using H.insert behavior specified in 
              {{I-D.ietf-spring-srv6-net-pgm-insertion}}
           Submit the packet to the egress IPv6 FIB lookup for
              transmission to the new destination
S07.    For the original packet,
           Shift the IPv6 DA for two C-SIDs
           Submit the packet to the egress IPv6 FIB lookup for
           transmission to the new destination
S08. If N is the monitoring node:
        Shift the IPv6 DA for two C-SIDs
        Transmit the packet to the monitor associated with
        the End.TAP C-SID.
]]></artwork></figure>

</section>
<section anchor="endtapx-c-sid-endpoint-behavior"><name>End.TAP.X (C-SID) Endpoint Behavior</name>

<t>This is for a monitor node to tap a packet to its local monitor.</t>

<t>If a node N receives a packet whose IPv6 DA D matches a route
with the End.TAP.X endpoint behavior, N does:</t>

<figure><artwork><![CDATA[
S01. If (IPv6 Hop Limit <= 1) {
S02.    Send an ICMP Time Exceeded message to the Source Address,
           Code 0 (Hop limit exceeded in transit),
           interrupt packet processing, and discard the packet.
S03. }
S04. Decrement IPv6 Hop Limit by 1.
     Replicate the packet, 
S05. For the replicated packet,
        Transmit it to the monitor associated with
        the End.TAP.X SID.
     For the original packet,
        Shift the IPv6 DA for two C-SIDs
        Submit the packet to the egress IPv6 FIB lookup for  
           transmission to the new destination
]]></artwork></figure>

</section>
</section>
</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>To be added.</t>

</section>
<section anchor="iana-assignments"><name>IANA Assignments</name>

<t>To be added.</t>

</section>
<section anchor="contributors"><name>Contributors</name>

<t>The following also contributed to this documdent:</t>

<figure><artwork><![CDATA[
Peter Van Oene
Juniper Networks
pvanoene@juniper.net

Abhishek Chakraborty
Juniper Networks
cabhi@juniper.net
]]></artwork></figure>

</section>


  </middle>

  <back>


    <references title='Normative References'>

&RFC8402;
&RFC8665;
&RFC8667;
&RFC8669;
&RFC9085;
&I-D.ietf-spring-srv6-srh-compression;
&RFC9352;
&I-D.ietf-spring-srv6-net-pgm-insertion;


    </references>

    <references title='Informative References'>

&RFC8664;
&I-D.song-mpls-extension-header;


    </references>



  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA+1dbXPcNpL+jl+BS6ou0maGsiRLdqbu6izLsqMtSVZJcvZu
r/aqMCRGos0hZwmOxnLi/379AoAAyVEU28nu5TJJFIsDNoDuRveDbjQ8Ho9F
WmV5eT2Ry2Y2fipEkzeFnsjTPK2rK7WQl/p6rstG5qX/40W1bOAVoabTWt9O
5Ny1NdxAZFVaqjlQyWo1a8YfPtyo8npsFjW8NabWjVqMbevxo12RqkZfV/Xd
RJomE2KRT2RTpSNpqrqp9czAn+7m/Ie0muNbRoh8UUOzemmanUePvnu0I1St
1UTWdnQrmBN3Kd6tJlKIr+WPk8m0ygtdLwroUE7Txfbjj0KoZXNTAS0h5Rj+
kzBXM5F/TeRfcdz0hKcDv1c3yzx4XtXQy5+XZb7QtTzTzaqq3xn6Rs9VXkwk
z/3ZW26SlLqJe7lI5PfVbDZXZdDPxZ0qo8fUzdXRyZvLkHYNzZIbbvas0cXS
JMCdmP6rRD5Xb1cqoP5qWc/zMtP127wJvhzu4zponEyx8bqeXiTyh+pO10FP
L1SZ6yJ4TH0810UhD1WpMhX2lFHj5BYbP5tCmyRVIu7iEkSisupd0MXljboL
HnIHdaUyHp+nbqBd8gHbPZvar2kKcQcHifxLLPKDHETXPiT6hzd5qeSVLnSn
kxU0U293n6XYoOHvk7TsdHKSyD+rIi+CXk6WMIv2IfXyg67zD1UZ0i+gWfIW
mz275W8H5gBMOskjDunyulGVe0rED+o6XZqYQbp8pujxMNHL/FZNVQGaGRKH
h+03AYtyXUbSNYYbPUvxG+5hPB5LNTVNrdJGiKub3EiwHEuyMWah03yWayNV
z77I5kY1MoWRTLVcGp2BscBhgi0AQgpsgioN6HZZZRq/mqt3Gsik1eJOVjP4
k7M8aCrg7YVK3+lGqjKTmS5yYK3MGwEvKj+MjInNqho613KxrBeV0Uit5EUv
51WZNxWamxEMoFpOCw08rSq0RSMB7xVqNVsWMM5G16leNIlgDszzLCs0mqfj
El7MYA45iF1YayIrsBsKKBuYxx2N4FbVebU0EsydqUoDXCj1DOY7q6s5DU9N
8yJv7nDuYGgFzw84CWwF3oCpzVNZVGB0c3x9lTegr/hiXgNNnHIDTHAzM4lw
ht+aVvnjj/9y8fLw6eNHOx8/ykanN2VVVNfI3JmGcXaGMK2aG2ny+aLIZ3fE
ZfhzXd1qgQ15ejAQVUj9Hn4B/UiJs5leFNUd9teo+loHkoJJLeB5gkqj3W9O
IaqyYDaZaq4lqEIGXHEswOetpJwczUiYSq5ImWj0IKJ5q3Y4ZOjEig7tuVZT
6ISYFiitHU8eiJHebZkOfifVxErLdFg8xy/GRW4anHFVwvBxgLUWvndoYGhu
Jr9GJuH4Mm3yWlv5or7PZkBdNQGnqhydZCtbr6j4CORon0FT5AlwvshT0KG0
Kmc5GH0SCQwImqGio/aDIohDUJgcvAHMS15eeJq2i1lVFNUKGavfK5A3DDRX
17Way9WNxvHageZGmEbDk0yqooLmJKqFam5Ame9ACkgiYI0lb4WYyJcwYtu1
yPR0eX0NL2wNyVW2KoaMhQWkcKGDXubQI9jrhqavRKrrRkE/tMw3dHKdjOTF
DkrjYndTdlho+R6aFB4bGw07ECaDHC1hRbGVutjfHAEzAIPgc1hMS5IijGGl
6oxHW+cwHVUIZ5aIQzkoLzKI+mYNaNDJgJQSQYZ24DMeX+yBibnYhx92UGua
bvHP4W+3gp/Dn/Y9U6fY4zb+2MEfu/jjMfzIDEKfwR7+h34MfvUT/eCv/JIg
IW33H+3AArTmHlQZ7DgYgkK/z9EW40Jc1GDN0WyX1rCTdQFxpDfeQlibCU1W
6GWILr6rbqs8axcNNHNLBfQ+Lxo0fBWrSTSokQgcGGi0M1Pgr0DlmBK+5JUd
EDOuL3kGL4/hqdhwXieiu4m6CaQOsrdgU8r0DtvKDXKNhVaZcYTdW4LeAoAD
jj4mhy9OEatott3psq7RRin2A/A1ryPiRVZpI6LFPhHiT/JCowFBVN2u1BFb
P10y32ix2EHVel5BW6eUf5Ln1aI/KPAn0ZIIPbVfPnbtIM5H81tjR8siQx7P
l0WToxmy/YDpOIh7AEukjKnSXKEo0DTSWq6bPF0Wqm6X8i28qzoSSMRxaZ0d
eDNn84hX4ShUWeETT0s1jUpvrD3Ys0QI0Bj/8sq9DAZHxq5gTG7C64TloCcK
hC725IYBUxfN9HJvk/g28LIfkcCX94de3t+0zs290s4OBAwMQ8mDQiN2CucH
CkpecwY6imsKhoYmdX8kIxq2FYoYieQAAEABET8E78gNXqmwgAS8dJvrFc7X
BBb2NlcRMd/3Jm6zVsxn8tjABZA9+EF0Z8QMA/pJuKPr049nwLxogbQLQ5IP
d2pZ1/ktuS5g4w75j1UOex20J+2qYLGP0NEBDqrI113sfWN4eSHNQsH2h4wJ
LIoKe0+EX7WIdkBStJioQ21Y5iNk1LuyWhmeZtAj4FDLaUPwmdeg45Ig/285
5hUe5qsQDl3ujayFBPIqAwE3OXnWPkMEDH4TNwrzHNZOcTeSOQx+/xezbnck
LnY962SHdfsd1u33WCcC1u0nAKtpadGvF7fweqCyx+e3+/IGzCVifkObCfTh
3ma1/ZLVwv1Cjb8xR8I1lBuv+KgzpGYwREPOhwTSAgMaLnh0XcwIkxBqtf2B
BQoBBS5Z53AyBBfAkUTSXinHHQAA7touNUOYvvB4mLyWn6rgL92yphZsAYk+
0Bi34iBDSIPutbeihtdYE6lr27OdHwM0kDn0nMMOBRVIB8JeKf/y9E448+g9
bavlMtJy513R8FsmjtDPw1Bod3EnrCtAukt03U0wxkBWIJ+eG2hVGwcVSRvZ
ACC4MTGNY7+uaMfBSv5QHW9BfCZiDGNNsxsOAttqVeJr+DU6MGpmlotFVdNu
zDv42bJMeSeFlrNdqwQegw0Z6JGpMLhm7WGZqoVCNSWUL2jhlRpNudFaduCL
um8dWyfhsQwqNzpqRNatM47cGWsZtLP4HKU21UIxrPHYH8lZ4A8TdF9GpEaw
28ANKH4RzIRMCMvfqDkxuG3ngIHcgN0mLHrkp9WzW1UswWfN4k42eRDDIwgH
S54clRdWXv5O2z3pQM9j746/GsA0XxEaYbekxSyvTdwnIzMDygcrZxDRWUnZ
mMdIIDikTXU1+KrfjycYkrjk+AeHCuABPLkYn56fXIKVx90ooa6DYNcETm8L
d0wD+imdfraqSZpJ2kfKiaa3NQYm6ZLe24L9E61F3iAGthcDCrBawK97GBdy
Q6iCAh643XVRksuLV8/RlOr7bMHAiKLWp28urwjCdFAk2QREGTaClAbG53jW
amNEjFSub4wwHoDrpCSCvKkAu+e6bmpN/UJLBR4h1Wxl2J4axEPgI2izkEkQ
GhDLRuRXiMDZ6ysfRrPqi8v3xIYkgpWNzhPoF9SZceIHMwbLuzDsr5ETWcak
ZssGN0e1ZsEg874GBXp9ef4y1B7YxcWhv0zP8pICf6VeyauTH/wC8WyhdjQ6
zz+kQzsgkq/i6fdUhTEwsuR9zl8hfei9QHt3DQNHOmv7a0NNTmV9f92tAc71
a59Goc0ZdGVB9Hp9I2MK8wbtYT5kMY3L5XSMdKxzBkpsj88BCuTvZdAEZe9I
UPKG194ezsMG8Pb39z5+nNjwwaOB3ff2wLOdgWe7jsQ2fL0rH0Mv+/KJfCq/
+yXPiMi348/8R/iwQfu5ugNo3wsr+M8JRshvou+//FheFurauN8vNG2WsuD7
06sxCM/9flBcw663uZn/KmPpfEBrto7LTL/fOqGtx/rPFxsL0aGo4ET4oBCK
aQL/q6xFBSPBdu344OygbcbigoZP0Jk/lRXs/RpU9o4HN/kHRv1oFhDKwNyq
FaxNT4lkAoQu4a1Cj4mQnOW6yBJ5yFGQAiGJnJHwwJm7JRUQcbJEOt+/fnPy
gjdatGt4RGPBfMQ8N8YFhJ3lttY4CHxBA7TgC3K3vgdSDSB/ihBqfFUtONyO
04oX+X/Dqn783fbe3zbbl70m+XkywyRsfAFucAyMrJ1XudagUACqHR7aqm64
ZNDK7CbbIoz1HTg03fonFXQhrRG1YSG/FeAeyoBQO0h2ln6rG756owzhyNiu
IoAKdP5i3K4xNJcbwdg3WUQsnw47yL4GhODdQBk6Swl43uqRko+timFG9T3z
zXG/ms0MJYc9r60zjpPu8lVRTWGr9RzgzDsYM2CYzRguBCQoksGMp20whe3Y
K9MfSalJ3RmpU2ojet/qe87ZABcb6T/iNcPebchfydOD/5K4F1O1zQWoLkut
I4bdSLHMeBsebGGU3+N3Xas8bPEj4kXADDgxeeU4+DKYJuNo2/VWHDt1rhWE
Q5FM47btp113jYFPxoYcBOWtO9NUjibBzmBvNOmG6R+RfwV3uivBE4IrBF8o
n0SNvh2Ph/+NWv00+O+VC5v/LC2CZceXxxGop99blMebbIzr4LQRw41w6bf5
0V4KyPByMkNQ6B8Pg3aS7QgIPfkdA6EQ/TAAaAEP/+6xCf0eYI/fAHzgpwtA
NjDFjSGJzUjPfwvwsQ5+JAP4gwLT++uBh91MYXDBpHU+RWoEQfoIRG5/IvoI
3XsQtUJ7juFbd1bA+03DwbhUFZjhoJNSLYdhJwlOoI0UBVtfCkxV1sppE0X5
oZUJ/QbvlUNFslgjxyxZMI8YMuwkAY0jzqYYy0ejwykgiblu6jwdTxXai8ub
qgaL3chz1dwEVF5SwGQDzNXmyPMCT5URXcxmAzijkZBF002a4HY0nEw7iQEX
QsbIRrjYArUzhZYdXxojLCupJbo3SifOF0ubP4vk0CPDMojD0MFwIpCWxDCs
cbk0ZPmo+2Z3qg6nOjAbAtWa0ugMwno4K0ZXhi0xS/c3A4VmCaz5LFRoHHZZ
iwWDN9tJroWC/1gw+H8YC4LyiXuxoEtQhFDwsgdXPh0bCj+o/5fY8Pmr8xAa
DsA5xt3daJfMW+wVwvlOcBb0saHV6aKiAnhEp5JdtoEW0JgWE9HV73GP7AK9
bVC9AR/OId0Wh+YGk6UIUaH3KRi+ORsWD/2++x1DP/w4+PezMS/47+Lo8uji
hyOOQ/1a0K9Fm1HfNCqCfyzo6PtfZyyD3T2wr0+JYQ2ByCfshpuqAUtesFTA
NNigljVK7Ncoo+IsbWicY8fjhAjEn46nuceUuMycS08LNL/rglMB6TZMFQWn
BoJo2/tymvOQyZtAh2eYsAjxHqVWw+MVXbQVGuSHjfXnA2kh11uBw4h3d4g9
zNxag5XG8xHOCbNftjmZPlB49Rx2v2DOKSfUs3zo4+iUl/Vg1t+gJQ18HYBo
2BaAT77PkR3Ib66+Yb8V2FOXo/CJjNcW2MFzGhyM4hsT8lPQKenMndKycbOq
fc3m7Eyc9I+yyokAXJ42KGg83cCO3w3FDbEZ1H0SWK2vYbh48lNYjnzVYcnA
NHgSX9mX6ztiFoL3pgYrD/gxziYdECC3X+HZBhoRnozBg1ru5CvtaTiv6HKW
FjYSE0hjmg4LRv58Qvz6urzkvxIVTJndqk6u2J3hKIF5cz5s20s88qE5PxWk
ZY8mwFzfjU2DgnRnshd11VRpVcCoKHSDI0XcQ+cEgcfjk0v2jEimjeug7Cgj
h+3pRXTEU41bxOqWjui607eYyKPtkw3sEKXeeSmel23DNEynPx4N9Xh+eHRO
+wKHM+CLf5KUIL7ts4KflRFESlFWMEKNdrqfFQ4T7APkPeGw+0JhuxQMQyIM
ir579JQSg/J3jIrcp5sajL7vg6RfAYncE3wL+g0zhr/eWPqfh4Xm5NbWFw3O
/SVEVQ9JC3o49YMdXvJz2UF7yrJmP+9cu995tOE7Bx88zrH79jDWEBywhF2h
CfDgnwB2XY7BrkYL1kb01oWmE/wvooE2+nbnlxHZHiSy+8lEwlBjzAQf9DJx
nIvhHTBlDv4PjVIby4rjYYwRXZA0TiS6SP1/+JojN6Ag87rj5Ezy6AauwrMv
DhrmWILFdLqRmpZpJLqJw41OWVzY64HiY9n9cirbfSq7n0jF+Ri2NcCNkTsa
9L7RpfHBwO5qJ+BonJd3bgalRaeHARNgIlilaVWHh8qCKrIlFo8WlGQmZo6E
5wgdArc66eCL1Zhz++uYqgAcdEbUwC4NiZydXBy7Q7t0rFFj2RawgJoH/Tra
/iyWcrAVySxUbSzkN9pOuGXYILBfH7wi7rSRKqTSj1YNovxIQDDlwRTlvcwn
xHov/wFpRyxgQBhHxYRdmw/Nmg5GxZDIp0fGOidKCRoiUIStEFadja+O+Jx0
isVohnecQekcH8XEFR8ePw0bxMV1zIWAbgeU6/ccDEX73qy0PYcPA5KCIewh
Dvjo4jX1eQH/N8tpNX0LAmhpH4WPqSE8jNpKESxga+329x9//EgSd0qeqrq+
49o46cshuA6jxZusa7hJgnWU6mwJ+sDx2GEIzEcITScsZ08HN1Ea3sCcZSQt
iiZzomgFimjoTLZBU7xc0PnO9jCr5C2LBdORFDhcTz26Six7CF33zh/H9UmC
WGEPH4b1Db6UgSuqFhUvui7FzcSe1ncLB7XKp15CSriBRmsR1jjJDd7iO8o1
1juX9rA8HYLebI+x3ncolg9t38c3QYWaCtg0KCVOomBlxnpWivtZyU9rXJWg
NsZweU1c6HUaFFP78q7cMz04t27Ps896HMcNX1SUQSeKR7yRdNU5YY3HEOFv
0Bv5uo+NasFMxMwKiTt62bfrjga/ADruKHyoNq6Uplt31xs9lpSsHToe2qUc
F1aaCMKXamEo84olhk7Fg3JOPEALaoib8HvnbpslKJSXA/WjvuzgXu2n08iq
Le2jDJmLgbirOuhNLKmgFqBo1XWJKW5PrLHE/D5/ZA+DeA2e6ht1i2Ubbidt
vQJXbuDwGJfbkstEuBIXrMZRM329dPMzebO0ttlKwUvYLoFMdAtZonoF5quK
Ru5Lt6+J9USNqoWz+FS9r6oMy7Z9b5SLxuojXL5tOfKWr1G24ShgAaetK6qi
XlRYe63pEDtWS8/tKXWhgvDPmqPnXC7BheXRAe6oltRVlnjDLVrLwUXxeEGB
qxq17elrrxNt8sYPoo15JOI1OoBVbisY+3VEfkjOUme5SW2tzp2XIB6O7y+t
rgcgg2Oomldn3tAQSzjqOqegjQCURHc48KFHKvVyawsx8sX3E94IYmEAzJ8K
LdqdjBjsmNOmto6B32AjsWs3REDIJXZ9YY7HfvK1NVPy+PWprTsDhH+Ai8rW
z2beaDe1wuCZ1W9beu6rF7z2ulsuyLwHBWbgCKwUisq0v9QanLSuXYHYdIm5
M3d9QpWCQ0iwiJrQWltvq4o7g1Do78t80V7B4VyOxc79OdAhPqSJt6HcMZ0P
7ohDpzFg0Go1QgnllkcBDhNtmZrV8f77towPuoRxUU1EbA+xzoVIG2HdAPYI
gsGI1/Z3T/4WhBktLdLfTDXKbYRWeHeNWeaNjwli7QnfNgA44vXBqQv5G7pi
ABz3fEEURg4le6OO5WBYrpfPuxwRQaGcs2muaiySe2IDpW1X8a0oApMaeBeF
9mLgvcPY9nANzkgCPqRtUixszBfhfFRhKuEnhQWFf1/SFR3lcj7VdW9epF64
fAfUwU/GrvnByXQ6iKbE74l79LJyGu46HdEhELD92bI7Hi6DQR0tVD13gSGv
J07Jeytzhfs+WFVcnca3zSSdM420LNEeWdYhEiB+umrTNWpMV3YE6WtWPIJe
V17Kl1S0ZaJnL/EaHRw1PN1/TImtDiddWerF0eHr09OjsxdH1gcoLPijjAaj
Rl3jwmul400HjxXXIwgEu0Y5vwA/uXFVvdiU5q5Mb+oKsQHXYp/ThQs4KGrs
dvVy4/zqfFO0Zejoqpx+2sVr85y263btOm31asp856qjiMFGHmXXetxUY/y/
Nb1jDCZyHicvvbHBpeKLdUMiqoCxZHfSpgb57Fzg4IIK7FCfBetz4Mscwl0z
UlAOqqrz4RjnHGAjeDx+kZgKb05bFGbsW4y5Bd7Ag0JjjWFfdNaBu4RyqZXL
9umsB954q9odAOMDu3W3q89bVA6hgvql77xXfv3mxKYbN167dm8WeD3aibrD
Vel0AM9qbHYjdciE3oYSPXGtXaU03ogQdOyLLtdU2YY7XhHge7et4krHHycT
e7Hcx/XqFCsMwDZgFf6b07bDp4+Ct4yIBse1o/6eiHxgD+SpBFMUnT1mtHsd
iUHFMfIhmoMrkI18CbiVWN5enUO3RTgRUicLdVdUCBJV3ZYdKuOet1ZLcKIu
1I+NQBdJN93qr1Yl+4ve1IQDXD1pJCCwLS8w3MKcXr2hdYSWItW1DWcOauqG
PT3U64+40GekBZXsRTJOPrvgFu2MyGIjWAU9+vFfkOm5bmbuvkNT3+7Dj5sx
HvBE8Am0gfXulijtLkcpcVAUy+JTfeI4ODNrT/i9On6+2V5CVsEqolOsTBcP
seJW+HBMk6G4sBHqVuUFVXfje9d8YNBWw7pjFCdUvT/Q34ntT0T9jX2tKjA8
Is/XALTUk+61bsTdjK0UTGYLOminjiC2Vh7+laCpqZ+bmC3BS1ENqo1dIBbD
enh7CLK9Wmeg1tf2R7OlSx7gfZ4HH2tOK3t9XKdX3yH6mSOKvYR3OJD1Co+1
YR9Wt+2lL6GiWB/LNwy5y7AIuucmIgwmMIo8tRvS9qqIErFxIYI9trs8wt/3
FtwdgUaepEPXctgMCUK7KLonTmj8Non/CmbCHOLHAzdO4EDc7FD3rtAisS8w
wiG2WheaDkD4+bfsBonBbqrlN0m5e+kE3lCC6QorMrrELWwS2CxDV5nxkW46
a58Ml7cEhUKAlNhaXI3x99HQKZuBaLjbNoJa13fOzpO6nNhvMDRuE+q7ezvt
KUP8fIGcOpP5/Lw6fr5MDhk/64s85Cmd2F//Pb//K40pPHT4U5xmx99BZqAe
H/TnjiE+425TxtucnOyeTO2VdUz8i4GE1wp7/SDbib/46eqn4OzAPRPz37yg
VTCRXy0XWxk4Z1wfX3F+cSA/+5izs1h4urf7aO9vbQnHlaVzHCSHBuLDaw6d
DdxUR1bSrbqNG9rYRM/ive+1ZgiZRwUhjhS7gyvKFHUuWwhCKBi7f+kClri0
j8rMZivoPPiI0ChaEviCrlyUz22gM65zwflY3xvNE15Lrg7O5QZd3tAEfkJG
VwnSxVb8G9h94S+AG7jUx5JM/tMSjVwIHgFsTHxdz6Zo04XFXSLJzeHFaL0b
cSJS9vD19g6fMXWcsYbw5Pnk5Gzy8s3Z4eTg4pXgQI67BhINKnzDx0XpxIWO
EAGIRUZj4sSfdf2X5DmwcAGlEBVphCcucaq2wjnusXOTGTtyuj8WvCNtxShU
SLUSdh4wsDEMajLZ4nylPRdEuoW0nRi104Io3N2RgT1u1uvkZH0nMugEBPuQ
bmCWf+Fbl6jTs6HkE+mLD+LBmNw8CGFFdSSdOZyOpM9GueVXBdeaOBfIOJK2
nmcB0hB+Us7nnnkBiJg3lvrkAZzpsEP0sNcoUMCIEhiRjZPnJ9+enJ18+/Jk
M9wObpRYQDT2GR6MhSNeKTSFNNMK0BDgmLFs33dAzdcl+EgHY1gbSmYwgzvA
zWA34y8VjGCRazkKoQfzRNC2x8fz6fq7IIuR0gO8azK8JRn43QQXC+LO23fc
jsvCIpu/t1/4y5dtFh/LwJwKtC1EfICxI++ecg4oIeh5Tw27S+mULsLxOQqr
QjQkEgwmczPrT6Jc6kj6TSBnT1HKRvgkoLNC1prFQwr9zLp9hFi3j2j5F14C
mpdBYkn2EksNRmCt5E7tFV59099eLeQWBAwqHvqAVF4W+j2iIfmINwa02xV9
J+qETFtU5LB/MY8BsavkYVFjZCdKD7nNh701bcBdRz1FchS+T76VbaAnf8fQ
7W6I9+3hQQwk2Dbe9b60i3Kz78TD7GiopD6/RZcjk7V6cSBfwMJv0htqQMZL
9CxUz3Kj5UP9tXuDy0fbtPfbIJrfVwt5ks+BY//273J7U/5o2+wk9H9tHcnh
6TnHV49ApylHMgelU9fa61S1rAEsHXDya9SFQ4c4vUdyA7srqDvtCLXx7c3e
a5RIqJcLd8zAnRqg9C9dps4pvjAAZiewm8iP9o+PE/kCI74UHujMGhb8tntl
j/hyxpaoZ9kn0eBagq5g8kTPQnLuM3Rrretwn5js0F8vTt9jx/nSxMdVHBqT
vpa1h6FOe8jUH+GyPOW7sL9PrAn3Hi66eGGAyrpAVKmb8eJ6PmZ6FIrqvn25
nCLzg0HYIWl2KySkl2Agi6p6t1wMYnUZ1+pYAgiUg5MOltFPIkZ3ji8MKOuC
8VwkWnI7VXDUAtfjF5jY4IXVD5/a01Zpu7KPNdZdf3x58T2bNkz9ee8QZstC
rY+V+YqHNTRBf9FvfHlP9HpopvwBsq/D7cS9htKd1xgAvP669HZQvU1I8qVN
7RBM/sPYPsjY0uc+07iXPNQuep3MP1UXGbgERvlBhmLYA0RNPtWQfBEr8hAT
EqMUG9UfWHn9C90fuIj+QCv/FGjl50GI/AOH/NPhkMubfMaDc8uJNvmriveD
5leYzefijmH1+0UT+YIYg6gnPZCx3s79gTB+NwaSPsN/Zcg/GGLQ50E24Bet
m98QNGBqZlljMYH7y5r47/nqxECw5Jrr8g+ootL+pYqdOAlX2eMVBVVtS0ja
/BWlj1PXwNWsu3Q/xt7tMjjHyiz5Ayj3a13yLQqDf2fi4laVFbSI/rpELj2c
At0b/U4e3qh3tZpWdXO3nk6qoHlE5H8BVkIVwulyAAA=

-->

</rfc>

