model: Implementing two more events for forwarding strategy: DidAddFibEntry and WillRemoveFibEntry
Currently, only DidAddFibEntry method is used and only in PerFibLimits
strategy. Change logic in global routing helper: set per FIB limits only if
forwarding strategy has created a corresponding Limit object.
diff --git a/model/fw/per-fib-limits.h b/model/fw/per-fib-limits.h
index 3632a87..47f9ee6 100644
--- a/model/fw/per-fib-limits.h
+++ b/model/fw/per-fib-limits.h
@@ -80,6 +80,19 @@
exit (1);
}
}
+
+ /// \copydoc ForwardingStrategy::DidAddFibEntry
+ virtual void
+ DidAddFibEntry (Ptr<fib::Entry> fibEntry)
+ {
+ ObjectFactory factory;
+ factory.SetTypeId (fibEntry->m_faces.begin ()->m_face->GetObject<Limits> ()->GetInstanceTypeId ());
+
+ Ptr<Limits> limits = factory.template Create<Limits> ();
+ fibEntry->AggregateObject (limits);
+
+ super::DidAddFibEntry (fibEntry);
+ }
protected:
/// \copydoc ForwardingStrategy::CanSendOutInterest