Revision c49e4a65

View differences:

doc/bird.sgml
1964 1964
the packet will travel through if it uses the particular route) in order to
1965 1965
avoid routing loops.
1966 1966

  
1967
<p>BIRD supports all requirements of the BGP4 standard as defined in
1968
<rfc id="4271"> It also supports the community attributes (<rfc id="1997">),
1969
capability negotiation (<rfc id="5492">), MD5 password authentication
1970
(<rfc id="2385">), extended communities (<rfc id="4360">), route reflectors
1971
(<rfc id="4456">), AS confederations (<rfc id="5065">), graceful restart
1972
(<rfc id="4724">), multiprotocol extensions (<rfc id="4760">), 4B AS numbers
1973
(<rfc id="4893">), and 4B AS numbers in extended communities (<rfc id="5668">).
1974

  
1975
For IPv6, it uses the standard multiprotocol extensions defined in
1976
<rfc id="4760"> and applied to IPv6 according to <rfc id="2545">.
1967
<sect1>Supported standards:
1968
<label id="bgp-standards">
1969

  
1970
<itemize>
1971
<item> <rfc id="4271"> - Border Gateway Protocol 4 (BGP)
1972
<item> <rfc id="1997"> - BGP Communities Attribute
1973
<item> <rfc id="2385"> - Protection of BGP Sessions via TCP MD5 Signature
1974
<item> <rfc id="2545"> - Use of BGP Multiprotocol Extensions for IPv6
1975
<item> <rfc id="2918"> - Route Refresh Capability
1976
<item> <rfc id="3107"> - Carrying Label Information in BGP
1977
<item> <rfc id="4360"> - BGP Extended Communities Attribute
1978
<item> <rfc id="4364"> - BGP/MPLS IPv4 Virtual Private Networks
1979
<item> <rfc id="4456"> - BGP Route Reflection
1980
<item> <rfc id="4486"> - Subcodes for BGP Cease Notification Message
1981
<item> <rfc id="4659"> - BGP/MPLS IPv6 Virtual Private Networks
1982
<item> <rfc id="4724"> - Graceful Restart Mechanism for BGP
1983
<item> <rfc id="4760"> - Multiprotocol extensions for BGP
1984
<item> <rfc id="4798"> - Connecting IPv6 Islands over IPv4 MPLS
1985
<item> <rfc id="5065"> - AS confederations for BGP
1986
<item> <rfc id="5082"> - Generalized TTL Security Mechanism
1987
<item> <rfc id="5492"> - Capabilities Advertisement with BGP
1988
<item> <rfc id="5549"> - Advertising IPv4 NLRI with an IPv6 Next Hop
1989
<item> <rfc id="5575"> - Dissemination of Flow Specification Rules
1990
<item> <rfc id="5668"> - 4-Octet AS Specific BGP Extended Community
1991
<item> <rfc id="6286"> - AS-Wide Unique BGP Identifier
1992
<item> <rfc id="6608"> - Subcodes for BGP Finite State Machine Error
1993
<item> <rfc id="6793"> - BGP Support for 4-Octet AS Numbers
1994
<item> <rfc id="7313"> - Enhanced Route Refresh Capability for BGP
1995
<item> <rfc id="7606"> - Revised Error Handling for BGP UPDATE Messages
1996
<item> <rfc id="7911"> - Advertisement of Multiple Paths in BGP
1997
<item> <rfc id="7947"> - Internet Exchange BGP Route Server
1998
<item> <rfc id="8092"> - BGP Large Communities Attribute
1999
</itemize>
1977 2000

  
1978 2001
<sect1>Route selection rules
1979 2002
<label id="bgp-route-select-rules">
proto/bgp/bgp.c
67 67
 * point of view and therefore maintaining received routes. Routing table
68 68
 * refresh cycle (rt_refresh_begin(), rt_refresh_end()) is used for removing
69 69
 * stale routes after reestablishment of BGP session during graceful restart.
70
 */
70
 *
