mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-05 22:50:14 +00:00

Add information to display bgp-ls attributes Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
147 lines
5.8 KiB
ReStructuredText
147 lines
5.8 KiB
ReStructuredText
.. _bgp-link-state:
|
|
|
|
BGP Link-State
|
|
==============
|
|
|
|
Overview
|
|
--------
|
|
|
|
BGP Link-State (BGP-LS) is an extension of the BGP protocol designed to
|
|
redistribute information from an IGP database to a remote controller (most
|
|
likely a Path Computation Element - PCE). BGP-LS does nothing more than
|
|
transport IGP information. Therefore, it cannot be used to replace a Link State
|
|
routing protocol like OSPF and IS-IS.
|
|
|
|
Historically, the only way to get a network controller to collect an IGP
|
|
database was to have it participate in the IGP itself as if it were a standard
|
|
router. Since the controllers were usually located far from the IGP area,
|
|
tunnels such as GRE were used to connect the controllers to the IGP area. This
|
|
method was so impractical that an alternative solution was imagined: using the
|
|
already deployed inter-domain BGP protocol to redistribute the various IGP
|
|
databases.
|
|
|
|
BGP Link-State as defined in `RFC7752
|
|
<https://www.rfc-editor.org/rfc/rfc7752.html>`_ uses the AFI 16388 and SAFI 71.
|
|
The BGP Link-State pseudo-prefixes distributed by the `NLRI (Network Layer
|
|
Reachability Information)` uniquely define the following
|
|
IGP information:
|
|
|
|
- Nodes
|
|
- Link
|
|
- IPv4 Prefix
|
|
- IPv6 Prefix
|
|
|
|
They are called descriptors. In addition, a new type of BGP Attributes called
|
|
"BGP-LS attributes" carries the other information related to a descriptor.
|
|
|
|
NLRI and attribute information for BGP-LS is organized using the TLV format
|
|
already used by IS-IS LSPs and OSPF opaque LSAs. The `list of TLV code points
|
|
<https://www.iana.org/assignments/bgp-ls-parameters/bgp-ls-parameters.xhtml#node-descriptor-link-descriptor-prefix-descriptor-attribute-tlv>`_
|
|
is maintained by IANA.
|
|
|
|
Current implementation
|
|
----------------------
|
|
|
|
The current version can participate in BGP Link-State AFI / SAFI with
|
|
third-party routers and forward the BGP Link-State descriptors and attributes to
|
|
other routers. However, it can not generate BGP Link-State data from OSPF and
|
|
IS-IS.
|
|
|
|
IANA maintains a `registry of BGP-LS NRLI descriptor types
|
|
<https://www.iana.org/assignments/bgp-ls-parameters/bgp-ls-parameters.xhtml#nlri-types>`_.
|
|
Only the following RFC7752 NRLI types are supported by the current version:
|
|
|
|
- Nodes
|
|
- Link
|
|
- IPv4 Prefix
|
|
- IPv6 Prefix
|
|
|
|
The BGP-LS attribute TLVs for these NLRI types are transmitted as is to other
|
|
routers which means that all the current and future version are already
|
|
supported.
|
|
|
|
Show commands
|
|
-------------
|
|
|
|
The following configuration enables the negotiation of the link-state AFI / SAFI
|
|
with the 192.0.2.2 eBGP peer.
|
|
|
|
.. code-block:: frr
|
|
|
|
router bgp 65003
|
|
neighbor 192.0.2.2 remote-as 65002
|
|
neighbor 192.0.2.2 update-source 192.0.2.3
|
|
!
|
|
address-family link-state link-state
|
|
neighbor 192.0.2.2 activate
|
|
neighbor 192.0.2.2 route-map PERMIT-ALL in
|
|
neighbor 192.0.2.2 route-map PERMIT-ALL out
|
|
exit-address-family
|
|
exit
|
|
!
|
|
route-map PERMIT-ALL permit 1
|
|
|
|
The BGP-LS table can be displayed.
|
|
|
|
.. code-block:: frr
|
|
|
|
frr# show bgp link-state link-state
|
|
BGP table version is 8, local router ID is 192.0.2.3, vrf id 0
|
|
Default local pref 100, local AS 65003
|
|
Network Next Hop Metric LocPrf Weight Path
|
|
*> Node OSPFv2 ID:0x20 Local{AS:65001 ID:0 Area:0 Rtr:10.10.10.10:1.1.1.1}/48
|
|
0 65002 65001 i
|
|
*> IPv4-Prefix OSPFv2 ID:0x20 Local{AS:65001 ID:0 Area:0 Rtr:10.10.10.10:1.1.1.1} Prefix{IPv4:89.10.11.0/24}/64
|
|
0 65002 65001 i
|
|
*> IPv6-Prefix ISIS-L2 ID:0x20 Local{AS:65001 ID:0 Rtr:0000.0000.1003.00} Prefix{IPv6:12:12::12:12/128 MT:2}/74
|
|
0 65002 65001 i
|
|
*> IPv6-Prefix OSPFv3 ID:0x20 Local{AS:65001 ID:0 Area:0 Rtr:10.10.10.10} Prefix{OSPF-Route-Type:1 IPv6:12:12::12:12/128 MT:2}/74
|
|
0 65002 65001 i
|
|
*> Node OSPFv2 ID:0x20 Local{AS:65001 ID:0 Area:0 Rtr:10.10.10.10}/48
|
|
0 65002 65001 i
|
|
*> Node ISIS-L1 ID:0x20 Local{AS:65001 ID:0 Rtr:0000.0000.1003.00}/48
|
|
0 65002 65001 i
|
|
*> Link ISIS-L1 ID:0x20 Local{AS:65001 ID:0 Rtr:0000.0000.1001} Remote{AS:65001 ID:0 Rtr:0000.0000.1000} Link{IPv4:10.1.0.1 Neigh-IPv4:10.1.0.2 IPv6:2001::1 Neigh-IPv6:2001::2 MT:0,2}/132
|
|
0 65002 65001 i
|
|
|
|
The "detail-routes" allows displaying the BGP-LS attributes as well.
|
|
|
|
.. code-block:: frr
|
|
|
|
frr# show bgp link-state link-state detail-routes
|
|
(...)
|
|
BGP routing table entry for Link ISIS-L1 ID:0x20 Local{AS:65001 ID:0 Rtr:0000.0000.1001} Remote{AS:65001 ID:0 Rtr:0000.0000.1000} Link{IPv4:10.1.0.1 Neigh-IPv4:10.1.0.2 IPv6:2001::1 Neigh-IPv6:2001::2 MT:0,2}/116, version 1
|
|
Paths: (1 available, best #1)
|
|
Advertised to non peer-group peers:
|
|
192.0.2.1 192.0.2.3
|
|
65001
|
|
:: from 192.0.2.1 (192.0.2.1)
|
|
Origin IGP, valid, external, best (First path received)
|
|
Last update: Mon Apr 17 15:45:42 2023
|
|
BGP-LS attributes:
|
|
IPv4 Router-ID of Local Node: 1.1.1.1
|
|
IPv4 Router-ID of Remote Node: 10.10.10.10
|
|
Maximum link bandwidth: 1410.07 Mbps
|
|
Max. reservable link bandwidth: 1410.07 Mbps
|
|
Unreserved bandwidth:
|
|
[0]: 1410.07 Mbps [1]: 1410.07 Mbps
|
|
[2]: 1410.07 Mbps [3]: 1410.07 Mbps
|
|
[4]: 1410.07 Mbps [5]: 1410.07 Mbps
|
|
[6]: 1410.07 Mbps [7]: 1410.07 Mbps
|
|
TE Default Metric: 100
|
|
IGP Metric: 10
|
|
Adjacency SID:
|
|
Flags: 0b00110000
|
|
Weight: 0
|
|
SID: 15000
|
|
Unidirectional Link Delay: 8500 microseconds
|
|
Min/Max Unidirectional Link Delay: 8000/9000 microseconds
|
|
Application-Specific Link Attributes:
|
|
SABM Flags : 0b00010000 00000000 00000000 00000000
|
|
UDABM Flags: 0b00000000 00000000 00000000 00000000
|
|
Administrative group: 0x00000001
|
|
TE Default Metric: 100
|
|
Min/Max Unidirectional Link Delay: 8000/9000 microseconds
|
|
Extended Administrative Group: 0x00000001
|
|
|