Provided by: exabgp_4.2.25-1_all bug

NAME

       exabgp — Influence or control network using BGP

SYNOPSIS

       exabgp   [--help   |   -h]   [--version   |  -v]  [--root  |  -f]  [--env  env-config  |  -e  env-config]
              [--full-ini | --fi] [--diff-ini | --di] [--full-env | --fe] [--diff-env  |  --de]  [--run  helper]
              [--debug  |  -d]  [--validate]  [--signal  time]  [--once  |  -1]  [--pdb  |  -p]  [--memory | -s]
              [--profile profile] [--test | -t] [--decode hex-message | -x hex-message] [configuration ...]

DESCRIPTION

       exabgp allows engineers to control their network from commodity  servers.   Possible  uses  include  DDoS
       mitigation,  network  visualisation, service high availability and implementing anycast.  exabgp does not
       perform any FIB manipulation on the system it runs on; if you need that this is not the program for  you.
       exabgp can also print received BGP messages into readable plain text or JSON formatted text.

       The arguments are as follows:

       --help | -h
               Display summary of usage and configuration of exabgp.

       --version | -v
               Display the exabgp version number and exit.

       --root folder | -f folder
               Root folder where etc, bin, sbin are located.

       --env env-config | -e env-config
               Specify where the environment configuration file can be found.

       --full-ini | --fi
               Display the full environment configuration using on stdout using the ini format.

       --diff-ini | --di
               Display the non-default environment configuration on stdout using the ini format.

       --full-env | --fe
               Display the full environment configuration on stdout using the env format.

       --diff-env | --de
               Display the non-default configuration on stdout using the env format.

       --run helper
               Do not run ExaBGP but one of its helper programs, options are: healthcheck and cli

       --debug | -d
               Start  the python debugger on serious logging on and on reception of the SIGTERM signal.  This is
               a shortcut for exabgp.log.all=true and exabgp.log.level=DEBUG.

       --validate
               Validate the configuration file format only.

       --signal time
               Issue a SIGUSR1 signal to reload the configuration after the specified number  of  seconds,  only
               useful for code debugging.

       --once | -1
               Only perform one attempt to connect to peers, used mostly for debugging.

       --pdb | -p
               Start  the  python  debugger  on  critical  logging, reception of SIGTERM, and on uncaught python
               exceptions.  This is a shortcut for exabgp.pdb.enable=true.

       --memory | -s
               Display memory usage information on program exit.

       --profile profile
               Enable collection  of  profiling  information  to  the  given  file.   This  is  a  shortcut  for
               exabgp.profile.enable=true and exabgp.profile.file=profile.

       --test | -t
               Only do a configuration validity check.

       --decode hex-message | -x hex-message
               Decode a raw route packet in hexadecimal string.

