<?xml version="1.0" encoding="utf-8"?>
<?xml-model href="rfc7991bis.rnc"?>  <!-- Required for schema validation and schema-aware editing -->
<!-- <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?> -->
<!-- This third-party XSLT can be enabled for direct transformations in XML processors, including most browsers -->


<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<rfc
  xmlns:xi="http://www.w3.org/2001/XInclude"
  category="std"
  docName="draft-ietf-idr-bgp-fsm-iana-01"
  ipr="trust200902"
  obsoletes=""
  updates=""
  submissionType="IETF"
  xml:lang="en"
  version="3">

  <front>
    <title abbrev="IANA Registry for BGP FSM">IANA Registrations for the BGP Finite State Machine (FSM)</title>

    <seriesInfo name="Internet-Draft" value="draft-ietf-idr-bgp-fsm-iana-01"/>
   
    <author fullname="Jeffrey Haas" initials="J." role="editor" surname="Haas">
      <organization>HPE</organization>
      <address>
        <email>jeffrey.haas@hpe.com</email>
      </address>
    </author>

    <author fullname="Susan Hares" initials="S" surname="Hares" role="editor">
      <organization>Hickory Hill Consulting</organization>
      <address>
        <postal>
          <street>7453 Hickory Hill</street>
          <city>Saline</city>
          <region>MI</region>
          <code>48176</code>
          <country>USA</country>
        </postal>
		<phone>+1-734-604-0332</phone>
        <email>shares@ndzh.com</email>
      </address>
    </author>

    <author fullname="Keyur Patel" initials="K." surname="Patel" role="editor">
      <organization showOnFrontPage="true">Arrcus</organization>
      <address>
        <postal>
          <street>2077 Gateway Place</street>
          <street>Suite #400</street>
          <city>San Jose</city>
          <region>CA</region>
          <code>95119</code>
          <country>United States of America</country>
        </postal>
        <email>keyur@arrcus.com</email>
      </address>
    </author>
   
    <date year="2026"/>

    <area>Routing</area>
    <workgroup>IDR</workgroup>

    <keyword>BGP</keyword>
    <keyword>Border Gateway Protocol</keyword>
    <keyword>FSM</keyword>
    <keyword>Finite State Machine</keyword>
    <abstract>
      <t>The Border Gateway Protocol, version 4 (BGP-4) finite state machine
         (FSM) is defined in RFC 4271.  Over the years, various extensions to
         BGP have been authored that update the protocol's FSM.  Some elements
         of the FSM are enumerated.  Those elements are referred to across BGP
         extensions in their respective state machine changes, and may also be
         used for management purposes in things such as YANG (RFC 7950).</t>

      <t>To provide consistent naming and enumeration of these FSM elements,
         this document requests IANA to create and maintain registries for elements
         in the BGP FSM.</t>
    </abstract>
 
  </front>

  <middle>
    
    <section>
      <name>Introduction</name>

      <t><xref target="RFC4271" section="8"/> defines BGP's finite state machine
         (FSM).  Some elements of the FSM are enumerated.  These include:</t>

      <ul>
      <li><t>Session attributes (variables), which may be:</t>
          <ul>
          <li>Mandatory and MUST be supported by all BGP-4 implementations on
              all BGP connections.</li>
          <li>Optional and MAY be supported, either per connection or per local
              system.</li>
          </ul>
      </li>
      <li><t>Events, which may be:</t>
          <ul>
          <li>Administrative events.</li>
          <li>Timer events.</li>
          <li>TCP connection-based events.</li>
          <li>BGP message-based events.</li>
          </ul>
      </li>
      </ul>

      <t>While the core FSM is defined in <xref target="RFC4271"/>, extensions
         specified in other BGP documents may update FSM procedures. Consistent
         enumeration and naming of these FSM elements is necessary for
         procedural clarity.  Additionally, management mechanisms such as
         <xref target="RFC7950">YANG</xref>
         modules may expose BGP protocol state covered by these elements.</t>

      <t>This document requests IANA to create and maintain appropriate registries for
         these FSM elements.</t>

      <section>
        <name>Requirements Language</name>
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL",
          "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT
          RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be
          interpreted as described in BCP 14 <xref target="RFC2119"/>
          <xref target="RFC8174"/> when, and only when, they appear in
          all capitals, as shown here.</t>
      </section>
      <!-- [CHECK] The 'Requirements Language' section is optional -->

    </section>
    
    <section anchor="IANA">
      <name>IANA Considerations</name>

      <section>
        <name>Border Gateway Protocol (BGP-4) FSM Elements Registry</name>

        <t>IANA is requested to create a new registry, titled, "BGP-4 Finite State
           Machine (FSM) Elements". This is a new registry grouping distinct from the
           existing Border Gateway Protocol (BGP) Parameters registry group.
	   The registration policy for the contents of this registry and its 
	   sub-registries shall be "IETF Review with Designated Experts".  The 
	   designated experts for these registries are the IDR WG chairs.</t>

        <t>The "Border Gateway Protocol (BGP-4) Finite State Machine (FSM) Elements"
           registry will contain the following sub-registries:</t>
      </section>

      <section>
        <name>Border Gateway Protocol (BGP-4) FSM Session Attribute Sub-Registries</name>

        <t>The Border Gateway Protocol (BGP-4) FSM Session Attribute Sub-Registries 
           will consist of entries with the following fields:</t>

        <ul spacing="compact">
          <li>Value (a 16-bit unsigned integer)</li>
          <li>Name</li>
          <li>Reference</li>
        </ul>

        <section>
          <name>Border Gateway Protocol (BGP-4) FSM Mandatory Session Attributes</name>

          <table align="left">
            <thead>
              <tr>
                <th>Value</th>
                <th>Name</th>
                <th>Reference</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td>0</td>
                <td>Reserved</td>
                <td>This document</td>
              </tr>
              <tr>
                <td>1</td>
                <td>State</td>
                <td><xref target="RFC4271" section="8"/></td>
              </tr>

              <tr>
                <td>2</td>
                <td>ConnectRetryCounter</td>
                <td><xref target="RFC4271" section="8"/></td>
              </tr>

              <tr>
                <td>3</td>
                <td>ConnectRetryTimer</td>
                <td><xref target="RFC4271" section="8"/></td>
              </tr>

              <tr>
                <td>4</td>
                <td>ConnectRetryTime</td>
                <td><xref target="RFC4271" section="8"/></td>
              </tr>

              <tr>
                <td>5</td>
                <td>HoldTimer</td>
                <td><xref target="RFC4271" section="8"/></td>
              </tr>

              <tr>
                <td>6</td>
                <td>HoldTime</td>
                <td><xref target="RFC4271" section="8"/></td>
              </tr>

              <tr>
                <td>7</td>
                <td>KeepaliveTimer</td>
                <td><xref target="RFC4271" section="8"/></td>
              </tr>

              <tr>
                <td>8</td>
                <td>KeepaliveTime</td>
                <td><xref target="RFC4271" section="8"/></td>
              </tr>
            </tbody>
          </table>
        </section>

        <section>
          <name>Border Gateway Protocol (BGP-4) FSM Optional Session Attributes</name>

          <table align="left">
            <thead>
              <tr>
                <th>Value (a 16-bit unsigned integer)</th>
                <th>Name</th>
                <th>Reference</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td>0</td>
                <td>Reserved</td>
                <td>This document.</td>
              </tr>
              <tr>
                <td>1</td>
                <td>AcceptConnectionsUnconfiguredPeers</td>
                <td><xref target="RFC4271" section="8"/></td>
              </tr>
              <tr>
                <td>2</td>
                <td>AllowAutomaticStart</td>
                <td><xref target="RFC4271" section="8"/></td>
              </tr>
              <tr>
                <td>3</td>
                <td>AllowAutomaticStop</td>
                <td><xref target="RFC4271" section="8"/></td>
              </tr>
              <tr>
                <td>4</td>
                <td>CollisionDetectEstablishedState</td>
                <td><xref target="RFC4271" section="8"/></td>
              </tr>
              <tr>
                <td>5</td>
                <td>DampPeerOscillations</td>
                <td><xref target="RFC4271" section="8"/></td>
              </tr>
              <tr>
                <td>6</td>
                <td>DelayOpen</td>
                <td><xref target="RFC4271" section="8"/></td>
              </tr>
              <tr>
                <td>7</td>
                <td>DelayOpenTime</td>
                <td><xref target="RFC4271" section="8"/></td>
              </tr>
              <tr>
                <td>8</td>
                <td>DelayOpenTimer</td>
                <td><xref target="RFC4271" section="8"/></td>
              </tr>
              <tr>
                <td>9</td>
                <td>IdleHoldTime</td>
                <td><xref target="RFC4271" section="8"/></td>
              </tr>
              <tr>
                <td>10</td>
                <td>IdleHoldTimer</td>
                <td><xref target="RFC4271" section="8"/></td>
              </tr>
              <tr>
                <td>11</td>
                <td>PassiveTcpEstablishment</td>
                <td><xref target="RFC4271" section="8"/></td>
              </tr>
              <tr>
                <td>12</td>
                <td>SendNOTIFICATIONwithoutOPEN</td>
                <td><xref target="RFC4271" section="8"/></td>
              </tr>
              <tr>
                <td>13</td>
                <td>TrackTcpState</td>
                <td><xref target="RFC4271" section="8"/></td>
              </tr>
             <tr>
               <td>14</td>
               <td>SendHoldTimer</td>
               <td><xref target="RFC9687" section="4.1"/></td>
             </tr>
             <tr>
               <td>15</td>
               <td>SendHoldTime</td>
               <td><xref target="RFC9687" section="4.1"/></td>
             </tr>
             <tr>
               <td>16</td>
               <td>BfdEnabled</td>
               <td><xref target="I-D.ietf-idr-bgp-bfd-strict-mode" section="3"/></td>
             </tr>
             <tr>
               <td>17</td>
               <td>BfdStrictEnabled</td>
               <td><xref target="I-D.ietf-idr-bgp-bfd-strict-mode" section="3"/></td>
             </tr>
             <tr>
               <td>18</td>
               <td>BfdHoldTime</td>
               <td><xref target="I-D.ietf-idr-bgp-bfd-strict-mode" section="3"/></td>
             </tr>
             <tr>
               <td>19</td>
               <td>BfdHoldTimer</td>
               <td><xref target="I-D.ietf-idr-bgp-bfd-strict-mode" section="3"/></td>
             </tr>
             <tr>
               <td>20</td>
               <td>BfdStrictNegotiated</td>
               <td><xref target="I-D.ietf-idr-bgp-bfd-strict-mode" section="3"/></td>
             </tr>
            </tbody>
          </table>
        </section>
      </section>

      <section>
        <name>Border Gateway Protocol (BGP-4) FSM Events Sub-Registry</name>

        <t>The Border Gateway Protocol (BGP-4) FSM Events Sub-Registries
           will consist of entries with the following fields:</t>

        <ul spacing="compact">
          <li>Value</li>
          <li>Name</li>
          <li>Event Type</li>
          <li>Reference</li>
        </ul>

        <section>
          <name>Border Gateway Protocol (BGP-4) FSM Administrative Events</name>

          <table align="left">
            <thead>
              <tr>
                <th>Value</th>
                <th>Name</th>
                <th>Event Type</th>
                <th>Reference</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td>0</td>
                <td>Reserved</td>
                <td>-</td>
                <td>This document.</td>
              </tr>
              <tr>
                <td>1</td>
                <td>ManualStart</td>
                <td>Administrative</td>
                <td><xref target="RFC4271" section="8"/></td>
              </tr>

              <tr>
                <td>2</td>
                <td>ManualStop</td>
                <td>Administrative</td>
                <td><xref target="RFC4271" section="8"/></td>
              </tr>

              <tr>
                <td>3</td>
                <td>AutomaticStart</td>
                <td>Administrative</td>
                <td><xref target="RFC4271" section="8"/></td>
              </tr>

              <tr>
                <td>4</td>
                <td>ManualStart with PassiveTcpEstablishment</td>
                <td>Administrative</td>
                <td><xref target="RFC4271" section="8"/></td>
              </tr>

              <tr>
                <td>5</td>
                <td>AutomaticStart with PassiveTcpEstablishment</td>
                <td>Administrative</td>
                <td><xref target="RFC4271" section="8"/></td>
              </tr>

              <tr>
                <td>6</td>
                <td>AutomaticStart with DampPeerOscillations</td>
                <td>Administrative</td>
                <td><xref target="RFC4271" section="8"/></td>
              </tr>

              <tr>
                <td>7</td>
                <td>AutomaticStart with DampPeerOscillations and PassiveTcpEstablishment</td>
                <td>Administrative</td>
                <td><xref target="RFC4271" section="8"/></td>
              </tr>

              <tr>
                <td>8</td>
                <td>AutomaticStop</td>
                <td>Administrative</td>
                <td><xref target="RFC4271" section="8"/></td>
              </tr>

              <tr>
                <td>9</td>
                <td>ConnectRetryTimer Expires</td>
                <td>Timer</td>
                <td><xref target="RFC4271" section="8"/></td>
              </tr>

              <tr>
                <td>10</td>
                <td>HoldTimer Expires</td>
                <td>Timer</td>
                <td><xref target="RFC4271" section="8"/></td>
              </tr>

              <tr>
                <td>11</td>
                <td>KeepaliveTimer Expires</td>
                <td>Timer</td>
                <td><xref target="RFC4271" section="8"/></td>
              </tr>

              <tr>
                <td>12</td>
                <td>DelayOpenTimer Expires</td>
                <td>Timer</td>
                <td><xref target="RFC4271" section="8"/></td>
              </tr>

              <tr>
                <td>13</td>
                <td>IdleHoldTimer Expires</td>
                <td>Timer</td>
                <td><xref target="RFC4271" section="8"/></td>
              </tr>

              <tr>
                <td>14</td>
                <td>TcpConnection Valid</td>
                <td>TCP Connection</td>
                <td><xref target="RFC4271" section="8"/></td>
              </tr>

              <tr>
                <td>15</td>
                <td>Tcp CR Invalid</td>
                <td>TCP Connection</td>
                <td><xref target="RFC4271" section="8"/></td>
              </tr>

              <tr>
                <td>16</td>
                <td>Tcp CR Acked</td>
                <td>TCP Connection</td>
                <td><xref target="RFC4271" section="8"/></td>
              </tr>

              <tr>
                <td>17</td>
                <td>TcpConnectionConfirmed</td>
                <td>TCP Connection</td>
                <td><xref target="RFC4271" section="8"/></td>
              </tr>

              <tr>
                <td>18</td>
                <td>TcpConnectionFails</td>
                <td>TCP Connection</td>
                <td><xref target="RFC4271" section="8"/></td>
              </tr>

              <tr>
                <td>19</td>
                <td>BGPOpen</td>
                <td>BGP Message</td>
                <td><xref target="RFC4271" section="8"/></td>
              </tr>

              <tr>
                <td>20</td>
                <td>BGPOpen with DelayOpenTimer running</td>
                <td>BGP Message</td>
                <td><xref target="RFC4271" section="8"/></td>
              </tr>

              <tr>
                <td>21</td>
                <td>BGPHeaderErr</td>
                <td>BGP Message</td>
                <td><xref target="RFC4271" section="8"/></td>
              </tr>

              <tr>
                <td>22</td>
                <td>BGPOpenMsgErr</td>
                <td>BGP Message</td>
                <td><xref target="RFC4271" section="8"/></td>
              </tr>

              <tr>
                <td>23</td>
                <td>OpenCollisionDump</td>
                <td>BGP Message</td>
                <td><xref target="RFC4271" section="8"/></td>
              </tr>

              <tr>
                <td>24</td>
                <td>NotifMsgVerErr</td>
                <td>BGP Message</td>
                <td><xref target="RFC4271" section="8"/></td>
              </tr>

              <tr>
                <td>25</td>
                <td>NotifMsg</td>
                <td>BGP Message</td>
                <td><xref target="RFC4271" section="8"/></td>
              </tr>

              <tr>
                <td>26</td>
                <td>KeepAliveMsg</td>
                <td>BGP Message</td>
                <td><xref target="RFC4271" section="8"/></td>
              </tr>

              <tr>
                <td>27</td>
                <td>UpdateMsg</td>
                <td>BGP Message</td>
                <td><xref target="RFC4271" section="8"/></td>
              </tr>

              <tr>
                <td>28</td>
                <td>UpdateMsgErr</td>
                <td>BGP Message</td>
                <td><xref target="RFC4271" section="8"/></td>
              </tr>

              <tr>
                <td>29</td>
                <td>SendHoldTimer Expires</td>
                <td>Timer</td>
                <td><xref target="RFC9687" section="4.2"/></td>
              </tr>

              <tr>
                <td>30</td>
                <td>BfdAdminDown</td>
                <td>BFD Protocol Event</td>
                <td><xref target="I-D.ietf-idr-bgp-bfd-strict-mode" section="4"/></td>
              </tr>

              <tr>
                <td>31</td>
                <td>BfdDown</td>
                <td>BFD Protocol Event</td>
                <td><xref target="I-D.ietf-idr-bgp-bfd-strict-mode" section="4"/></td>
              </tr>

              <tr>
                <td>32</td>
                <td>BfdUp</td>
                <td>BFD Protocol Event</td>
                <td><xref target="I-D.ietf-idr-bgp-bfd-strict-mode" section="4"/></td>
              </tr>

              <tr>
                <td>33</td>
                <td>Bfd_Disabled</td>
                <td>Configuration</td>
                <td><xref target="I-D.ietf-idr-bgp-bfd-strict-mode" section="4"/></td>
              </tr>

              <tr>
                <td>34</td>
                <td>BfdHoldTimer_Expires</td>
                <td>Timer</td>
                <td><xref target="I-D.ietf-idr-bgp-bfd-strict-mode" section="4"/></td>
              </tr>

              <tr>
                <td>35</td>
                <td>BfdStrict_ConfigChanged</td>
                <td>Configuration</td>
                <td><xref target="I-D.ietf-idr-bgp-bfd-strict-mode" section="4"/></td>
              </tr>
            </tbody>
          </table>
        </section>
      </section>
    </section>
    
    <section anchor="Security">
      <name>Security Considerations</name>
      <t>This document does not introduce any new security considerations to the
         BGP protocol.</t>
    </section>
    
  </middle>

  <back>
    <displayreference target="I-D.ietf-idr-bgp-bfd-strict-mode" to="BGP-BFD-STRICT"/>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4271.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9687.xml"/>
	<xi:include href="https://datatracker.ietf.org/doc/bibxml3/draft-ietf-idr-bgp-bfd-strict-mode.xml"/>
        <!-- The recommended and simplest way to include a well known reference -->
        
      </references>
 
      <references>
        <name>Informative References</name>

        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7950.xml"/>

      </references>

    </references>
    
    <section anchor="Acknowledgements" numbered="false">
      <name>Acknowledgements</name>
      <t>Thanks to Tom Petch and Ketan Talaulikar for their review on this document.</t>
    </section>
    
    <section anchor="Contributors" numbered="false">
      <name>Contributors</name>
      <t>TBD</t>
    </section>
    
 </back>
</rfc>
