From owner-freebsd-hackers@FreeBSD.ORG Tue Aug 19 16:03:14 2003 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B999216A4BF for ; Tue, 19 Aug 2003 16:03:14 -0700 (PDT) Received: from pony1pub.arc.nasa.gov (pony1pub.arc.nasa.gov [128.102.31.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id CEC6743FBF for ; Tue, 19 Aug 2003 16:03:12 -0700 (PDT) (envelope-from jtoung@arc.nasa.gov) Received: from nren-194.arc.nasa.gov ([128.102.196.194] verified) by pony1pub.arc.nasa.gov (CommuniGate Pro SMTP 4.0.6) with ESMTP id 2179060 for freebsd-hackers@freebsd.org; Tue, 19 Aug 2003 16:03:08 -0700 Content-Type: text/plain; charset="us-ascii" From: Jerry Toung To: freebsd-hackers@freebsd.org Date: Tue, 19 Aug 2003 16:02:40 -0700 User-Agent: KMail/1.4.3 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Message-Id: <200308191602.40166.jtoung@arc.nasa.gov> Subject: new routing protocol X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: jtoung@arc.nasa.gov List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Aug 2003 23:03:15 -0000 dear hackers, I am in the process of implementing a routing protocol under 5.0. This routing protocol is source route based and requires its own header a= fter the ip header and before any other one such as udp,tcp. =09 (ip)(new_rt_hdr)(udp)(paylaod) =09 I am requesting your input as to the best way to approach this. I am thin= king=20 that the quick way would be to open netinet/ip_input.c and for every pack= et=20 with ip->ip_p =3D NEW_RT_TYPE do my processing. I am not using routing ta= bles,=20 I have another mechanism for routing decisions. and for outgoing packets,= =20 before sending to the appropriate interface, in netinet/ip_output.c inser= t=20 the new routing header then pass the packet to ifp->if_output. =09 My problem is dealing with debuging and portability. With this raw approa= ch I=20 guess I will have to run builkernel and installkernel all the time. How c= an I=20 avoid that? I thought about kernel modules, but I don't know what kind to= use=20 (SYSCALL_MODULE or DEV_MODULE,etc..) and how about netgraph.? does that m= ake=20 sense? =09 somebody give a pointer and I'll figure out how to proceed. I am not that experienced in kernel programming. Thanks a lot, =09Jerry.