Manual:Routing/BGP                                                                                                                                               1
Manual:Routing/BGP
    Applies to RouterOS: v3, v4 +
    Summary
    The Border Gateway Protocol (BGP) allows setting up an interdomain dynamic routing system that automatically
    updates routing tables of devices running BGP in case of network topology changes.
    MikroTik RouterOS supports BGP Version 4, as defined in RFC 4271
    Standards and Technologies:
    • RFC 4271 Border Gateway Protocol 4
    • RFC 4456 BGP Route Reflection
    • RFC 5065 Autonomous System Confederations for BGP
    •   RFC 1997 BGP Communities Attribute
    •   RFC 2385 TCP MD5 Authentication for BGPv4
    •   RFC 5492 Capabilities Advertisement with BGP-4
    •   RFC 2918 Route Refresh Capability
    •   RFC 4760 Multiprotocol Extensions for BGP-4
    •   RFC 2545 Use of BGP-4 Multiprotocol Extensions for IPv6 Inter-Domain Routing
    •   RFC 4893 BGP Support for Four-octet AS Number Space
    Instance
    Sub-menu: /routing bgp instance
               Property                                                                     Description
   as (integer: 0..4294967295;        32-bit BGP autonomous system number
   Default: )
   client-to-client-reflection (yes | in case this instance is a route reflector: whether to redistribute routes learned from one routing reflection client to
   no; Default: yes)                  other clients
   cluster-id (IP address;)           in case this instance is a route reflector: cluster ID of the router reflector cluster this instance belongs to. This
                                      attribute helps to recognize routing updates that comes from another route reflector in this cluster and avoid
                                      routing information looping. Note that normally there is only one route reflector in a cluster; this case 'cluster-id'
                                      does not need to be configured and BGP router ID is used instead
   confederation (integer:            in case of BGP confederations: autonomous system number that identifies the [local] confederation as a whole
   0..4294967295;)
   confederation-peers (integer:      in case of BGP confederations: list of BGP peers internal to the [local] confederation
   0..4294967295;)
   ignore-as-path-len (yes | no;      whether to ignore AS_PATH attribute in BGP route selection algorithm
   Default: no)
   name (string;)                     BGP instance name
   out-filter (string;)               the output routing filter used by all BGP peers belonging to this instance
   redistribute-connected (yes |      if enabled, this BGP instance will redistribute the information about connected routes, i.e., routes to the networks
   no; Default: no)                   that can be directly reached
Manual:Routing/BGP                                                                                                                                               2
   redistribute-ospf (yes | no;       if enabled, this BGP instance will redistribute the information about routes learned by OSPF
   Default: no)
   redistribute-other-bgp (yes |      if enabled, this BGP instance will redistribute the information about routes learned by other BGP instances
   no; Default: no)
   redistribute-rip (yes | no;        if enabled, this BGP instance will redistribute the information about routes learned by RIP
   Default: no)
   redistribute-static (yes | no;     if enabled, the router will redistribute the information about static routes added to its routing database, i.e., routes
   Default: no)                       that have been created using the '/ip route add' command on the router
   router-id (IP address; Default:    the BGP Router ID (for this instance). If not specified, BGP will use one of router's IP addresses.
   0.0.0.0)
   routing-table (string; Default: ) Name of routing table this BGP instance operates on. Non-default routing-table and list of VRFs cannot be
                                     configured for the same instance at the same time. Available starting from v4.3
   vrf (string;)                      List of VRFs used for vpnv4 routes
    Peer
    Sub-menu: /routing bgp peer
                   Property                                                                  Description
   address-families (ip | ipv6 | l2vpn | list of address families about which this peer will exchange routing information. The remote peer must support
   l2vpn-cisco | vpnv4; Default: ip)     (they usually do) BGP capabilities optional parameter to negotiate any other families than IP
   allowas-in (string;)
   as-override (yes | no;)                If set, then all instances of remote peer's AS number in BGP AS PATH attribute are replaced with local AS
                                          number before sending route update to that peer. Happens before routing filters and prepending.
   default-originate (always |            specifies how to distribute default route
   if-installed | never;)
   hold-time (time; Default: )            specifies the BGP Hold Time value to use when negotiating with peers. According to the BGP specification, if
                                          router does not receive successive KEEPALIVE and/or UPDATE and/or NOTIFICATION messages
                                          within the period specified in the Hold Time field of the OPEN message, then the BGP connection to the peer
                                          will be closed. The minimal hold-time value of both peers will be actually used (note that the special value 0
                                          or 'infinity' is lower than any other values)
                                          •   infinity - never expire the connection and never send keepalive messages.
   in-filter (string;)                    name of the routing filter that is applied to the incoming routing information
   instance (string;)                     the instance this peer belongs to
   interface (string | unspecified;       if specified, then outgoing connection will be made using only this interface; socket is directly bind to
   Default: unspecified)                  specified interface. Important if you want to run BGP using IPv6 link-local addresses. Do not specify name of
                                          interface that is added as a bridge port here!
   max-prefix-limit (integer;)            maximum number of prefixes to accept from a specific peer. When this limit is exceeded, TCP connection
                                          between peers is tear down
   max-prefix-restart-time (time 1        minimum time interval after which peers can reestablish BGP session.
   minute .. 10 days | infinity; Default: • infinity - session is not reestablished until administrator's intervention.
   infinity)
