mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-09 17:06:28 +00:00
Merge pull request #2685 from netravnen/feature/bgpd/documen-use-of-additional-bgp-well-known-communities
Document bgp well-known communities in PR2684
This commit is contained in:
commit
50af807b12
@ -8581,9 +8581,19 @@ void route_vty_out_detail_header(struct vty *vty, struct bgp *bgp,
|
|||||||
int count = 0;
|
int count = 0;
|
||||||
int best = 0;
|
int best = 0;
|
||||||
int suppress = 0;
|
int suppress = 0;
|
||||||
|
int accept_own = 0;
|
||||||
|
int route_filter_translated_v4 = 0;
|
||||||
|
int route_filter_v4 = 0;
|
||||||
|
int route_filter_translated_v6 = 0;
|
||||||
|
int route_filter_v6 = 0;
|
||||||
|
int llgr_stale = 0;
|
||||||
|
int no_llgr = 0;
|
||||||
|
int accept_own_nexthop = 0;
|
||||||
|
int blackhole = 0;
|
||||||
int no_export = 0;
|
int no_export = 0;
|
||||||
int no_advertise = 0;
|
int no_advertise = 0;
|
||||||
int local_as = 0;
|
int local_as = 0;
|
||||||
|
int no_peer = 0;
|
||||||
int first = 1;
|
int first = 1;
|
||||||
int has_valid_label = 0;
|
int has_valid_label = 0;
|
||||||
mpls_label_t label = 0;
|
mpls_label_t label = 0;
|
||||||
@ -8660,12 +8670,41 @@ void route_vty_out_detail_header(struct vty *vty, struct bgp *bgp,
|
|||||||
} else
|
} else
|
||||||
vty_out(vty, ", no best path");
|
vty_out(vty, ", no best path");
|
||||||
|
|
||||||
if (no_advertise)
|
if (accept_own)
|
||||||
vty_out(vty, ", not advertised to any peer");
|
vty_out(vty,
|
||||||
|
", accept own local route exported and imported in different VRF");
|
||||||
|
else if (route_filter_translated_v4)
|
||||||
|
vty_out(vty,
|
||||||
|
", mark translated RTs for VPNv4 route filtering");
|
||||||
|
else if (route_filter_v4)
|
||||||
|
vty_out(vty,
|
||||||
|
", attach RT as-is for VPNv4 route filtering");
|
||||||
|
else if (route_filter_translated_v6)
|
||||||
|
vty_out(vty,
|
||||||
|
", mark translated RTs for VPNv6 route filtering");
|
||||||
|
else if (route_filter_v6)
|
||||||
|
vty_out(vty,
|
||||||
|
", attach RT as-is for VPNv6 route filtering");
|
||||||
|
else if (llgr_stale)
|
||||||
|
vty_out(vty,
|
||||||
|
", mark routes to be retained for a longer time. Requeres support for Long-lived BGP Graceful Restart");
|
||||||
|
else if (no_llgr)
|
||||||
|
vty_out(vty,
|
||||||
|
", mark routes to not be treated according to Long-lived BGP Graceful Restart operations");
|
||||||
|
else if (accept_own_nexthop)
|
||||||
|
vty_out(vty,
|
||||||
|
", accept local nexthop");
|
||||||
|
else if (blackhole)
|
||||||
|
vty_out(vty, ", inform peer to blackhole prefix");
|
||||||
else if (no_export)
|
else if (no_export)
|
||||||
vty_out(vty, ", not advertised to EBGP peer");
|
vty_out(vty, ", not advertised to EBGP peer");
|
||||||
|
else if (no_advertise)
|
||||||
|
vty_out(vty, ", not advertised to any peer");
|
||||||
else if (local_as)
|
else if (local_as)
|
||||||
vty_out(vty, ", not advertised outside local AS");
|
vty_out(vty, ", not advertised outside local AS");
|
||||||
|
else if (no_peer)
|
||||||
|
vty_out(vty,
|
||||||
|
", inform EBGP peer not to advertise to their EBGP peers");
|
||||||
|
|
||||||
if (suppress)
|
if (suppress)
|
||||||
vty_out(vty,
|
vty_out(vty,
|
||||||
@ -9026,6 +9065,10 @@ DEFUN (show_ip_bgp,
|
|||||||
|prefix-list WORD\
|
|prefix-list WORD\
|
||||||
|filter-list WORD\
|
|filter-list WORD\
|
||||||
|statistics\
|
|statistics\
|
||||||
|
|community <AA:NN|local-AS|no-advertise|no-export|graceful-shutdown\
|
||||||
|
no-peer|blackhole|llgr-stale|no-llgr|accept-own|accept-own-nexthop\
|
||||||
|
route-filter-v6|route-filter-v4|route-filter-translated-v6|\
|
||||||
|
route-filter-translated-v4> [exact-match]\
|
||||||
|community-list <(1-500)|WORD> [exact-match]\
|
|community-list <(1-500)|WORD> [exact-match]\
|
||||||
|A.B.C.D/M longer-prefixes\
|
|A.B.C.D/M longer-prefixes\
|
||||||
|X:X::X:X/M longer-prefixes\
|
|X:X::X:X/M longer-prefixes\
|
||||||
@ -9045,6 +9088,23 @@ DEFUN (show_ip_bgp,
|
|||||||
"Display routes conforming to the filter-list\n"
|
"Display routes conforming to the filter-list\n"
|
||||||
"Regular expression access list name\n"
|
"Regular expression access list name\n"
|
||||||
"BGP RIB advertisement statistics\n"
|
"BGP RIB advertisement statistics\n"
|
||||||
|
"Display routes matching the communities\n"
|
||||||
|
COMMUNITY_AANN_STR
|
||||||
|
"Do not send outside local AS (well-known community)\n"
|
||||||
|
"Do not advertise to any peer (well-known community)\n"
|
||||||
|
"Do not export to next AS (well-known community)\n"
|
||||||
|
"Graceful shutdown (well-known community)\n"
|
||||||
|
"Do not export to any peer (well-known community)\n"
|
||||||
|
"Inform EBGP peers to blackhole traffic to prefix (well-known community)\n"
|
||||||
|
"Staled Long-lived Graceful Restart VPN route (well-known community)\n"
|
||||||
|
"Removed because Long-lived Graceful Restart was not enabled for VPN route (well-known community)\n"
|
||||||
|
"Should accept local VPN route if exported and imported into different VRF (well-known community)\n"
|
||||||
|
"Should accept VPN route with local nexthop (well-known community)\n"
|
||||||
|
"RT VPNv6 route filtering (well-known community)\n"
|
||||||
|
"RT VPNv4 route filtering (well-known community)\n"
|
||||||
|
"RT translated VPNv6 route filtering (well-known community)\n"
|
||||||
|
"RT translated VPNv4 route filtering (well-known community)\n"
|
||||||
|
"Exact match of the communities\n"
|
||||||
"Display routes matching the community-list\n"
|
"Display routes matching the community-list\n"
|
||||||
"community-list number\n"
|
"community-list number\n"
|
||||||
"community-list name\n"
|
"community-list name\n"
|
||||||
|
@ -1011,6 +1011,75 @@ is 4 octet long. The following format is used to define the community value.
|
|||||||
``internet``
|
``internet``
|
||||||
``internet`` represents well-known communities value 0.
|
``internet`` represents well-known communities value 0.
|
||||||
|
|
||||||
|
``graceful-shutdown``
|
||||||
|
``graceful-shutdown`` represents well-known communities value
|
||||||
|
``GRACEFUL_SHUTDOWN`` ``0xFFFF0000`` ``65535:0``. :rfc:`8326` implements
|
||||||
|
the purpose Graceful BGP Session Shutdown to reduce the amount of
|
||||||
|
lost traffic when taking BGP sessions down for maintainance. The use
|
||||||
|
of the community needs to be supported from your peers side to
|
||||||
|
actually have any effect.
|
||||||
|
|
||||||
|
``accept-own``
|
||||||
|
``accept-own`` represents well-known communities value ``ACCEPT_OWN``
|
||||||
|
``0xFFFF0001`` ``65535:1``. :rfc:`7611` implements a way to signal
|
||||||
|
to a router to accept routes with a local nexthop address. This
|
||||||
|
can be the case when doing policing and having traffic having a
|
||||||
|
nexthop located in another VRF but still local interface to the
|
||||||
|
router. It is recommended to read the RFC for full details.
|
||||||
|
|
||||||
|
``route-filter-translated-v4``
|
||||||
|
``route-filter-translated-v4`` represents well-known communities value
|
||||||
|
``ROUTE_FILTER_TRANSLATED_v4`` ``0xFFFF0002`` ``65535:2``.
|
||||||
|
|
||||||
|
``route-filter-v4``
|
||||||
|
``route-filter-v4`` represents well-known communities value
|
||||||
|
``ROUTE_FILTER_v4`` ``0xFFFF0003`` ``65535:3``.
|
||||||
|
|
||||||
|
``route-filter-translated-v6``
|
||||||
|
``route-filter-translated-v6`` represents well-known communities value
|
||||||
|
``ROUTE_FILTER_TRANSLATED_v6`` ``0xFFFF0004`` ``65535:4``.
|
||||||
|
|
||||||
|
``route-filter-v6``
|
||||||
|
``route-filter-v6`` represents well-known communities value
|
||||||
|
``ROUTE_FILTER_v6`` ``0xFFFF0005`` ``65535:5``.
|
||||||
|
|
||||||
|
``llgr-stale``
|
||||||
|
``llgr-stale`` represents well-known communities value ``LLGR_STALE``
|
||||||
|
``0xFFFF0006`` ``65535:6``.
|
||||||
|
Assigned and intented only for use with routers supporting the
|
||||||
|
Long-lived Graceful Restart Capability as described in
|
||||||
|
:rfc:`draft-uttaro-idr-bgp-persistence`.
|
||||||
|
Routers recieving routes with this community may (depending on
|
||||||
|
implementation) choose allow to reject or modify routes on the
|
||||||
|
presence or absence of this community.
|
||||||
|
|
||||||
|
``no-llgr``
|
||||||
|
``no-llgr`` represents well-known communities value ``NO_LLGR``
|
||||||
|
``0xFFFF0007`` ``65535:7``.
|
||||||
|
Assigned and intented only for use with routers supporting the
|
||||||
|
Long-lived Graceful Restart Capability as described in
|
||||||
|
:rfc:`draft-uttaro-idr-bgp-persistence`.
|
||||||
|
Routers recieving routes with this community may (depending on
|
||||||
|
implementation) choose allow to reject or modify routes on the
|
||||||
|
presence or absence of this community.
|
||||||
|
|
||||||
|
``accept-own-nexthop``
|
||||||
|
``accept-own-nexthop`` represents well-known communities value
|
||||||
|
``accept-own-nexthop`` ``0xFFFF0008`` ``65535:8``.
|
||||||
|
:rfc:`draft-agrewal-idr-accept-own-nexthop` describes
|
||||||
|
how to tag and label VPN routes to be able to send traffic between VRFs
|
||||||
|
via an internal layer 2 domain on the same PE device. Refer to
|
||||||
|
:rfc:`draft-agrewal-idr-accept-own-nexthop` for full details.
|
||||||
|
|
||||||
|
``blackhole``
|
||||||
|
``blackhole`` represents well-known communities value ``BLACKHOLE``
|
||||||
|
``0xFFFF029A`` ``65535:666``. :rfc:`7999` documents sending prefixes to
|
||||||
|
EBGP peers and upstream for the purpose of blackholing traffic.
|
||||||
|
Prefixes tagged with the this community should normally not be
|
||||||
|
re-advertised from neighbors of the originating network. It is
|
||||||
|
recommended upon receiving prefixes tagged with this community to
|
||||||
|
add ``NO_EXPORT`` and ``NO_ADVERTISE``.
|
||||||
|
|
||||||
``no-export``
|
``no-export``
|
||||||
``no-export`` represents well-known communities value ``NO_EXPORT``
|
``no-export`` represents well-known communities value ``NO_EXPORT``
|
||||||
``0xFFFFFF01``. All routes carry this value must not be advertised to
|
``0xFFFFFF01``. All routes carry this value must not be advertised to
|
||||||
@ -1030,6 +1099,11 @@ is 4 octet long. The following format is used to define the community value.
|
|||||||
it is considered as external BGP peer, so the route will not be announced to
|
it is considered as external BGP peer, so the route will not be announced to
|
||||||
the peer.
|
the peer.
|
||||||
|
|
||||||
|
``no-peer``
|
||||||
|
``no-peer`` represents well-known communities value ``NOPEER``
|
||||||
|
``0xFFFFFF04`` ``65535:65284``. :rfc:`3765` is used to communicate to
|
||||||
|
another network how the originating network want the prefix propagated.
|
||||||
|
|
||||||
When the communities attribute is received duplicate community values in the
|
When the communities attribute is received duplicate community values in the
|
||||||
attribute are ignored and value is sorted in numerical order.
|
attribute are ignored and value is sorted in numerical order.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user