Recently, I try to understand the implementation of the routing subsystem.
It's so complex, and I'm quite confused by so many different structures.
As my understanding about the four structures fib_node, fib_alias, fib_info,
and fib_nh:
fib_node can be used to identify a subnet or a host.
fib_alias is used to represent a route.
fib_info contains the real routing information.
fib_nh contains the information of the next hop.
I can understand fib_node can have a few fib_alias objects because Linux
supports multipath. For the same subnet, there may exist several routes to
it.
Several fib_alias objects share one fib_info, it's still reasonable because
different routes may share the same parameter values of an existing fib_info
object.
But why one fib_info can have several fib_nh objects? That means a route may
have several next hops, but it seems unreasonable.
Can someone show me an example to help me understand it?
Thank you in advance.

Best,
Zheng Da

Reply via email to