Thanks Balaji, thats cleared my doubts. I will dive into the code and
understand internals.

On Thu, Oct 29, 2015 at 2:18 PM, Balaji G <[email protected]> wrote:

>
>
> On Thu, Oct 29, 2015 at 1:09 PM, srujan k <[email protected]> wrote:
>
>> Thanks Balaji. So Zserv daemon maintains RIB and other routing protocol
>> daemons sends their best route to Zserv and Zserv will update the same in
>> to FIB.
>>
>> How Zserv and other daemons (for example ospfd) will communicate?
>>
> zapi_ipv4_route() takes care of creating the message with the prefix and
> sends it to Zserv
>
>
>> Is there any keep alive messages will be sent between 2 and how Zserv
>> will determine the route sent by ospfd is old/new
>>
> Why do you need keepalives between ospfd and zserv. zserv will lookup the
> routing node to check if the node exists and if it exists, it goes through
> the route parameters to check if there is any change in the new route that
> is being sent and then decides.
>
>
>> . What happens if RIB entries were became stale(the hardware shut down).
>>
> The routes in the RTM should get removed.
>
>>
>> Does Zserv will keep RIB entries in Linked list or hash table data
>> structure. I assume FIB/Routing table entries will be stored in Trie data
>> structure.
>>
> Its a Trie Data structure.  Hash is generally used for routing caches as
> far as i know.
>
>>
>> Is there any command to dump RIB entries on console/file?
>>
> show ip route displays the routing table
>
> Thanks,
>   - Balaji
>
>
>> Regards,
>> Srujan
>>
>> On Thu, Oct 29, 2015 at 12:53 PM, Balaji G <[email protected]> wrote:
>>
>>> To make things more clear, the routing protocols send messages to Zserv
>>> daemon to add/delete routes from RIB and Zserv sends Netlink messages to
>>> the kernel to update the FIB.
>>>
>>>>
>>> On Thu, Oct 29, 2015 at 12:48 PM, Balaji G <[email protected]> wrote:
>>>
>>>> Hi,
>>>>
>>>> On Thu, Oct 29, 2015 at 12:11 PM, srujan k <[email protected]>
>>>> wrote:
>>>>
>>>>> Hi DevTeam,
>>>>> What is the difference between FIB and RIB. Does zebra updates RIB or
>>>>> FIB.
>>>>>
>>>> RIB is a data structure maintained by RTM (Zserv). FIB is maintained in
>>>> the kernel or Network Processors(in enterprise routers).  In Quagga, all
>>>> protocols send messages to Zserv which updates the RIB and also sends a
>>>> Netlink message to kernel to update FIB.
>>>>
>>>
>>>>
>>>>> I assume the consolidated routes from routing protocols(rip,ospf) or
>>>>> static routing will be given to zebra and then zebra daemon will update
>>>>> these routes into kernel routing table via netlink sockets.
>>>>>
>>>> when any routing protocol adds route in its own native RIB, the best
>>>> route based on routing protocol's decision making algorithm is sent to RTM.
>>>> The RTM based on administrative distance and other parameters compares the
>>>> routes sent by many routing protocols and marks a particular route as best
>>>> and valid and sends the same down to FIB.
>>>>
>>>>>
>>>>> I am bit confused about RIB and FIB.
>>>>>
>>>>  Does our quagga updates any of these protocols.
>>>> Quagga contains many routing protocols. I dont understand what you mean
>>>> by whether quagga updates protocols here ?
>>>>
>>>>
>>>>> From google I found that FIB will be used by dataplane to actually
>>>>> forward packets.
>>>>>
>>>> Yes FIB is used for fast path forwarding a.k.a H/w forwarding in case
>>>> of enterprise which is done by NPs/ASICs too.
>>>>  Since quagga is control plane software does it writes/updates RIB
>>>> table.
>>>> Answered above
>>>>
>>>> Thanks,
>>>> - Balaji
>>>>
>>>>>
>>>>> Regards,
>>>>> Srujan
>>>>>
>>>>> _______________________________________________
>>>>> Quagga-dev mailing list
>>>>> [email protected]
>>>>> https://lists.quagga.net/mailman/listinfo/quagga-dev
>>>>>
>>>>
>>>>
>>>
>>
>
_______________________________________________
Quagga-dev mailing list
[email protected]
https://lists.quagga.net/mailman/listinfo/quagga-dev

Reply via email to