Date: Mon, 13 Aug 2001 05:15:30 +0900 From: Jun-ichiro itojun Hagino <itojun@iijlab.net> To: Julian Elischer <julian@elischer.org> Cc: net@freebsd.org Subject: Re: IPV6/KAME/protosw integration cleanup Message-ID: <20010812201530.DBF2D7BB@starfruit.itojun.org> In-Reply-To: julian's message of Sun, 12 Aug 2001 10:01:43 MST. <3B76B677.337B5E88@elischer.org>
next in thread | previous in thread | raw e-mail | index | archive | help
>Well what is there now is plainly unacceptable >I think that it was asked for as a VERY SHORT TERM hack. >But it has been there a long time... >I see no reasons so far to not make most of these changes.. well, you are ignoging our design decisions. they are all done for reasons. >1/ removal of "control" argument from rip6_input and prepend control mbuf >to chain AS IT WAS DESIGNED FOR. This makes rip6_input conform to the proto >type for input. (I have not confirmed that the information in control >is a valid mbuf but it is an mbuf pointer). i don't see any "control" argument in rip6_input in kame tree, as well as freebsd sys/netinet6/raw_ip6.c revision 1.12. which revision are you looking at? http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/netinet6/raw_ip6.c?rev=1.12&content-type=text/x-cvsweb-markup if you are talking about rip6_ctlinput(), they are void * from the start with reason. each of the protocols can define any argument for xx_ctlinput() from the control input path. therefore, it is okay for us to define types passed up from icmp6_input() from xx_ctlinput(). >2/ remove all var-args.. This is a disgusting hach that makes it impossible >for the compiler to catch mismatched functions and arguments. >NetBSD should know better than this.. they changed it.. they can bear the costs >of compatibility.. we are NOT going to do that. >3/ define all prototypes in terms of predefined types to allow >the compiler to catch wrong assignments quicker (or to change them quicker). >(this was planned a long time ago but not done for reasons I forget) i can partially buy this, but for *BSD code sharing, i do need a compromise here. permit us to use varargs. >4/ Addition of the "proto" field to output to allow ipprotosw to be completely >removed. (the special type for that filed need not be done as I only did that >to ensure that KAME was not using it somewhere to pass something OTHER than >an proto type.) (other protocols can ignore this field). no you can't remove "proto" argument from the argument list. because of the way ipv6 extension header chain (and IPv4 AH/ESP header) is designed, proto argument has to be passed around, otherwise we can't know which protocol we are processing (think of raw ip header processing, like rip_input). itojun To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010812201530.DBF2D7BB>