<?xml version="1.0"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<rfc category="std" ipr="trust200902" docName="draft-walton-bgp-hostname-capability-01">
    <front>
        <title>Hostname 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="July" year="2015" />
        <abstract>
            <t>In this document, we introduce a new BGP capability that allows the advertisemnet of a BGP speaker's hostname.</t>
        </abstract>
    </front>
    <middle>
        <section title="Introduction">
            <t>BGP is increasingly used inside the data center. Due to the sheer scale of devices involved, simplifying troubleshooting BGP would be very useful. One simple way to ease the troubleshooting is to display the hostname of the speaker in addition to the speaker's IP address. 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. The hostname and domain name used are assumed to be extracted from the hostname and domain name set on the device. While there are other ways to potentially obtain the same information, having standard BGP show commands use the hostname makes the use of this option quite powerful.
            </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.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>