Manual:Routing/BGP                                                                                                                                          3
   multihop (yes | no; Default: no)       specifies whether the remote peer is more than one hop away.
                                          This option affects outgoing nexthop selection as described in RFC 4271 (for EBGP only, excluding EBGP
                                          peers local to the confederation). It also affects
                                          •   whether to accept connections from peers that are not in the same network (the remote address of the
                                              connection is used for this check);
                                          •   whether to accept incoming routes with NEXT_HOP attribute that is not in the same network as the
                                              address used to establish the connection;
                                          •   the target-scope of the routes installed from this peer; routes from multi-hop or IBGP peers resolve their
                                              nexthops through IGP routes by default.
   name (string;)                         the name of the peer
   nexthop-choice (default | force-self Affects the outgoing NEXT_HOP attribute selection. Note that nexthops set in filters always takes
   | propagate; Default: default)       precedence. Also note that nexthop is not changed on route reflection, expect when it's set in filter.
                                          •   default - select the nexthop as described in RFC 4271
                                          •   force-self - always use a local address of the interface that used to connect to the peer as the nexthop;
                                          •   propagate - try to propagate further the nexthop received; i.e. if the route has BGP NEXT_HOP attribute,
                                              then use it as the nexthop, otherwise fall back to the default case
   out-filter (string;)                   name of the routing filter that is applied to the outgoing routing information, if instance has also configured
                                          out-filter, then first will be applied instance filters and only then peer's filters.
   passive (yes | no;)                    If set to yes, then connection attempts to remote peer are not made. The remote peer must initialize connection
                                          in this case. Available starting from v4.3
   remote-address (IP address;)           address of the remote peer
   remote-as (integer:                    32-bit AS number of the remote peer
   0..4294967295;)
   remote-port (integer; Default:         Remote peers port to establish tcp session
   179)
   remove-private-as (yes | no;           If set, then if BGP AS PATH attribute contains only private AS numbers, the attribute is removed before
   Default: )                             sending out route update. The removing happens before routing filters are applied and before local AS number
                                          is prepended to the AS path. Available starting from v4.3
   route-reflect (yes | no; Default: no) specifies whether this peer is route reflection client
   tcp-md5-key (string;)                  key used to authenticate the connection with TCP MD5 signature as described in RFC 2385
   ttl (integer: 1..255 | default;        Time To Leave, the hop limit for TCP connection. For example, if 'ttl=1' then only single hop neighbors will
   Default: default)                      be able to establish the connection. This property only affects EBGP peers.
                                          •   default - system's default TTL value is used
   update-source (IP address |            If address is specified, this address is used as the source address of the outgoing TCP connection.
   interface name;)                       If interface name is specified, an address belonging to the interface is used as described.
                                          This property is ignored, if the value specified is not a valid address of the router or name an interface with
                                          active addresses. Do not specify name of interface that is added as a bridge port here!
    Read only status properties:
Manual:Routing/BGP                                                                                                                                     4
                                   Property                                                             Description
     remote-id (IP address)                                               BGP router ID of the remote end
     local-address (IP address)                                           local address used for TCP connection
     uptime (time)                                                        how long the connection has been in established state
     prefix-count (integer)                                               number routing prefixes received from this peer currently in routing table
     updates-sent (integer)                                               total number of reachable routing prefixes advertised
     updates-received (integer)                                           total number of reachable routing prefixes received
     withdrawn-sent (integer)                                             total number of withdrawn routing prefixes advertised
     withdrawn-received (integer)                                         total number of withdrawn routing prefixes received
     remote-hold-time (time)                                              hold time value offered by the remote end
     used-hold-time (time)                                                negotiated hold time value
     used-keepalive-time (time)                                           negotiated keepalive message interval (used-hold-time / 3)
     refresh-capability (yes | no)
     as4-capability (yes | no)                                            set to yes if peer supports 4-byte AS numbers
     used-keepalive-time (time)                                           negotiated keepalive message interval (used-hold-time / 3)
     state (idle | connect | active | opensent | openconfirm | established) BGP protocol state
    Advertisements
    Sub-menu: /routing bgp advertisements
    Read only information about outgoing routing information currently advertised.
    This information is calculated dynamically after 'print' command is issued. As a result, it may not correspond to the
    information that at the exact moment has been sent out. Especially if in case of slow connection, routing information
    prepared for output will spend long time in buffers. 'advertisements print' will show as things should be, not as they
    are!
                         Note: At the moment AS-PATH attribute for advertised routes is shown without prepends.
                                             Property                                 Description
                                  prefix (IP prefix)             the NLRI prefix sent out
                                  nexthop (IP address)           the NEXT_HOP attribute value sent out
                                  as-path (string)               the AS_PATH attribute value sent out
                                  origin (igp | egp |            the ORIGIN attribute value sent out
                                  incomplete)
                                  local-pref (integer)           the LOCAL_PREF attribute value sent out
                                  med (integer)                  the MULTI_EXIT_DISC attribute value sent out
                                  atomic-aggregate (yes | no)    the ATOMIC_AGGREGATE attribute value sent
                                                                 out
                                  aggregator (IP address)        the AGGREGATOR attribute value sent out
