Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 1 Sep 2008 17:37:07 +0530
From:      "Debarshi Ray" <debarshi.ray@gmail.com>
To:        "FreeBSD networking and TCP/IP list" <freebsd-net@freebsd.org>
Subject:   reading routing table
Message-ID:  <3170f42f0809010507q6c37a9d5q19649bc261d7656d@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
I am implementing a library/utility which basically encompasses the
features of the traditional route utilities and those of newer tools
(like ip from iproute2), which are mostly specific to a particular
kernel. The overpowering objective is to make the library/utility work
uniformly across all different kernels, so that programs like
NetworkManager have a portable library/utility to use instead of the
Linux-kernel specific ip which is now being used.

I was going through the FreeBSD and NetBSD documentation and the
FreeBSD sources of netstat and route. I was suprised to see that while
NetBSD's route implementation has a 'show' command, FreeBSD does not
offer any such thing. Moreover it seems that one can not read the
entire routing table using the PF_ROUTE sockets and RTM_GET returns
information pertaining to only one destination. This suprised me
because one can do such a thing with the Linux kernel's RTNETLINK.

Is there a reason why this is so? Or is reading from /dev/kmem the
only way to get a dump of the routing tables?

Thanks,
Debarshi



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3170f42f0809010507q6c37a9d5q19649bc261d7656d>