BGP: Update list of supported standards
This commit is contained in:
parent
7074be22f1
commit
c49e4a6565
4 changed files with 68 additions and 13 deletions
|
@ -1964,16 +1964,39 @@ table it wishes to export along with complete path information (a list of AS'es
|
||||||
the packet will travel through if it uses the particular route) in order to
|
the packet will travel through if it uses the particular route) in order to
|
||||||
avoid routing loops.
|
avoid routing loops.
|
||||||
|
|
||||||
<p>BIRD supports all requirements of the BGP4 standard as defined in
|
<sect1>Supported standards:
|
||||||
<rfc id="4271"> It also supports the community attributes (<rfc id="1997">),
|
<label id="bgp-standards">
|
||||||
capability negotiation (<rfc id="5492">), MD5 password authentication
|
|
||||||
(<rfc id="2385">), extended communities (<rfc id="4360">), route reflectors
|
|
||||||
(<rfc id="4456">), AS confederations (<rfc id="5065">), graceful restart
|
|
||||||
(<rfc id="4724">), multiprotocol extensions (<rfc id="4760">), 4B AS numbers
|
|
||||||
(<rfc id="4893">), and 4B AS numbers in extended communities (<rfc id="5668">).
|
|
||||||
|
|
||||||
For IPv6, it uses the standard multiprotocol extensions defined in
|
<itemize>
|
||||||
<rfc id="4760"> and applied to IPv6 according to <rfc id="2545">.
|
<item> <rfc id="4271"> - Border Gateway Protocol 4 (BGP)
|
||||||
|
<item> <rfc id="1997"> - BGP Communities Attribute
|
||||||
|
<item> <rfc id="2385"> - Protection of BGP Sessions via TCP MD5 Signature
|
||||||
|
<item> <rfc id="2545"> - Use of BGP Multiprotocol Extensions for IPv6
|
||||||
|
<item> <rfc id="2918"> - Route Refresh Capability
|
||||||
|
<item> <rfc id="3107"> - Carrying Label Information in BGP
|
||||||
|
<item> <rfc id="4360"> - BGP Extended Communities Attribute
|
||||||
|
<item> <rfc id="4364"> - BGP/MPLS IPv4 Virtual Private Networks
|
||||||
|
<item> <rfc id="4456"> - BGP Route Reflection
|
||||||
|
<item> <rfc id="4486"> - Subcodes for BGP Cease Notification Message
|
||||||
|
<item> <rfc id="4659"> - BGP/MPLS IPv6 Virtual Private Networks
|
||||||
|
<item> <rfc id="4724"> - Graceful Restart Mechanism for BGP
|
||||||
|
<item> <rfc id="4760"> - Multiprotocol extensions for BGP
|
||||||
|
<item> <rfc id="4798"> - Connecting IPv6 Islands over IPv4 MPLS
|
||||||
|
<item> <rfc id="5065"> - AS confederations for BGP
|
||||||
|
<item> <rfc id="5082"> - Generalized TTL Security Mechanism
|
||||||
|
<item> <rfc id="5492"> - Capabilities Advertisement with BGP
|
||||||
|
<item> <rfc id="5549"> - Advertising IPv4 NLRI with an IPv6 Next Hop
|
||||||
|
<item> <rfc id="5575"> - Dissemination of Flow Specification Rules
|
||||||
|
<item> <rfc id="5668"> - 4-Octet AS Specific BGP Extended Community
|
||||||
|
<item> <rfc id="6286"> - AS-Wide Unique BGP Identifier
|
||||||
|
<item> <rfc id="6608"> - Subcodes for BGP Finite State Machine Error
|
||||||
|
<item> <rfc id="6793"> - BGP Support for 4-Octet AS Numbers
|
||||||
|
<item> <rfc id="7313"> - Enhanced Route Refresh Capability for BGP
|
||||||
|
<item> <rfc id="7606"> - Revised Error Handling for BGP UPDATE Messages
|
||||||
|
<item> <rfc id="7911"> - Advertisement of Multiple Paths in BGP
|
||||||
|
<item> <rfc id="7947"> - Internet Exchange BGP Route Server
|
||||||
|
<item> <rfc id="8092"> - BGP Large Communities Attribute
|
||||||
|
</itemize>
|
||||||
|
|
||||||
<sect1>Route selection rules
|
<sect1>Route selection rules
|
||||||
<label id="bgp-route-select-rules">
|
<label id="bgp-route-select-rules">
|
||||||
|
|
|
@ -67,6 +67,38 @@
|
||||||
* point of view and therefore maintaining received routes. Routing table
|
* point of view and therefore maintaining received routes. Routing table
|
||||||
* refresh cycle (rt_refresh_begin(), rt_refresh_end()) is used for removing
|
* refresh cycle (rt_refresh_begin(), rt_refresh_end()) is used for removing
|
||||||
* stale routes after reestablishment of BGP session during graceful restart.
|
* stale routes after reestablishment of BGP session during graceful restart.
|
||||||
|
*
|
||||||
|
* Supported standards:
|
||||||
|
* <itemize>
|
||||||
|
* <item> <rfc id="4271"> - Border Gateway Protocol 4 (BGP)
|
||||||
|
* <item> <rfc id="1997"> - BGP Communities Attribute
|
||||||
|
* <item> <rfc id="2385"> - Protection of BGP Sessions via TCP MD5 Signature
|
||||||
|
* <item> <rfc id="2545"> - Use of BGP Multiprotocol Extensions for IPv6
|
||||||
|
* <item> <rfc id="2918"> - Route Refresh Capability
|
||||||
|
* <item> <rfc id="3107"> - Carrying Label Information in BGP
|
||||||
|
* <item> <rfc id="4360"> - BGP Extended Communities Attribute
|
||||||
|
* <item> <rfc id="4364"> - BGP/MPLS IPv4 Virtual Private Networks
|
||||||
|
* <item> <rfc id="4456"> - BGP Route Reflection
|
||||||
|
* <item> <rfc id="4486"> - Subcodes for BGP Cease Notification Message
|
||||||
|
* <item> <rfc id="4659"> - BGP/MPLS IPv6 Virtual Private Networks
|
||||||
|
* <item> <rfc id="4724"> - Graceful Restart Mechanism for BGP
|
||||||
|
* <item> <rfc id="4760"> - Multiprotocol extensions for BGP
|
||||||
|
* <item> <rfc id="4798"> - Connecting IPv6 Islands over IPv4 MPLS
|
||||||
|
* <item> <rfc id="5065"> - AS confederations for BGP
|
||||||
|
* <item> <rfc id="5082"> - Generalized TTL Security Mechanism
|
||||||
|
* <item> <rfc id="5492"> - Capabilities Advertisement with BGP
|
||||||
|
* <item> <rfc id="5549"> - Advertising IPv4 NLRI with an IPv6 Next Hop
|
||||||
|
* <item> <rfc id="5575"> - Dissemination of Flow Specification Rules
|
||||||
|
* <item> <rfc id="5668"> - 4-Octet AS Specific BGP Extended Community
|
||||||
|
* <item> <rfc id="6286"> - AS-Wide Unique BGP Identifier
|
||||||
|
* <item> <rfc id="6608"> - Subcodes for BGP Finite State Machine Error
|
||||||
|
* <item> <rfc id="6793"> - BGP Support for 4-Octet AS Numbers
|
||||||
|
* <item> <rfc id="7313"> - Enhanced Route Refresh Capability for BGP
|
||||||
|
* <item> <rfc id="7606"> - Revised Error Handling for BGP UPDATE Messages
|
||||||
|
* <item> <rfc id="7911"> - Advertisement of Multiple Paths in BGP
|
||||||
|
* <item> <rfc id="7947"> - Internet Exchange BGP Route Server
|
||||||
|
* <item> <rfc id="8092"> - BGP Large Communities Attribute
|
||||||
|
* </itemize>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#undef LOCAL_DEBUG
|
#undef LOCAL_DEBUG
|
||||||
|
|
|
@ -90,9 +90,9 @@ struct bgp_config {
|
||||||
int deterministic_med; /* Use more complicated algo to have strict RFC 4271 MED comparison */
|
int deterministic_med; /* Use more complicated algo to have strict RFC 4271 MED comparison */
|
||||||
u32 default_local_pref; /* Default value for LOCAL_PREF attribute */
|
u32 default_local_pref; /* Default value for LOCAL_PREF attribute */
|
||||||
u32 default_med; /* Default value for MULTI_EXIT_DISC attribute */
|
u32 default_med; /* Default value for MULTI_EXIT_DISC attribute */
|
||||||
int capabilities; /* Enable capability handshake [RFC 3392] */
|
int capabilities; /* Enable capability handshake [RFC 5492] */
|
||||||
int enable_refresh; /* Enable local support for route refresh [RFC 2918] */
|
int enable_refresh; /* Enable local support for route refresh [RFC 2918] */
|
||||||
int enable_as4; /* Enable local support for 4B AS numbers [RFC 4893] */
|
int enable_as4; /* Enable local support for 4B AS numbers [RFC 6793] */
|
||||||
int enable_extended_messages; /* Enable local support for extended messages [draft] */
|
int enable_extended_messages; /* Enable local support for extended messages [draft] */
|
||||||
u32 rr_cluster_id; /* Route reflector cluster ID, if different from local ID */
|
u32 rr_cluster_id; /* Route reflector cluster ID, if different from local ID */
|
||||||
int rr_client; /* Whether neighbor is RR client of me */
|
int rr_client; /* Whether neighbor is RR client of me */
|
||||||
|
|
|
@ -470,7 +470,7 @@ bgp_read_capabilities(struct bgp_conn *conn, struct bgp_caps *caps, byte *pos, i
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 65: /* AS4 capability, RFC 4893 */
|
case 65: /* AS4 capability, RFC 6793 */
|
||||||
if (cl != 4)
|
if (cl != 4)
|
||||||
goto err;
|
goto err;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue