On 08/05/09 15:05, Sowmini.Varadhan at Sun.COM wrote: > On (08/05/09 11:44), Peter Memishian wrote: >> > I looked at the quagga code available @ >> > >> > >> http://src.opensolaris.org/source/xref/sfw/usr/src/cmd/quagga/quagga-0.99.8/zebra/ipforward_solaris.c >> > >> > They are using ND_GET and ND_SET ioctls directly to set global >> > ip_forwarding parameter. We can change that code to use ipadm_set_prop() >> > and ipadm_get_prop() API's made available through libipadm.so. >> >> So those are going to be public APIs? > > Meem makes a good point- (like libdladm)these are not ready to be > public APIs yet. > >> > I searched under 'sfw' directory for any other usage of ND_GET and >> > ND_SET, other than quagga, nobody else is using it. >> >> SFW does not comprise the entire set of important open-source >> applications. I think a more exhaustive search is warranted. > > > In my exhaustive search (Explorer/Google data) the only case where > ND_SET and ND_GET are called directly is for the global ip_forwarding > tunable, typically by routing daemons. I think we can leave the > lone ND_SET/ND_GET path for that tunable (and make it set the > internal ipadm code in the kernel). This will at least minimize > the Mentat nd_getset* goo that we have to retain in the kernel > for backward compat.
I guess, we could do that. Just retain ND_SET and ND_GET ioctls and we already understand the GET/SET buffer (NULL delimited list of strings) and accordingly call the internal ipadm code in the kernel, to set that variable. ~Girish
