class PolicyTable

Generic Policy filter table suitable for export filters. More...

 
LOGO
 Annotated List  Files  Globals  Hierarchy  Index  Top

Public Methods

Protected Methods

Protected Members


Detailed Description

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:

tablenamename of the table.
safithe safi.
parentthe parent table.
pfsa reference to the global policy filters.
typethe type of policy filter used in this table.
 ~PolicyTable ()

~PolicyTable

[virtual]

int  add_route (const InternalMessage<A> &rtmsg, BGPRouteTable<A> *caller)

add_route

Reimplemented from BGPRouteTable.

int  replace_route (const InternalMessage<A> &old_rtmsg, const InternalMessage<A> &new_rtmsg, BGPRouteTable<A> *caller)

replace_route

Reimplemented from BGPRouteTable.

int  delete_route (const InternalMessage<A> &rtmsg, BGPRouteTable<A> *caller)

delete_route

Reimplemented from BGPRouteTable.

int  route_dump (const 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)

lookup_route

[const]

Reimplemented from BGPRouteTable.

RouteTableType  type ()

type

[const]

Reimplemented from BGPRouteTable.

string  str ()

str

[const]

Reimplemented from BGPRouteTable.

const InternalMessage<A>*  do_filtering (const InternalMessage<A>& rtmsg, bool no_modify)

do_filtering

[const]

Performs policy filtering on a route.

If null is returned, then the route is rejected. The pointer to the same route may be returned if the route is accepted but not modified. A pointer to a different route will be returned in the case of an accepted and modified route. The old route will be deleted.

Parameters:

rtmsgthe route message to filter.
no_modifyif true, the filter will not modify the route.

Returns: the possibly modified message, Null if rejected by filter.

const filter::Filter _filter_type

_filter_type

[protected]

void  init_varrw ()

init_varrw

[protected virtual]

BGPVarRW<A>* _varrw

_varrw

[protected]


Generated by: pavlin on possum.icir.org on Wed Mar 21 11:23:48 2007, using kdoc $.