<?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 RFC8279 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8279.xml">
<!ENTITY RFC8296 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8296.xml">
<!ENTITY RFC3031 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3031.xml">
<!ENTITY RFC5331 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5331.xml">
<!ENTITY RFC8402 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8402.xml">
<!ENTITY RFC9573 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9573.xml">
<!ENTITY RFC5332 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5332.xml">
<!ENTITY RFC8556 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8556.xml">
<!ENTITY RFC9624 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9624.xml">
]>

<?rfc comments="yes"?>

<rfc ipr="trust200902" docName="draft-zzhang-bier-payload-label-00" category="std" consensus="true" submissionType="IETF" updates="8296, 8402,9573" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="BIER Payload Label">BIER Payload Label</title>

    <author initials="Z." surname="Zhang" fullname="Zhaohui Zhang" role="editor">
      <organization>Juniper Networks</organization>
      <address>
        <email>zzhang@juniper.net</email>
      </address>
    </author>
    <author initials="T." surname="Eckert" fullname="Toerless Eckert" role="editor">
      <organization>Futurewei USA</organization>
      <address>
        <email>tte@cs.fau.de</email>
      </address>
    </author>
    <author initials="H." surname="Bidgoli" fullname="Hooman Bidgoli">
      <organization>Nokia</organization>
      <address>
        <email>hooman.bidgoli@nokia.com</email>
      </address>
    </author>
    <author initials="Z." surname="Zhang" fullname="Zheng Zhang">
      <organization>ZTE</organization>
      <address>
        <email>zhang.zheng@zte.com.cn</email>
      </address>
    </author>

    <date year="2025"/>

    <area>Routing</area>
    <workgroup>idr</workgroup>
    <keyword>bier, label, assignment</keyword>

    <abstract>


<t>The BIER Encapsulation RFC8296 specifies that the "Proto" field in the BIER
header is set to 1 if an MPLS label stack follows the BIER header and the top of
the stack label is a downstream-assigned label, and is set to 2 if the top of
stack label is an upstream-assigned label, which is looked up in the
context-specific label forwarding table that can be derived from the BIER
header.</t>

<t>The terms upstream/downstream-assignment are inappropriate to describe the
required forwarding for new MPLS label semantics such as SRGB and DCB labels
as defined in RFC8402 and RFC9573 respectively. This can result in potentially
inconsistent implementation choices causing potential interoperability issues.</t>

<t>This document rectifies this situation by changing the IANA BIER Next Protocol
Identifier semantic for MPLS code points from their label semantic to the
required LFIB in the forwarding plane, hence covering those new type of labels
without changing behavior for existing upstream/downstream-assigned labels.</t>



    </abstract>



  </front>

  <middle>


<section anchor="introduction"><name>Introduction</name>

<t>BIER <xref target="RFC8279"/> is a multicast technology that achieves efficient 
replication without incurring per-flow/tunnel states inside a BIER domain.
<xref target="RFC8296"/> specifies its encapsulation.</t>

<t><xref target="RFC8296"/> specifies:</t>

<figure><artwork><![CDATA[
"If the BIER payload is an MPLS packet, the BIER header is followed by
an MPLS label stack. ...  For an example of an application where
it is useful to carry an MPLS packet as the BIER payload, see
[BIER_MVPN].  If the BIER encapsulation's Proto field indicates that
the payload is an MPLS packet with an upstream-assigned label at the
top of the stack, the upstream-assigned label is interpreted in the
context of <BFIR-id, sub-domain-id>.  Note that the sub-domain-id
must be inferred from the BIFT-id."
]]></artwork></figure>

<t>The codepoints for "Proto field" in the above quote are registered in
the IANA "BIER Next Protocol Identifiers" registry, with the following values
for MPLS payload (among other values that are omitted here):</t>

<texttable title="Pre-existing IANA BIER Next Protocol Identifier for MPLS" anchor="FIG-IANA-OLD">
      <ttcol align='left'>Value</ttcol>
      <ttcol align='left'>Description</ttcol>
      <ttcol align='left'>Reference</ttcol>
      <c>1</c>
      <c>MPLS packet with downstream-assigned label at top of stack</c>
      <c>[RFC8296]</c>
      <c>2</c>
      <c>MPLS packet with upstream-assigned label at top of stack</c>
      <c>[RFC8296]</c>
</texttable>

<t>MPLS downstream-assigned labels are defined in <xref target="RFC3031"/>. <xref target="RFC5332"/> introduces
upstream-assigned labels as a mechanism to support multicasting
of MPLS packets, such that a single MPLS packet can be received by more than one LSR.
To avoid the need for all receiving LSR to coordinate the assignment of such multicasted
packet, the label is assigned by the upstream (sending) LSR.</t>

<t><xref target="RFC5331"/> specifies "Context-Specific Label Spaces"
as the common MPLS forwarding plane mechanism to support upstream assigned MPLS label for
multicast, as well as other use-cases that can not be supported by downstream-assigned
labels, such as per-platform and per-interface label spaces defined in <xref target="RFC3031"/>.</t>

<t>After <xref target="RFC8296"/> was published, which specifies BIER header Proto field values only for
upstream and downstream labels, new MPLS label semantics where introduced: <xref target="RFC8402"/>
introduced "SR Global Block" (SRGB), and <xref target="RFC9573"/> introduced "Domain-wide Control Block" (DCB).
Hence, these new semantics of MPLS labels where not considered by <xref target="RFC8296"/> BIER Next Protocol
Identifiers.</t>

<t>Both type of new MPLS labels can be multicast, aka: replicated and hence received by more than
one receiver. In terms of <xref target="RFC5332"/> this could make them upstream-assigned. However, these
MPLS labels are "globally" or rather domain-wide assigned, so there is no need for the use
of a Context-Specific Label Space as required for upstream-assigned labels.</t>

<t>In the MPLS LSR forwarding plane, such Context-Specific Label Spaces are more expensive,
because they require more expensive context specific lookups of MPLS labels. Therefore it is desirable
that new label semantics that can use the default label space are signalled such that
they will be looked up from the default label space. Both SRGB and DCB labels where designed
to use the default label space.</t>

<t>Because the BIER Next Protocol Identifier value is meant to support (only) the
necessary demultiplexing of packets in the forwarding plane on a BFER (but no further control plane
semantics of the label used), it does not make sense to introduce new codepoints values
for new MPLS label semantics when they are intended to share pre-existing forwarding plane semantics;
specifically the default label space as used for downstream-assigned labels (codepoint 1),
or a Context-Specific Label Space as used for upstream-assigned labels (codepoint 2). 
Additional codepoints for these cases would only complicate MPLS forwarding planes unnecessary and make
introduction of new MPLS label semantics that can share these pre-existing forwarding plane
demultiplexing paths unnecessary complex.</t>

<t>For this reason, this document changes the definitions of the two existing codepoints as follows:</t>

<t><list style="symbols">
  <t>Code point 1 indicates a label from the default label space. It is intended to be used by all label semantics that can use the default label space.</t>
  <t>Code point 2 indicates a label from a context-specific label space. It is intended to be used only by those label semantics that can not use code point 1 because different sending LSR in a domain may have different bindings for the same label.</t>
</list></t>

<t>Both of these definitions are a superset of and hence backward-compatible with the existing
definitions from <xref target="RFC5331"/>, <xref target="RFC5332"/> and <xref target="RFC8296"/>. They are just not defining
the use of the codepoints based on the the label semantics but on the LFIB required to
support the semantic.</t>

<t>In addition, this document clarifies that SRGB and DCB labels are using the default label
space and hence need to be signalled in the BIER header via codepoint 1 and how future
semantics need to use existing or new BIER Next Protocol Identifier values.</t>

</section>
<section anchor="specification"><name>Specification</name>

<section anchor="update-to-rfc8296"><name>Update to RFC8296</name>

<t>The Description for codepoint 1 and 2 in the IANA BIER Next Protocol Identifier table are changed as follows:</t>

<texttable title="Updated IANA BIER Next Protocol Identifier Descriptions for MPLS" anchor="FIG-IANA">
      <ttcol align='left'>Value</ttcol>
      <ttcol align='left'>Description</ttcol>
      <ttcol align='left'>Reference</ttcol>
      <c>1</c>
      <c>MPLS packet with the top of stack label to be looked up in the Default LFIB</c>
      <c>[THISRFC]</c>
      <c>2</c>
      <c>MPLS packet with the top of stack label to be looked up in the Context-specific LFIB for the BFIR</c>
      <c>[THISRFC]</c>
</texttable>

<t>Downstream-assigned labels <xref target="RFC3031"/>, "SR Global Block" (SRGB, <xref target="RFC8402"/>) and
"Domain-wide Control Block" (DCB), <xref target="RFC9573"/> label use the Default LFIB for forwarding
and to thus require use of value 1.</t>

