Accessing the FIB tables

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



HI,
      I have Linux machine acting as a router and Zebra Daemon  is running
on that. Currently
RIP is configured which is  receiving routes from another gateway. The
routes are updated in FIB
tables.
      I want to read This FIB table , which is declared  as a
struct fib_table *main_table .
I am able to access  and read this table.  i want  to read certain
information from this FIB table and want
to build my own forwarding  table. from this table i am reading NetID,
Netmask, and IP address of  Next Hop gateway.

IP address of  Next Hope gateway is available in fib_nh->nh_gw.  Apart from
this i also want the Mac  address of  Next Hope gateway.   so how  can i
get the MAC address for  Next Hop gateway ??

I  am able to get the pointer to Next hop device that is ,
 #define fib_dev        fib_nh[0].nh_dev

in net_device structure definition ,

#ifdef CONFIG_NET_FASTROUTE
#define NETDEV_FASTROUTE_HMASK 0xF
      /* Semi-private data. Keep it at the end of device struct. */
      rwlock_t          fastpath_lock;
      struct dst_entry  *fastpath[NETDEV_FASTROUTE_HMASK+1];
#endif

 There is a dst_entry in which the hh_cache * is stored .
But the  struct dst_entry     *fastpath[NETDEV_FASTROUTE_HMASK+1];  is null
.
even  CONFIG_NET_FASTROUTE is configured.

So what could be the reason for that??


or  is there any other way to get the MAC address for  Next Hop gateway ??
I know one way is to Do
ARP. But doing ARP would slow down the process.

Any help or link on this is Appreciated.







Cheers,
Mahesh Pujara


-
: send the line "unsubscribe linux-net" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux