<?xml version="1.0"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<rfc category="std" ipr="trust200902" docName="draft-walton-bgp-hostname-capability-00">
    <front>
        <title>Fully Qualified Domain Name Capability for BGP</title>
        <author initials="D.W." surname="Walton" fullname="Daniel Walton">
            <organization abbrev="Cumulus Networks">Cumulus Networks</organization>
            <address>
                <postal>
                    <street>3701 NW Cary Parkway, Suite #300</street>
                    <city>Cary</city>
                    <region>NC</region>
                    <code>27513</code>
                    <country>US</country>
                </postal>
                <email>dwalton@cumulusnetworks.com</email>
            </address>
        </author>
        <author initials="D.D." surname="Dutt" fullname="Dinesh Dutt">
            <organization abbrev="Cumulus Networks">Cumulus Networks</organization>
            <address>
                <postal>
                    <street>185 E. Dana Street</street>
                    <city>Mountain View</city>
                    <region>CA</region>
                    <code>94041</code>
                    <country>US</country>
                </postal>
                <email>ddutt@cumulusnetworks.com</email>
            </address>
        </author>
        <date month="May" year="2015" />
        <abstract>
            <t>In this document we propose a BGP capability that allows the advertisemnet of a BGP speaker's FQDN (Fully Qualified Domain Name).</t>
        </abstract>
    </front>
    <middle>
        <section title="Introduction">
            <t>BGP can be made much easier to troubleshoot by displaying the hostname of the speaker in addition to the speaker's IP address.  This is especially true for IPv6 addresses due to their length.  If all BGP sessions were via global addresses then DNS could be used to resolve the hostname for each addresss.  BGP sessions can be via IPv6 link-local addresses which will not have a DNS entry per Sectino 2.1 of <xref format="default" pageno="false" target="RFC4472" />. This document defines a new BGP capability that allows the exchange of a speaker's FQDN.</t>
        </section>
        <section title="Specification of Requirements">
            <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in <xref format="default" pageno="false" target="RFC2119" />.</t>
        </section>
        <section title="FQDN Capability">
            <t>The FQDN Capability is a new BGP capability <xref format="default" pageno="false" target="RFC5492" />.  The Capability Code for this capability is specified in the IANA Considerations section of this document. The Capability Length field of this capability is variable. The Capability Value field consists of the following:
            </t>
            <figure>
            <artwork>
             +--------------------------------+
             |  Hostname Length (1 octet)     |
             +--------------------------------+
             |  Hostname (variable)           |
             +--------------------------------+
             |  Domain Name Length (1 octet)  |
             +--------------------------------+
             |  Domain Name (variable)        |
             +--------------------------------+
            </artwork>
            </figure>
            <t>
                <list>
                    <t>
                        Hostname Length:
                        <list>
                            <t>
                                The number of characters in the Hostname
                            </t>
                        </list>
                    </t>
                    <t>
                        Hostname:
                        <list>
                            <t>
                                The hostname encoded via UTF-8
                            </t>
                        </list>
                    </t>
                    <t>
                        Domain Name Length:
                        <list>
                            <t>
                                The number of characters in the Domain Name 
                            </t>
                        </list>
                    </t>
                    <t>
                        Domain Name:
                        <list>
                            <t>
                                The domain name encoded via UTF-8
                            </t>
                        </list>
                    </t>
                </list>
            </t>
        </section>
        <section title="Operation">
            <t>The FQDN Capability SHOULD only be used for displaying the hostname and/or domain name of a speaker in order to make troubleshooting easier.
            </t>
        </section>
        <section title="IANA Considerations">
            <t>IANA has assigned capability number TBD for the FQDN Capability described in this document.  This registration is in the BGP Capability Codes registry.</t>
        </section>
        <section title="Security Considerations">
            <t>This document introduces no new security concerns to BGP or other specifications referenced in this document.</t>
        </section>
    </middle>
    <back>
        <references title="Normative References">
            <?rfc include="reference.RFC.4472.xml"?>
            <?rfc include="reference.RFC.5492.xml"?>
            <?rfc include="reference.RFC.2119.xml"?>
        </references>
        <references title="Implementation References">
          <reference anchor="quagga" target="https://github.com/CumulusNetworks/quagga/commit/45d4b165b9d01c0e98082e7d1e90a3b1a60b1085">
                <front>
                <title>Quagga - BGP FQDN Capability</title>
                <author initials="D.D." surname="Dutt" fullname="Dinesh Dutt">
                    <organization abbrev="Cumulus Networks">Cumulus Networks</organization>
                </author>
                <date month="May" year="2015" />
                </front>
            </reference>
        </references>
    </back>
</rfc>
