Date: Tue, 23 Nov 2004 20:49:19 -0500 From: James <haesu@towardex.com> To: Martin Eugen <martin.eugen@gmail.com>, freebsd-net@freebsd.org, freebsd-hackers@freebsd.org Subject: Re: resolving routes externally Message-ID: <20041124014919.GA9396@scylla.towardex.com> In-Reply-To: <20041123183646.GB733@empiric.icir.org> References: <966ba91e04112301052fed8d6b@mail.gmail.com> <20041123183646.GB733@empiric.icir.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Nov 23, 2004 at 10:36:46AM -0800, Bruce M Simpson wrote: [ snip ] > > If I understand correctly, you want the kernel to queue packets until > layer 2 address resolution is complete. Right now we don't do this. If > there is no route to a destination, packets will be dropped. The KAME ipv6 code does this for v6 neighbor discovery (which is not arp yes..). Martin, nd6_output() in netinet6/nd6.c should be helpful if you want to look. RFC requires routers to queue packets up during layer 2 resolution process (which is why in IPv6 when destination host is down you see !A with huge latency -- i.e. 3400ms due to queueing by the router[1]). If you are queueing however, make sure you use locking or check for any safety mechanisms as you may corrupt mbuf's that are flooding inbound. BTW Martin,, what is the purpose of this intent? Just curiousity of mine. [1]: Some hardware/ASIC based routers violate the RFC unfortunately. It's a little harder to implement there (see J vendor) -J -- James Jun TowardEX Technologies, Inc. Technical Lead Boston IPv4/IPv6 Web Hosting, Colocation and james@towardex.com Network design/consulting & configuration services cell: 1(978)-394-2867 web: http://www.towardex.com , noc: www.twdx.net
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20041124014919.GA9396>