\section{FIB Interaction}
\label{sec:fib}

The FIB module interacts with NFD to perform registrations and
unregistrations of routes. By registration, what is meant is the
submission of a RIB route to the local NFD, which includes a name
prefix, the Face ID of the nexthop, an expiration time, and the
calculated cost from the Routing Table calculation. Additionally, NLSR
sets a field to tell NFD that the route originates from NLSR, and sets
a route inheritance flag.

The expiration time for a route is pegged at double the value of the
LSA refresh time, which is defined by \texttt{lsa-refresh-time} in the
configuration file. The route inheritance flag is set to capture,
which forbids NFD from using a shorter prefix of the name prefix for
forwarding.

More information about NFD's RIB can be found on the
\href{https://redmine.named-data.net/projects/nfd/wiki/RibMgmt}{Redmine
  wiki}. An important thing to note is that NFD has a module called
the FIB. Anywhere in this guide, the word ``FIB'' refers to the NLSR
FIB, which models NLSR's expectation of how NFD would forward packets.

The FIB is directed by the Name Prefix Table, which registers and
unregisters routes based on calculations by the Routing Table and
advertisements from LSAs. The connection between the FIB and the NPT
is through the \texttt{Fib::update()} method.

\subsection{Updating the FIB}
Generally, updating the FIB looks like this:
\begin{itemize}
\item Sort the list of next hops for the prefix, by cost.
\item Take the cheapest \texttt{max-faces-per-prefix} hops. This can be set to have no limit, so all next hops are registered.
\item Send a RIB route registration command for each next hop.
\item Send a RIB route unregistration command for any next hops that
  have dropped out of the list. This includes next hops that became
  invalid since the last Routing Table calculation, as well as valid
  hops that are no longer in the top \texttt{max-faces-per-prefix}
  next hops.
\end{itemize}

If there are more passed next hops than the
\texttt{max-faces-per-prefix}, the FIB module will only use the first
\texttt{max-faces-per-prefix} number of next hops from the sorted
list.  If there are less passed next hops than
\texttt{max-faces-per-prefix}, the FIB module will use all of the next hops.
Specifically, when the NPT updates the FIB, the FIB creates entries so
that it can compute the difference between the set of new next hops,
and the set of old next hops that were registered at the last update.
These entries are unique on the destination name prefix. The FIB will
update an existing entry instead of creating a new one, which may
involve unregistering old next hops, as mentioned above.