Manual:Routing/BGP                                                                                                                                     5
                                    originator-id (IP address)       the ORIGINATOR_ID attribute value sent out
                                    cluster-list (string)            the CLUSTER_LIST attribute value sent out
                                    peer (string)                    the peer this information is advertised to
    Network
    Sub-menu: /routing bgp network
    BGP network configuration. BGP Networks is a list of IP prefixes to be advertised.
                           Property                                                             Description
             network (IP prefix;)                    the aggregate prefix
             synchronize (yes | no; Default: no) install a route for this network only when there is an active IGP route matching this network
    Aggregate
    Sub-menu: /routing bgp aggregate
    BGP allows the aggregation of specific routes into one route with. This menu ('/routing bgp aggregate') allows to
    specify which routes you want to aggregate, and what attributes to use for the route created by aggregation.
                 Property                                                                        Description
   advertise-filter (string;)                name of the filter chain used to select the routes from which to inherit attributes
   attribute-filter (string;)                name of the filter chain used to set the attributes of the aggregate route
   include-igp (yes | no; Default: )         By default, BGP aggregate takes into account only BGP routes. Use this option to take IGP and connected
                                             routes into consideration.
   inherit-attributes (yes | no; Default: whether to inherit BGP attributes from aggregated routes
   yes)
   instance (string;)                        the instance this network belongs to
   prefix (IP prefix;)                       the aggregate prefix
   summary-only (yes | no; Default:          whether to suppress advertisements of all routes that fall within the range of this aggregate
   yes)
   suppress-filter (string;)                 name of the filter chain used to select the routes to be suppressed
    Read only status property:
                                             routes-used (integer) aggregated route statistics.
                                                                      •     in console- list of route console IDs used;
                                                                      •     in winbox- number of routes used.
Manual:Routing/BGP                                                                                                                        6
    Terminology
    • aggregated routes - all routes, that fall within the range of this aggregate; they possibly are suppressed;
    • aggregate route - route created by aggregation.
                        Note: Each aggregate will only affect routes coming from peers that belong to it's instance. suppress-filter is
                        useful only if summary-only=no; advertise-filter is useful only if inherit-attributes=yes.
                        If result attribute-filter match reject or discard, the aggregate route is not created.
    Vpnv4 route
    Sub-menu: /routing bgp vpnv4-route
    Read only information about vpnv4 routing information currently advertised.
                                             Property                             Description
                                 bgp-as-path (string;)            the AS_PATH attribute value
                                 bgp-atomic-aggregate (string;)   the ATOMIC_AGGREGATE attribute value
                                 bgp-communities (;)
                                 bgp-ext-communities (string;)
                                 bgp-local-pref (string;)         the LOCAL_PREF attribute value
                                 bgp-med (string;)                the MULTI_EXIT_DISC attribute value
                                 bgp-origin                       the ORIGIN attribute value
                                 (igp|egp|incomplete;)
                                 bgp-prepend (string;)
                                 bgp-weight (string;)
                                 dst-address (string;)
                                 gateway (string;)
                                 in-label (integer;)              assigned MPLS in label
                                 interface (string;)
                                 out-label (integer;)             assigned MPLS out label
                                 route-distinguisher (string;)
    [Back to Content]
Article Sources and Contributors                                                                                                              7
    Article Sources and Contributors
    Manual:Routing/BGP  Source: http://wiki.mikrotik.com/index.php?oldid=19807  Contributors: Janisk, Marisb, Route
    Image Sources, Licenses and Contributors
    Image:Version.png  Source: http://wiki.mikrotik.com/index.php?title=File:Version.png  License: unknown  Contributors: Normis
    Image:Icon-note.png  Source: http://wiki.mikrotik.com/index.php?title=File:Icon-note.png  License: unknown  Contributors: Marisb, Route