ENVIRONMENT

       The configuration of exabgp is split in two:

          The  environment  configuration  which  controls  the  basic  execution  of  exabgp  such as logging,
           daemonizing, pid-file, profiling etc.
          The BGP configuration of exabgp, which specifies which neighbors it should  talk  BGP  with  and  all
           other aspects of the BGP configuration.

       The environment configuration can be specified a number of different ways, with different priority:

       1.   Command line values using dot-separated notation.
       2.   Environment variables using dot-separated notation.
       3.   Command line values using underscore-separated notation.
       4.   Environment variables using underscore-seprated notation.
       5.   The values from the ini configuration file, /etc/exabgp/exabgp.env
       6.   The built-in default values.

       The following environment variables can be used to configure the basic execution of exabgp:

       exabgp.api.encoder    (experimental)  default  encoder to use with external API (text or json).  Default:
                             text.

       exabgp.api.highres    Controls whether to use high-resolution timestamps in JSON.  Default: false.

       exabgp.api.respawn    Controls whether to respawn a helper process if it dies.  Default: false.

       exabgp.bgp.openwait   Controls how many seconds we should wait for  a  BGP  open  message  once  the  TCP
                             session is established.  Default: 60 seconds.

       exabgp.cache.attributes  Controls  whether  all  attributes (configuration and wire) should be cached for
                             faster parsing.  Default: true.

       exabgp.cache.nexthops (deprecated) Controls whether route next-hops are cached.  Default: true.

       exabgp.daemon.daemonize Controls whether exabgp should run in the background.  Default: false.

       exabgp.daemon.pid     Where to save the PID of exabgp if we manage it.  Default: '' (not set).

       exabgp.daemon.user    The user to run exabgp as.  Should be an unprivileged user.  Default: nobody.

       exabgp.log.all        Controls whether debug logging should be done for everything.  Default: false.

       exabgp.log.configuration Controls whether logging should  be  done  for  the  configuration  and  command
                             parsing.  Default: true.

       exabgp.log.daemon     Controls  whether  logging  should  be done for PID change, forking, etc.  Default:
                             true.

       exabgp.log.destination Controls where logging should be sent.  syslog (or no setting) sends the  data  to
                             the local syslog server.  host:<location> sends the data to a remote syslog server.
                             stdout  sends  the  data  to  stdout.  stderr sends the data to stderr.  <filename>
                             sends the data to the named file.  Default: stdout.

       exabgp.log.enable     Controls whether logging should be done.  Default: true.

       exabgp.log.level      Sets the minimum severity level to log.  Default: INFO.

       exabgp.log.message    Controls logging of changes in  route  announcement  in  config  reload.   Default:
                             false.

       exabgp.log.network    Controls  logging  of  networking  information  (TCP/IP state, network state etc.).
                             Default: true.

       exabgp.log.packets    Controls logging of BGP packets sent and received.  Default: false.

       exabgp.log.parser     Controls logging of BGP message parsing details.  Default: false.

       exabgp.log.processes  Controls logging of forked processes.  Default: true.

       exabgp.log.reactor    Controls logging of signals received and command reload.  Default: true.

       exabgp.log.rib        Controls logging of changes in locally configured routes.  Default: false.

       exabgp.log.routes     Controls logging of received routes.  Default: false.

       exabgp.log.short      Coontrols whether to use long or short log format (not prepended with time,  level,
                             pid and source).  Default: false.

       exabgp.log.timers     Controls logging of keepalive timers.  Default: false.

       exabgp.pdb.enable     Controls  whether pdb, the python interactive debugger should be started on program
                             faults.  Default: false.

       exabgp.profile.enable Controls whether profiling of the code should be done.  Default: false.

       exabgp.profile.file   Controls where profiling results  should  be  written.   None/empty  means  stdout.
                             Default: empty.

       exabgp.reactor.speed  Controls  the  time  of  one  reactor  loop.   Use only if you understand the code.
                             Default: 1.0.

       exabgp.tcp.acl        (experimental, unimplemented).  Default: empty.

       exabgp.tcp.bind       IP address to bind to when listening (no ip to disable).  Default: empty.

       exabgp.tcp.delay      Start to announce routes when the minutes in the hour is a modulo of  this  number.
                             Default: 0.

       exabgp.tcp.once       Only  perform one TCP connection attempt per peer, for debugging scripts.  Default:
                             false.

       exabgp.tcp.port       Port to bind to when listening.  Default: 179.

FILES

       /etc/exabgp/exabgp.env is the default file  for  setting  the  "environment"  variables  controlling  the
       execution  of  exabgp.  An alaternative "env" configuration file can be supplied via the --env env-config
       argument.  The format of this file is "Windows INI format".  All the default settings can be  shown  with
       the exabgp --test --full-init command, an example showing parts of this output is:

          [exabgp.api]
          encoder = text
          highres = false
          respawn = false

          [exabgp.bgp]
          openwait = 60

       Additionally,  the  user  will  need  to supply a configuration file controlling the BGP configuration of
       exabgp, in the format described in exabgp.conf(5).

