Provided by: openbgpd_7.2-1_amd64 bug

NAME

       bgpd — Border Gateway Protocol daemon

SYNOPSIS

       bgpd [-cdnvV] [-D macro=value] [-f file]

DESCRIPTION

       bgpd  is  a  Border  Gateway  Protocol  (BGP)  daemon which manages the network routing tables.  Its main
       purpose is to exchange information concerning "network reachability" with other BGP systems.   bgpd  uses
       the Border Gateway Protocol, Version 4, as described in RFC 4271.

       BGP  is  an  exterior  gateway  protocol  using  a  multiple step decision process to find the best path.
       Advanced filtering can be used to influence the route decision  for  traffic  engineering.   The  session
       engine  of bgpd is responsible for maintaining the TCP session with each neighbor.  Updates are passed to
       the Route Decision Engine (RDE) where the paths are filtered and used to compute  a  Routing  Information
       Base (RIB).  The parent process is responsible for keeping the RIB in sync with the kernel routing table.

       The  route  decision  process selects the best path by evaluating all paths to the same destination.  The
       decision process continues to the next step  if  paths  have  equal  attributes.   Paths  that  are  less
       preferred are taken out of consideration until there is only one path left.

           1.  All paths with errors or loops are not eligible.

           2.  Paths  with  an  unreachable  nexthop  are not eligible.  After this step all remaining paths are
               valid.

           3.  The path with the highest LOCAL_PREF is selected.

           4.  The path with the shortest AS path attribute is selected.

           5.  The ORIGIN attribute is compared.  The order is IGP before EGP before incomplete origins.

           6.  The path with the lowest MULTI_EXIT_DISC metric  is  selected.   Normally,  this  value  is  only
               considered  when  choosing between multiple routes sent by the same neighbouring AS.  However, if
               “rde med compare always” is set in the configuration, the metric is compared for routes  sent  by
               any AS.

           7.  Comparison  of the BGP session type.  Paths learned over an external (EBGP) session are preferred
               over those learned via an internal (IBGP) session.

           8.  The path with the highest local weight is selected.

           9.  If “rde route-age evaluate” is set then the oldest path is selected.

           10. The path coming from the neighbor with the lowest BGP ID wins.  If the ORIGINATOR_ID attribute is
               present that value will be used in the comparison instead.

           11. The path with the shortest CLUSTER_LIST attribute is selected.  If  it  is  not  present  then  a
               length of 0 is used in the comparison.

           12.  The  path  coming  from  the peer with the lowest IP address is selected.  IPv4 sessions will be
               preferred over IPv6 ones.

       Attributes set by filters can be used to tip the decision process to prefer particular paths over others.
       This can be achieved by changing the localpref,  med,  or  weight  attributes.   AS  path  prepending  or
       changing the med or origin attribute can be used to influence the routing behaviour on remote systems.

       To have bgpd enabled at boot time, use “rcctl enable bgpd”, which sets

             bgpd_flags=""

       in rc.conf.local(8).

       When bgpd starts up, it reads settings from a configuration file, typically bgpd.conf(5).  A running bgpd
       process can be controlled using the bgpctl(8) utility.

       The options are as follows:

       -c          Force  bgpd  to  do  carp(4)  demotion  at  startup  when  the  demote functionality is used.
                   Normally, bgpd will only do demotion at startup when the demotion counter for  the  group  in
                   question  is  already  greater  than 0.  bgpd will start handling demotion after all sessions
                   with demotion configured for the given group have been successfully established.   At  system
                   startup,  rc(8)  has  the  demotion  counter for the group carp increased until after bgpd is
                   started, so this option should not be used in rc.conf(8).

       -D macro=value
                   Define macro to be set to value on the command line.  Overrides the definition  of  macro  in
                   the configuration file.

       -d          Do  not  daemonize.   If this option is specified, bgpd will run in the foreground and log to
                   stderr.

       -f file     Use file as the configuration file, instead of the default /etc/bgpd.conf.

       -n          Configtest mode.  Only check the configuration file for validity.

       -v          Produce more verbose output.

       -V          Show the version and exit.

FILES

       /etc/bgpd.conf            Default bgpd configuration file.
       /run/bgpd.sock.<rdomain>  Default bgpd control socket, where <rdomain> is the  routing  domain  in  which
                                 bgpd has been started.

SEE ALSO

       bgpd.conf(5), bgpctl(8), bgplg(8), bgplgsh(8)

