[Xorp-hackers] question about fea

Pavlin Radoslavov pavlin@icir.org
Sat, 10 Apr 2004 10:57:49 -0700


> Hi All,
>  
> I have a question to make clear about fea : 
> 
> In fea, the interface manager keeps a copy of the kernel interface configuration, and use
> netlink socket (if system supports) to trace the interface update. At the same time,
> Fti manager doesn't keep such copy of kernel forwarding table, and the netlink notify     
> processing function also not implemented (such as FtiConfigEntryObserverNetlink::receive_data).

Yes, the FtiConfigEntryObserverNetlink::receive_data() processing is not
implemented, but the FtiConfigTableObserverNetlink::receive_data()
is implemented (make sure that you have a recent CVS copy).

The former's purpose is more hypotetical: tracking a single
forwarding entry which we don't do.
The latter is used for tracking updates of the whole forwarding
table, and it is (almost) used already.

> Why don't Fti manager use the same scheme as interface manager, so it could also
> incrementally update kernel forwarding table information to other xorp module (eg. mfea
> doesn't need to read the whole forwarding table from kernel every 10 seconds).
> 
> Am I missing something, or it's just a temp hack to anticipate the RIB module later
> take over that responsiblity?

The fact that the mfea reads the whole forwarding table every 10
seconds is a temporary hack.

The purpose of the fib2mrib module (which is almost completed, but
not used yet) is to track those changes from the FEA and then inject
them as multicast routes into the RIB, and for that purpose we use
FtiConfigTableObserverNetlink::receive_data().

Note that we need to use fib2mrib only if we are not using XORP for
unicast routing. Otherwise, the RIB itself will contain the
information we need for multicast routing purpose.

Regards,
Pavlin