diff options
author | Paul Jakma <paul.jakma@sun.com> | 2007-08-06 15:24:51 +0000 |
---|---|---|
committer | Paul Jakma <paul.jakma@sun.com> | 2007-08-06 15:24:51 +0000 |
commit | 41367172d812354c05b11818346f0d49c2245aef (patch) | |
tree | eb8f83ec0e93cb5a1d8470afd5c79ce55bc853da /doc | |
parent | 6d58272b4cf96f0daa846210dd2104877900f921 (diff) |
[bgpd] Add support for AS_PATHLIMIT / draft-ietf-idr-as-pathlimit
2007-07-31 Paul Jakma <paul.jakma@sun.com>
* (general) Support for draft-ietf-idr-as-pathlimit-03.
* bgp_attr.h: (struct attr) Add pathlimit struct
bgp_attr.c: (attr_str) Add BGP_ATTR_AS_PATHLIMIT string.
(attrhash_key_make) tally pathlimit too
(attrhash_cmp) cmp pathlimit attr
(bgp_attr_aspathlimit) New, parse AS_PATHLIMIT attr.
(bgp_attr_parse) ditto
(bgp_packet_attribute) Write out AS_PATHLIMIT when set
(bgp_dump_routes_attr) ditto
* bgp_route.h: (struct bgp_static) Add TTL field
* bgp_route.c: (bgp_announce_check) Drop paths that are over
their hop-count TTL before sending via EBGP.
Mangle ASN in pathlimit for confeds/private as best we can.
(bgp_static_update_{rsclient,main}) Add any configure pathlimit
information.
(bgp_pathlimit_update_parents) New, update atomic-aggr setting for
parents of an aspathlimit'ed static.
(bgp_static_set) Add TTL argument, for all the 'bgp network'
commands.
Call previous for TTL changed statics.
(bgp_static_unset) Call pathlimit_update_parents.
(various bgp network commands) Add 'pathlimit <0-255>' qualifier
to all the various forms, bar route-map - which can set ttl
itself.
* bgp_routemap.c: (general) Add support for 'set pathlimit ttl' and
'match pathlimit as'.
* doc/bgpd.texi: Document 'network ... pathlimit <ttl>'
Diffstat (limited to 'doc')
-rw-r--r-- | doc/ChangeLog | 4 | ||||
-rw-r--r-- | doc/bgpd.texi | 25 | ||||
-rw-r--r-- | doc/routemap.texi | 14 |
3 files changed, 42 insertions, 1 deletions
diff --git a/doc/ChangeLog b/doc/ChangeLog index b8c81e74..5fcb195b 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,7 @@ +2007-07-31 Paul Jakma <paul.jakma@sun.com> + + * bgpd.texi: Document 'network ... pathlimit <ttl>' + 2007-05-01 David L Stevens <dlstevens@us.ibm.com> * main.texi: added route-map, prefix-list, ip protocol diff --git a/doc/bgpd.texi b/doc/bgpd.texi index d82f6c37..bdfd6e4c 100644 --- a/doc/bgpd.texi +++ b/doc/bgpd.texi @@ -145,10 +145,33 @@ router bgp 1 @end example This configuration example says that network 10.0.0.0/8 will be announced to all neighbors. Some vendors' routers don't advertise -routes if they aren't present in their IGP routing tables; @code{bgp} +routes if they aren't present in their IGP routing tables; @code{bgpd} doesn't care about IGP routes when announcing its routes. @end deffn +@deffn {BGP} {network @var{A.B.C.D/M} pathlimit <0-255>} {} +This command configures a route to be originated into BGP, just as with the +previous command, but additionally sets an AS-Pathlimit TTL to be advertised +on the route. See draft-ietf-idr-as-pathlimit. + +Specifying a TTL of 0 can be used to remove pathlimit from a previously +configured network statement. + +Note that when advertising prefixes with AS-Pathlimit set, all less-specific +prefixes advertised SHOULD also have the Atomic-Aggregate attribute set. +Failure to do so increases the risks of accidental routing loops occuring. + +This implementation will try to automatically set Atomic-Aggregate as +appropriate on any less-specific prefixes originated by the same speaker, +however it will not (and often can not) do so where @b{other} speakers in +the AS are originating more specifics. + +Hence the system administrator must take care to ensure that all +less-specific prefixes originated carry atomic-aggregate as appropriate, by +manually configuring speakers originating less-specifics to set +Atomic-Aggregate on those advertisements! +@end deffn + @deffn {BGP} {no network @var{A.B.C.D/M}} {} @end deffn diff --git a/doc/routemap.texi b/doc/routemap.texi index db3e72d2..9ac001c4 100644 --- a/doc/routemap.texi +++ b/doc/routemap.texi @@ -155,6 +155,10 @@ Matches the specified @var{metric}. Matches the specified @var{community_list} @end deffn +@deffn {Route-map Command} {match pathlimit as @var{ASN}} {} +Matches the specified AS-Pathlimit @var{ASN}. +@end deffn + @node Route Map Set Command @section Route Map Set Command @@ -190,6 +194,16 @@ Set the BGP-4+ global IPv6 nexthop address. Set the BGP-4+ link local IPv6 nexthop address. @end deffn +@deffn {Route-map Command} {set pathlimit ttl @var{ttl}} {} +Sets the specified AS-Pathlimit @var{ttl} on the route. This will also cause +the AS to be set to the local AS. + +Note that the AS-Pathlimit RFC specifies that speakers advertising this +attribute should set Atomic-aggregate on all less specific routes. Setting +AS-Pathlimit by route-map does not do this, the user must do so themselves, +as they wish. +@end deffn + @node Route Map Call Command @section Route Map Call Command |