FibMgmt » History » Revision 2
Revision 1 (Junxiao Shi, 01/23/2014 11:42 PM) → Revision 2/44 (Junxiao Shi, 01/24/2014 08:30 PM)
# NFD FIB Management Prefix Registration Protocol The **FIB management **prefix registration protocol** allows an entity to manipulate the FIB nexthop list in a forwarding table entry. This protocol supports four operations: * add a nexthop to a FIB entry * remove a nexthop from a FIB entry * set whether a FIB entry should capture * set the forwarding strategy for on a namespace FIB entry ## Command format The FIB management prefix registration protocol uses Interest-Data exchange. The command request and response formats are specified in [[ControlCommand|NFD Control Command specification]]. ## Add a nexthop **prefixreg** command adds a nexthop to a FIB entry, or updates its cost and ForwardingFlags if it already exists. The command verb is **prefixreg**. Request Interest must be signed. The request options have the following format: PrefixRegOptions ::= PREFIX-REG-OPTIONS-TYPE TLV-LENGTH Name FaceId Cost ForwardingFlags? FaceId ::= FACEID-TYPE TLV-LENGTH nonNegativeInteger Cost ::= COST-TYPE TLV-LENGTH nonNegativeInteger ForwardingFlags ::= FORWARDING-FLAGS-TYPE TLV-LENGTH nonNegativeInteger **FaceId** is the FaceId returned in *NFD Face Management protocol*. If **FaceId** is set to zero, it is implied as the face of the entity sending this command. **ForwardingFlags** holds an inclusive OR of the following bit fields: flag | Description -------|----------------------------------------------------------- 0x0002 | allows this nexthop to be inherited onto a child FIB entry The response has StatusCode 200 if the command succeeds. ## Remove a nexthop **prefixunreg** command removes a nexthop from a FIB entry. The command verb is **prefixunreg**. Request Interest must be signed. The request options have the following format: PrefixUnregOptions ::= PREFIX-UNREG-OPTIONS-TYPE TLV-LENGTH Name FaceId The response has StatusCode 200 if the command succeeds. If the specified nexthop does not exist on the FIB entry, this command does nothing, but is still considered successful. ## Set capture **prefixcapture** command sets whether nexthops from parent FIB entries can be inherited. The format of this command will be defined in a later version of this spec. ## Set strategy **prefixstrategy** command picks a forwarding strategy for a namespace. The format of this command will be defined in a later version of this spec. ## TLV-TYPE assignments Type | Assigned value | Assigned value (hex) ------------------------------------------- | ----------------- | -------------------- PrefixRegOptions | 129 | 0x81 PrefixUnregOptions | 129 | 0x81 FaceId | 132 | 0x84 Cost | 63672 | 0xf8b8 ForwardingFlags | 138 | 0x8a