71
 * Supported standards:
72
 * <itemize>
73
 * <item> <rfc id="4271"> - Border Gateway Protocol 4 (BGP)
74
 * <item> <rfc id="1997"> - BGP Communities Attribute
75
 * <item> <rfc id="2385"> - Protection of BGP Sessions via TCP MD5 Signature
76
 * <item> <rfc id="2545"> - Use of BGP Multiprotocol Extensions for IPv6
77
 * <item> <rfc id="2918"> - Route Refresh Capability
78
 * <item> <rfc id="3107"> - Carrying Label Information in BGP
79
 * <item> <rfc id="4360"> - BGP Extended Communities Attribute
80
 * <item> <rfc id="4364"> - BGP/MPLS IPv4 Virtual Private Networks
81
 * <item> <rfc id="4456"> - BGP Route Reflection
82
 * <item> <rfc id="4486"> - Subcodes for BGP Cease Notification Message
83
 * <item> <rfc id="4659"> - BGP/MPLS IPv6 Virtual Private Networks
84
 * <item> <rfc id="4724"> - Graceful Restart Mechanism for BGP
85
 * <item> <rfc id="4760"> - Multiprotocol extensions for BGP
86
 * <item> <rfc id="4798"> - Connecting IPv6 Islands over IPv4 MPLS
87
 * <item> <rfc id="5065"> - AS confederations for BGP
88
 * <item> <rfc id="5082"> - Generalized TTL Security Mechanism
89
 * <item> <rfc id="5492"> - Capabilities Advertisement with BGP
90
 * <item> <rfc id="5549"> - Advertising IPv4 NLRI with an IPv6 Next Hop
91
 * <item> <rfc id="5575"> - Dissemination of Flow Specification Rules
92
 * <item> <rfc id="5668"> - 4-Octet AS Specific BGP Extended Community
93
 * <item> <rfc id="6286"> - AS-Wide Unique BGP Identifier
94
 * <item> <rfc id="6608"> - Subcodes for BGP Finite State Machine Error
95
 * <item> <rfc id="6793"> - BGP Support for 4-Octet AS Numbers
96
 * <item> <rfc id="7313"> - Enhanced Route Refresh Capability for BGP
97
 * <item> <rfc id="7606"> - Revised Error Handling for BGP UPDATE Messages
98
 * <item> <rfc id="7911"> - Advertisement of Multiple Paths in BGP
99
 * <item> <rfc id="7947"> - Internet Exchange BGP Route Server
100
 * <item> <rfc id="8092"> - BGP Large Communities Attribute
101
 * </itemize>
102
*/
71 103

  
72 104
#undef LOCAL_DEBUG
73 105

  
proto/bgp/bgp.h
90 90
  int deterministic_med;		/* Use more complicated algo to have strict RFC 4271 MED comparison */
91 91
  u32 default_local_pref;		/* Default value for LOCAL_PREF attribute */
92 92
  u32 default_med;			/* Default value for MULTI_EXIT_DISC attribute */
93
  int capabilities;			/* Enable capability handshake [RFC 3392] */
93
  int capabilities;			/* Enable capability handshake [RFC 5492] */
94 94
  int enable_refresh;			/* Enable local support for route refresh [RFC 2918] */
95
  int enable_as4;			/* Enable local support for 4B AS numbers [RFC 4893] */
95
  int enable_as4;			/* Enable local support for 4B AS numbers [RFC 6793] */
96 96
  int enable_extended_messages;		/* Enable local support for extended messages [draft] */
97 97
  u32 rr_cluster_id;			/* Route reflector cluster ID, if different from local ID */
98 98
  int rr_client;			/* Whether neighbor is RR client of me */
proto/bgp/packets.c
470 470
      }
471 471
      break;
472 472

  
473
    case 65: /* AS4 capability, RFC 4893 */
473
    case 65: /* AS4 capability, RFC 6793 */
474 474
      if (cl != 4)
475 475
	goto err;
476 476

  

Also available in: Unified diff