STANDARDS

       R. Chandra, P. Traina, and T. Li, BGP Communities Attribute, RFC 1997, August 1996.

       A. Heffernan, Protection of BGP Sessions via the TCP MD5 Signature Option, RFC 2385, August 1998.

       P.  Marques and F. Dupont, Use of BGP-4 Multiprotocol Extensions for IPv6 Inter-Domain Routing, RFC 2545,
       March 1999.

       E. Chen, Route Refresh Capability for BGP-4, RFC 2918, September 2000.

       G. Huston, NOPEER Community for Border Gateway Protocol (BGP) Route Scope Control, RFC 3765, April 2004.

       Y. Rekhter, T. Li, and S. Hares, A Border Gateway Protocol 4 (BGP-4), RFC 4271, January 2006.

       S. Sangli, D. Tappan, and Y. Rekhter, BGP Extended Communities Attribute, RFC 4360, February 2006.

       E. Rosen and Y. Rekhter, BGP/MPLS IP Virtual Private Networks (VPNs), RFC 4364, February 2006.

       T. Bates, E. Chen, and R. Chandra, BGP Route Reflection: An Alternative to Full Mesh Internal BGP (IBGP),
       RFC 4456, April 2006.

       E. Chen and V. Gillet, Subcodes for BGP Cease Notification Message, RFC 4486, April 2006.

       T. Bates, R. Chandra, D. Katz, and Y. Rekhter, Multiprotocol Extensions  for  BGP-4,  RFC  4760,  January
       2007.

       V.  Gill,  J.  Heasley,  D.  Meyer,  P.  Savola, and C. Pignatoro, The Generalized TTL Security Mechanism
       (GTSM), RFC 5082, October 2007.

       J. Scudder and R. Chandra, Capabilities Advertisement with BGP-4, RFC 5492, February 2009.

       E. Chen and J. Yuan, Autonomous-System-Wide Unique BGP Identifier for BGP-4, RFC 6286, June 2011.

       Q. Vohra and E. Chen, BGP Support for Four-Octet Autonomous System (AS) Number Space, RFC 6793, Dec 2012.

       E. Chen, J. Scudder, P. Mohapatra, and K. Patel, Revised Error Handling  for  BGP  UPDATE  Messages,  RFC
       7606, August 2015.

       L.  Blunk,  M.  Karir,  and  C. Labovitz, Multi-Threaded Routing Toolkit (MRT) Routing Information Export
       Format, RFC 6396, October 2011.

       J. Dong, M. Chen, and A. Suryanarayana, Subcodes for BGP Finite State Machine Error, RFC 6608, May 2012.

       K. Patel, E. Chen, and B. Venkatachalapathy, Enhanced Route Refresh Capability for BGP-4, RFC 7313,  July
       2014.

       W. Kumari, R. Bush, H. Schiller, and K. Patel, Codification of AS 0 Processing, RFC 7607, August 2015.

       C.  Petrie  and  T. King, Multi-Threaded Routing Toolkit (MRT) Routing Information Export Format with BGP
       Additional Path Extensions, RFC 8050, May 2017.

       J. Heitz, J. Snijders, K. Patel, I. Bagdonas, and N. Hilliard, BGP Large Communities Attribute, RFC 8092,
       February 2017.

       P. Mohapatra, K. Patel, J. Scudder, D. Ward, and R. Bush, BGP Prefix  Origin  Validation  State  Extended
       Community, RFC 8097, March 2017.

       J. Snijders, J. Heitz, and J. Scudder, BGP Administrative Shutdown Communication, RFC 8203, July 2017.

       R.  Bush and R. Austein, The Resource Public Key Infrastructure (RPKI) to Router Protocol, Version 1, RFC
       8210, September 2017.

       J. Mauch, J. Snijders, and G. Hankins, Default External BGP (EBGP)  Route  Propagation  Behavior  without
       Policies, RFC 8212, July 2017.

       P. Francois, B. Decraene, C. Pelsser, K. Patel, and C. Filsfils, Graceful BGP Session Shutdown, RFC 8326,
       March 2018.

       E. Chen and J. Scudder, Extended Optional Parameters Length for BGP OPEN Message, RFC 9072, July 2021.

HISTORY

       The bgpd program first appeared in OpenBSD 3.5.

Debian                                          September 3, 2021                                        BGPD(8)