From owner-freebsd-net Mon Aug 13 1: 9:31 2001 Delivered-To: freebsd-net@freebsd.org Received: from starfruit.itojun.org (dhcp-227.bakeoff.ipsec.com [130.233.11.227]) by hub.freebsd.org (Postfix) with ESMTP id C828E37B408 for ; Mon, 13 Aug 2001 01:09:18 -0700 (PDT) (envelope-from itojun@itojun.org) Received: from itojun.org (localhost [127.0.0.1]) by starfruit.itojun.org (Postfix) with ESMTP id DBF2D7BB; Mon, 13 Aug 2001 05:15:30 +0900 (JST) To: Julian Elischer Cc: net@freebsd.org In-reply-to: julian's message of Sun, 12 Aug 2001 10:01:43 MST. <3B76B677.337B5E88@elischer.org> X-Template-Reply-To: itojun@itojun.org X-Template-Return-Receipt-To: itojun@itojun.org X-PGP-Fingerprint: F8 24 B4 2C 8C 98 57 FD 90 5F B4 60 79 54 16 E2 Subject: Re: IPV6/KAME/protosw integration cleanup From: Jun-ichiro itojun Hagino Date: Mon, 13 Aug 2001 05:15:30 +0900 Message-Id: <20010812201530.DBF2D7BB@starfruit.itojun.org> Sender: owner-freebsd-net@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org >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