SIGNALS

       exabgp catches a few different signals to control specific actions.  They are:

       ALRM   Restarts exabgp.
       USR1   Causes exabgp to reload the configuration.
       USR2   Causes exabgp to reload the configuration and restart any forked processes.
       TERM   Terminates exabgp.
       HUP    Also terminates exabgp (does not reload the configuration anymore).

       Reloading large configurations using signals is currently  not  recommended,  because  the  configuration
       parsing  code  is currently blocking.  Therefore if you have a large configuration change, it could cause
       the peer to miss some keepalive and cause a session flap.

DIAGNOSTICS

       The --test argument is useful to validate the syntax of the configuration file.  The  --debug  flag  will
       provide copious debug output to whereever the various exabgp.log variable settings dictate.

SEE ALSO

       exabgp.conf(5)

STANDARDS

       A list of the standards exabgp implements which is indicative of the features implemented is:

       RFC 4893    BGP Support for Four-octet AS Number Space
       RFC 4760    Multiprotocol Extension for BGP-4
       RFC 4659    BGP-MPLS IP Virtual Private Network (VPN) Extension for IPv6 VPN
       RFC 4762    Virtual Private LAN Service (VPLS) Using Label Distribution Protocol (LDP) Signalling
       RFC 5575    Dissemination of Flow Specification Rules
       RFC 4724    Graceful Restart Mechanism for BGP
       RFC 7313    Enhanced Route Refresh Capability for BGP-4
       RFC 7311    The Accumulated IGP Metric Attribute for BGP
       draft-raszuk-idr-flow-spec-v6-03  (draft-ietf-idr-flow-spec-v6-06),  Dissemination  of Flow Specification
                   Rules for IPv6
       draft-simpson-idr-flowspec-redirect-00 (-02) BGP Flow-Spec Redirect to IP Action
       draft-ietf-idr-flowspec-redirect-00 (-02) BGP Flow-Spec Redirect to IP Action
       draft-ietf-idr-add-paths-08 (-10) Advertisement of Multiple Paths in BGP
       draft-ietf-idr-bgp-multisession-07 (??)
       draft-scudder-bmp-01 (??)

       A list of other more basic BGP-related standard entirely or partially implemented is:

       RFC 1997    BGP Communities Attribute
       RFC 8092    BGP Large Communities Attribute
       RFC 2385    Protection of BGP Sessions via the TCP MD5 Signature
       RFC 2545    Use of BGP-4 Multirptocol Extensions for IPv6 Inter-Domain Routing
       RFC 2918    Route Refresh Capability for BGP-4
       RFC 3107    Carrying Label Information in BGP-4
       RFC 3765    NOPEER Community for Border Gateway Protocol (BGP) Route Scope Control
       RFC 7999    BLACKHOLE BGP Community for Blackholing
       RFC 4271    A Border Gateway Protocol 4 (BGP-4)
       RFC 4360    BGP Extended Communities Attribute
       RFC 4364    Constrained Route Distribution for BGP/MPLS IP VPNs
       RFC 4456    BGP Rotue Relection: An Alternative to Full Mesh Internal BGP (iBGP)
       RFC 5396    Textual Representation of Autonomous System (AS) Numbers
       RFC 5492    Capabilities Advertisement with BGP-4
       RFC 6286    Autonomous-System-Wide Unique BGP Identifier for BGP-4
       RFC 6608    Subcodes for BGP Finate State Machine Error
       RFC 7752    North-Bound Distribution of Link-State and Traffic Engineering (TE) Information Using BGP
       draft-gredler-idr-bgp-ls-segment-routing-ext-03 BGP Link-State extensions for Segment Routing
       draft-ietf-idr-bgp-prefix-sid-05 Segment Routing Prefix SID extensions for BGP

                                                February 26, 2015                                      EXABGP(1)