FilterVersion< A > Class Template Reference

specific version of a static route filter More...

#include <route_table_filter.hh>

List of all members.

Public Member Functions

 FilterVersion (NextHopResolver< A > &next_hop_resolver)
void set_genid (uint32_t genid)
int add_aggregation_filter (bool is_ibgp)
int add_simple_AS_filter (const AsNum &asn)
int add_route_reflector_input_filter (IPv4 bgp_id, IPv4 cluster_id)
int add_AS_prepend_filter (const AsNum &asn, bool is_confederation_peer)
int add_nexthop_rewrite_filter (const A &nexthop, bool directly_connected, const IPNet< A > &subnet)
int add_nexthop_peer_check_filter (const A &nexthop, const A &peer_address)
int add_ibgp_loop_filter ()
int add_route_reflector_ibgp_loop_filter (bool client, IPv4 bgp_id, IPv4 cluster_id)
int add_route_reflector_purge_filter ()
int add_localpref_insertion_filter (uint32_t default_local_pref)
int add_localpref_removal_filter ()
int add_med_insertion_filter ()
int add_med_removal_filter ()
int add_known_community_filter (PeerType peer_type)
int add_unknown_filter ()
int add_originate_route_filter (const AsNum &asn, PeerType peer_type)
bool apply_filters (InternalMessage< A > &rtmsg, int ref_change)
int ref_count () const
uint32_t genid () const
bool used () const

Private Attributes

uint32_t _genid
bool _used
list< BGPRouteFilter< A > * > _filters
int _ref_count
NextHopResolver< A > & _next_hop_resolver

Detailed Description

template<class A>
class FilterVersion< A >

specific version of a static route filter

When a peering is reconfigured, we need to change the filter, but still maintain consistency for downstream tables. We keep the old filter around until there are no more routes that need it, and only then delete it. FilterVersion holds a specific version of a static route filter bank.

The documentation for this class was generated from the following files:
 All Classes Namespaces Functions Variables Typedefs Enumerations