| External (Ospf<A>& ospf, map<OspfTypes::AreaID, AreaRouter<A> *>& areas)
|bool announce (OspfTypes::AreaID area, Lsa::LsaRef lsar)
Candidate for announcing to other areas. Store this LSA for future replay into other areas. Also arrange for the MaxAge timer to start running.
|area||the AS-external-LSA came from.|
Returns: true if this LSA should be propogated to other areas.
|bool announce_complete (OspfTypes::AreaID area)
Called to complete a series of calls to announce().
|void push (AreaRouter<A> *area_router)
Provide this area with the stored AS-external-LSAs.
|bool announce (IPNet<A> net, A nexthop, uint32_t metric,
const PolicyTags& policytags)
A true external route redistributed from the RIB (announce).
|bool withdraw (const IPNet<A>& net)
A true external route redistributed from the RIB (withdraw).
|bool clear_database ()
Clear the AS-external-LSA database.
|void suppress_lsas (OspfTypes::AreaID area)
Suppress or remove AS-external-LSAs that are originated by this router that should yield to externally generated AS-external-LSAs as described in RFC 2328 Section 12.4.4. By time this method is called the routing table should have been updated so it should be clear if the other router is reachable.
|void suppress_route_announce (OspfTypes::AreaID area, IPNet<A> net,
A route has just been added to the routing table.
|void suppress_route_withdraw (OspfTypes::AreaID area, IPNet<A> net,
A route has just been withdrawn from the routing table.
|bool as_boundary_router_p ()
Is this an AS boundary router?
|void push_routes ()
Re-run the policy filters on all routes.