Hello all,

I was exploring if I can manage to use Quagga OSPFd alone without the
zebra daemons, for reasons below.

1. I have my own RIB/FIB engines and am not interested in the Linux
RIB/FIB tables. So no need of netlink etc..

2. I have my own representations for "interfaces", which are different
from the linux eth0/eth1 etc..

Because of these two reasons, I was exploring for a way by which I can
tell ospfd that

A. here is a list of interfaces, and here is the OSPF config for those
interfaces - the interfaces are not in the standard linux ifindex
format etc.., consider it just as some datastructure which abstracts
the notion of an interface.

B. When you need to Tx an OSPF packet, call my API my_packet_tx().
Similarly when I get an rx packet, my_packet_rx() will get called
which will then call the OSPF packet Rx APIs.

C. And whenever there is a routing table change, give me a callback
with the update - this I guess is already available as OSPF APIs

For #A and #B, I see that OSPFd relies on the unix/linux notion of
interface/ifindex etc.. and the packet Rx/Tx is via socket() API
calls. So I guess the answer here is that OSPFd is not written to
support this. But I was wondering if anyone else knows of any other
branch/fork of quagga which might achieve this ? This is more like
asking for a "ospfd library" which can be embedded into another
process and the library relies on that process to supply it with
interface abstractions and packet Rx/Tx APIs. Any pointers will be
greatly appreciated !

Rgds,
Gopa.

_______________________________________________
Quagga-dev mailing list
[email protected]
https://lists.quagga.net/mailman/listinfo/quagga-dev

Reply via email to