Subject: differences in member name
To: None <tech-net@netbsd.org, freebsd-net@netbsd.org>
From: None <itojun@iijlab.net>
List: tech-net
Date: 08/24/1999 01:56:05
	I'm working on KAME code which shares most of sys/netinet6 code
	among all *BSDs.  I find it VERY irritating (and tend to introduce
	bugs) to make #ifdef for some of very trivial differences among BSDs.
	One of very good exapmle is if_list/if_link member in struct ifnet.

	NetBSD: if_list, net/if.h
	FreeBSD: if_link, net/if_var.h (moved from net/if.h)
	OpenBSD: if_list, net/if.h (since it was inherited from NetBSD)

	Could anyone tell me why the difference is introduced?
	If either of them is more authentic than others, is there any
	chance for synchronization?

	For if_list/if_link, changes are introduced in the following version:
NetBSD:
http://www.jp.netbsd.org/cgi-bin/cvsweb.cgi/syssrc/sys/net/if.h.diff?r1=1.16&r2=1.17
FreeBSD:
http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/net/if.h.diff?r1=1.39&r2=1.40

	My fundamental question is, why do people work on *BSDs needs to waste
	their time on this kind of tiny (but very irritating) twists.
	Other researchers/hackers find it troublesome.

itojun
NOTE: BSDI4 is still using if_next (not queue.h) so I omitted it
from the above example.  When BSDI4 changes it in the future, I hope
them try to use common member name.