[Xorp-cvs] XORP cvs commit: xorp/bgp
Pavlin Radoslavov
pavlin@icir.org
Fri, 11 Nov 2005 09:06:43 -0800
> CVSROOT: /usr/local/share/doc/apache/cvs
> Module name: xorp
> Changes by: zec@xorpc.icir.org 2005-11-11 15:23:29 UTC
>
> XORP CVS repository
>
>
> Modified files:
> bgp bgp_varrw.cc bgp_varrw.hh route_table_base.hh
> route_table_filter.cc route_table_filter.hh
> subnet_route.cc subnet_route.hh
>
> Log message:
> Modify existing infrastructure to provide support for BGP route
> aggregation, as follows:
>
> Store aggregation tags/flags in SubnetRoute's _flags field. The size of
> SubnetRoute was not influenced by this change.
>
> Provide methods for accessing / modifying aggregation tags/flags.
>
> Add AGGREGATION_TABLE as another enum RouteRableType.
>
> Implement static outbound filters for filtering out products of the
> aggregation process, depending whether the branch is EBGP or IBGP.
>
> Provide varw interface for marking a route as a candidate for aggregation,
> by writing the prefix length of the requested aggregate to SubnetRoute.
>
> NOTE: this commit does NOT include the aggregation code itself nor the
> necessary plumbings, those will follow soon after resolving a few
> critical remaining issues.
Marko,
Presumably, the new aggregate-prefix-len inside the BGP policy
template will be hooked with the bgp_varrw.{hh,cc} modifications.
According to the recent modification to bgp.tp the variable is
registered as "aggregate_prefix_len" with the policy.
In that case, I believe the new BGPVarRW methods must match the
variable name and must be named read_aggregate_prefix_len() and
write_aggregate_prefix_len() instead of read_aggr_pref_len() and
write_aggr_pref_len() respectively (Andrea please correct me if this
is not the case).
While there, if the reading should never happen (as indicated by
the printf() inside read_aggr_pref_len()), then you could just
make/register the aggregate_prefix_len policy variable write-only so
you can just remove that method. Also, I presume you meant to use
debug_msg() instead of printf() inside the committed code :)
Pavlin
>
> Revision Changes Path
> 1.22 +40 -1; commitid: 14b034374b71d7ea6; xorp/bgp/bgp_varrw.cc
> 1.15 +11 -1; commitid: 14b034374b71d7ea6; xorp/bgp/bgp_varrw.hh
> 1.13 +4 -3; commitid: 14b034374b71d7ea6; xorp/bgp/route_table_base.hh
> 1.35 +62 -1; commitid: 14b034374b71d7ea6; xorp/bgp/route_table_filter.cc
> 1.17 +20 -1; commitid: 14b034374b71d7ea6; xorp/bgp/route_table_filter.hh
> 1.19 +13 -1; commitid: 14b034374b71d7ea6; xorp/bgp/subnet_route.cc
> 1.19 +57 -7; commitid: 14b034374b71d7ea6; xorp/bgp/subnet_route.hh
> _______________________________________________
> Xorp-cvs mailing list
> Xorp-cvs@icir.org
> http://mailman.ICSI.Berkeley.EDU/mailman/listinfo/xorp-cvs