relation between kernel FIB and hardware FIB

Discussion in 'Cisco' started by Mark, Sep 20, 2012.

  1. Mark

    Mark Guest

    Hello

    This is more a genric question on the implementation of routers. Does a
    software in the control plane (let's consider RIP, OSPF or BGP protocols)
    have to install routing entries in both kernel and underlying hardware
    (given that the hardware is capable to maintain its FIB), or in such case
    the kernel doesn't need to have a routing table and the routing table is
    constructed and maintained entirely by the control plane routing prototols ?

    Thanks.

    Mark
    Mark, Sep 20, 2012
    #1
    1. Advertising

  2. In article <k3fes8$fo9$>,
    "Mark" <> wrote:

    > Hello
    >
    > This is more a genric question on the implementation of routers. Does a
    > software in the control plane (let's consider RIP, OSPF or BGP protocols)
    > have to install routing entries in both kernel and underlying hardware
    > (given that the hardware is capable to maintain its FIB), or in such case
    > the kernel doesn't need to have a routing table and the routing table is
    > constructed and maintained entirely by the control plane routing prototols ?


    Usually they each maintain separate tables. Each routing protocol
    typically needs to maintain its own state, because they operate
    independently -- a RIP route shouldn't normally be advertised via BGP.
    The hardware FIB is created by merging all the information from the
    different protocols.

    Also, the memory for the hardware FIB is usually limited, so you just
    want the minimal forwarding information. But routing protocols need to
    maintain state, sometimes quite a bit of it (e.g. the AS path in BGP).

    --
    Barry Margolin,
    Arlington, MA
    *** PLEASE post questions in newsgroups, not directly to me ***
    Barry Margolin, Sep 20, 2012
    #2
    1. Advertising

  3. Mark

    Mark Guest

    "Barry Margolin" <> wrote in message
    news:-september.org...
    > Usually they each maintain separate tables. Each routing protocol
    > typically needs to maintain its own state, because they operate
    > independently -- a RIP route shouldn't normally be advertised via BGP.
    > The hardware FIB is created by merging all the information from the
    > different protocols.


    Thanks for the reply. To be more specific -- a routing protocol maintains
    its state and RIB table should reflect the RIB information down to the
    kernel or/and hardware; so my question is -- should it be done on both
    kernel and hardware, i.e. FIB in the hardware, or only FIB in hardware? (By
    the hardware let's consider L3 switch, or network processor). Obviously if
    we have a generic x86 machine with NICs and OS Linux, then the only FIB we
    update is the kernel's FIB, but what if we have Linux and user-level
    applications implementing routing protocols, and underlying network
    processor capable of maintaining its own FIB tables?

    > Also, the memory for the hardware FIB is usually limited, so you just
    > want the minimal forwarding information. But routing protocols need to
    > maintain state, sometimes quite a bit of it (e.g. the AS path in BGP).
    >


    Mark
    Mark, Sep 20, 2012
    #3
  4. In article <k3fpih$ch7$>,
    "Mark" <> wrote:

    > "Barry Margolin" <> wrote in message
    > news:-september.org...
    > > Usually they each maintain separate tables. Each routing protocol
    > > typically needs to maintain its own state, because they operate
    > > independently -- a RIP route shouldn't normally be advertised via BGP.
    > > The hardware FIB is created by merging all the information from the
    > > different protocols.

    >
    > Thanks for the reply. To be more specific -- a routing protocol maintains
    > its state and RIB table should reflect the RIB information down to the
    > kernel or/and hardware; so my question is -- should it be done on both
    > kernel and hardware, i.e. FIB in the hardware, or only FIB in hardware? (By
    > the hardware let's consider L3 switch, or network processor). Obviously if
    > we have a generic x86 machine with NICs and OS Linux, then the only FIB we
    > update is the kernel's FIB, but what if we have Linux and user-level
    > applications implementing routing protocols, and underlying network
    > processor capable of maintaining its own FIB tables?


    If you're implementing a router, you can do whatever you want. The main
    benefit of keeping a copy of the FIB in the kernel is that it doesn't
    have to interrupt the hardware if an application asks to view the FIB.

    --
    Barry Margolin,
    Arlington, MA
    *** PLEASE post questions in newsgroups, not directly to me ***
    Barry Margolin, Sep 21, 2012
    #4
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. winds
    Replies:
    1
    Views:
    414
    Horst Wagner
    Feb 10, 2006
  2. Michael

    Prefetch and its relation to Task Scheduler

    Michael, Feb 5, 2005, in forum: Computer Support
    Replies:
    1
    Views:
    689
    ┬░Mike┬░
    Feb 5, 2005
  3. Replies:
    5
    Views:
    9,090
  4. Jarek Jarzebowski
    Replies:
    4
    Views:
    3,047
    Simon Leinen
    Sep 18, 2008
  5. Rabih,CCNA & Master Office 2003 Spaciali

    what is the relation between Network+ and MCDST 2003

    Rabih,CCNA & Master Office 2003 Spaciali, Jun 14, 2007, in forum: MCDST
    Replies:
    1
    Views:
    267
    Michael D. Alligood [CertGuard]
    Jun 14, 2007
Loading...

Share This Page