|
|
All policy filter tables in BGP have very similar functionality. Some have more features than others, but most of the code is shared.
The export filter is the most "standard" table, so it is used as a base table for the source match and import filter tables.
PolicyTable (const string& tablename, const Safi& safi,
BGPRouteTable<A>* parent,
PolicyFilters& pfs,
const filter::Filter& type)
| PolicyTable |
Parameters:
tablename | name of the table. |
safi | the safi. |
parent | the parent table. |
pfs | a reference to the global policy filters. |
type | the type of policy filter used in this table. |
~PolicyTable ()
| ~PolicyTable |
[virtual]
int add_route (InternalMessage<A> &rtmsg,
BGPRouteTable<A> *caller)
| add_route |
Reimplemented from BGPRouteTable.
int replace_route (InternalMessage<A> &old_rtmsg,
InternalMessage<A> &new_rtmsg,
BGPRouteTable<A> *caller)
| replace_route |
Reimplemented from BGPRouteTable.
int delete_route (InternalMessage<A> &rtmsg,
BGPRouteTable<A> *caller)
| delete_route |
Reimplemented from BGPRouteTable.
int route_dump (InternalMessage<A> &rtmsg,
BGPRouteTable<A> *caller,
const PeerHandler *dump_peer)
| route_dump |
[virtual]
Reimplemented from BGPRouteTable.
int push (BGPRouteTable<A> *caller)
| push |
Reimplemented from BGPRouteTable.
void route_used (const SubnetRoute<A>* route, bool in_use)
| route_used |
Reimplemented from BGPRouteTable.
bool get_next_message (BGPRouteTable<A> *next_table)
| get_next_message |
Reimplemented from BGPRouteTable.
const SubnetRoute<A> * lookup_route (const IPNet<A> &net,
uint32_t& genid,
FPAListRef& pa_list)
| lookup_route |
[const]
Reimplemented from BGPRouteTable.
RouteTableType type ()
| type |
[const]
Reimplemented from BGPRouteTable.
string str ()
| str |
[const]
Reimplemented from BGPRouteTable.
bool do_filtering (InternalMessage<A>& rtmsg,
bool no_modify)
| do_filtering |
[const]
Performs policy filtering on a route.
If false is returned, then the route is rejected, otherwise it was accepted and may have been modified.
Parameters:
rtmsg | the route message to filter. |
no_modify | if true, the filter will not modify the route. |
Returns: whether the route was accepted by the filter.
void enable_filtering (bool on)
| enable_filtering |
void init_varrw ()
| init_varrw |
[protected virtual]
const filter::Filter _filter_type | _filter_type |
[protected]
BGPVarRW<A>* _varrw | _varrw |
[protected]