Feature #4284
closed
Added by Junxiao Shi about 7 years ago.
Updated almost 6 years ago.
Description
A FIB next hop record is currently identified by only a FaceId.
However, a broadcast or ad hoc wireless face may support both multicast and unicast communication, as indicated by the EndpointId field.
Thus, FIB next hop record shall be identified by a tuple of FaceId and EndpointId.
Note that this issue only involves adding a EndpointId column to FIB next hop record. There is no need to extend management or RIB.
- Assignee deleted (
Yanbiao Li)
- Assignee set to Md Ashiqur Rahman
Currently a nexthop entry is as NextHop(Face& face)
. By 'adding' a new column for the EndpointID, do I set a new method NextHop(Face& face, endpoint)
or "update" it to have the endpoint
column fixed?
Also, I see that there are multiple endpoint
type, i.e. protocol::endpoint
, udp::Endpoint
, tcp::Endpoint
. How should I handle these and what should be the default type I use for the EndpointID
column in the NextHop
table?
Currently the addNextHop(Face& face, uint64_t cost)
method says: If a NextHop record for face already exists its cost is updated.
However, should we not also check if the a certain endpointId also exists before we create a new entry and/or update the cost? i.e. I think it should be updated to addNextHop(Face& face, uint64_t endpointId, uint64_t cost)
, and perform checking if an endpoint id to a face exists or not.
Basically every occurrence of “Face” is replaced with a tuple of Face+EndpointId.
A notable exception is how FIB and PIT reacts to a face being destroyed: in that case, relevant entries with the affected face and any endpointId are removed.
- % Done changed from 0 to 30
Junxiao Shi wrote:
Basically every occurrence of “Face” is replaced with a tuple of Face+EndpointId.
Meaning in the Pit::erase
, I need to set "Face -> "Face + endpointId" ?
A notable exception is how FIB and PIT reacts to a face being destroyed: in that case, relevant entries with the affected face and any endpointId are removed.
Does this mean when a simple remove- Fib::removeNextHop(Entry& entry, const Face& face)
is called (meaning the default endpointId=0
), this should remove all entries regardless of the endpointId
value?
- % Done changed from 30 to 90
- Status changed from New to Closed
- % Done changed from 90 to 100
- Related to Feature #4816: Display FIB nexthop endpoint ID in status dataset added
- Blocks Feature #4281: Develop self-learning for broadcast and ad hoc wireless faces added
- Related to deleted (Feature #4816: Display FIB nexthop endpoint ID in status dataset)
- Blocks Feature #4816: Display FIB nexthop endpoint ID in status dataset added
Also available in: Atom
PDF