<t>Upstream-assigned labels <xref target="RFC5331"/>, as used by <xref target="RFC5332"/>, <xref target="RFC8556"/>, and <xref target="RFC9624"/> require the use of a context-specific LFIB and do thus require use of value 2.</t>

<t>New semantics for MPLS labels beyond the aforementioned (upstream, downstream, SRGB, DCB)
SHOULD re-use one of these two pre-existing values unless they can not co-exist with
the pre-existing MPLS label semantics in the forwarding plane. In that case, a new
entry needs to be alloced in the registry.</t>


</section>
<section anchor="updates-to-rfc8402-and-rfc9573"><name>Updates to RFC8402 and RFC9573</name>

<t>This document specifies that "SR Global Block" (SRGB) labels as specified in <xref target="RFC8402"/>) and
"Domain-wide Control Block" (DCB) labels as specified in <xref target="RFC9573"/> have to be indicated
through a value of 1 (default LFIB) when used as a top op stack label in an <xref target="RFC8296"/> BIER
packet MPLS payload. This was underspecified in both RFCs.</t>

</section>
</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>This document does not introduce new security concerns.</t>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>This document requests IANA to update the codepoint 1 and 2 in the
"BIER Next Protocol Identifiers" registry as specified above in <xref target="FIG-IANA"/>.</t>

</section>
<section anchor="acknowledgments"><name>Acknowledgments</name>

</section>


  </middle>

  <back>


    <references title='Normative References'>

&RFC8279;
&RFC8296;
&RFC3031;
&RFC5331;
&RFC8402;
&RFC9573;


    </references>

    <references title='Informative References'>

&RFC5332;
&RFC8556;
&RFC9624;


    </references>



  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA6VabXMbtxH+jl+B0h8qdUhGkmPHZt9s2ZatjqN4JDmTSZrp
gHegiOh4uAB3omlb/73PLnBvfLPTdiYNdQcsFs/uPvtyGY1GIrGpyW8msipn
oydClKbM9ESenr+6lO/UKrMqlW/VVGdCTadO3219ldokVwtsS52alaOPH+cq
vxlNjXajIiwcZbRwdHQkElXqG+tWE+nLVPjSabWYyPNX12eiKlK89BP55OTp
46F88u3RyfDpo+8eisJM5C+lTYbSW4cdM49fq0X4kdjFQuel/1UIU7iJLF3l
y5Ojo6dHJ0JB+kRe2qrEHcUS1zSpE7fLiSTlhpK1GkrlvbnJSYoQqirnFmKE
lCP8I6XJodHPY/kzXYqfhLvibzuvTOe5swSdTk1pHT+wDif+q8pNoZ280OXS
ulvPb/RCmWwiA1LPfgtLxrmGAr1zr8fyVXKrXdk5+Npql2nvu2+2H31WlZXT
S23k+6vn3XPLUj9L/HimqnGq1458M5anJr2xmemc+cbahcp7L/iEC3trVFfy
nBeOp2Hhs5zej2Ei8RV46vym85Tl/3z9qocXvR1/pJXPPpaaBI+TfE32T2P5
WvdE/1RpbyG8ecyy31SKoLnWyTy3mb0xumebGyz+EDY+m/PScA8xGo2kmsJz
VQJzXc91CIlXeaIKX2WqNDaXl2cvyIulL3RiZhAty7kq8X9aDt45W9qBxNMs
hcr8kESIuVYpPMV46TXWWnkszUwC9+/fvb0KzoqoUcmtnNkss0vfbJVxq8pT
flbaQtqZoJ9hQ9gMyUqmdpmHuBsFx9dpEwjY3p5+Qqd3pK1LymVV7BC0nJtk
Tosya2/xuCriRcE3eak/lKMITBLlzaxbKkdUJEs1zXSAK8EZUy1xM3MHKTNn
F+tojYMJSu0WvtHnm407UnBL0AHUUEXhbOEMuIZumWqfODPVrJ3Tv1fG0VGt
Pvgpc73sGQE+kpcmAVQV7qm8vLp8fcrwvXxxGhZ5gcepnhmCxQSPAKPxIvwm
YpNOEwwlLpetxvJ6DsDoynhcZSVtKmwJxY3KspUwObDzxtMTaRZFpulSwd2S
uTWJpt2VJ52bfRACaCzYRU1NZsoVjOLh1QwbjgN1V4yNIz2io5ILmLIKoqcr
SEfYsWmA9Pnzi+fB5y5gR8nOnNhMnKd0IiS4Bh6GjmFDltFQCsr4xorGraFJ
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
/BcgGNby0CEAAA==

-->

</rfc>

