Date: Thu, 07 Aug 2014 07:06:15 -0400 From: Fernando Gont <fernando@gont.com.ar> To: Hiroki Sato <hrs@FreeBSD.org> Cc: freebsd-net@freebsd.org Subject: Re: Routing IPv6 packets towards oneself with routing sockets? Message-ID: <53E35DA7.4020800@gont.com.ar> In-Reply-To: <20140807.192403.845244220459089560.hrs@allbsd.org> References: <53E2B586.3080700@gont.com.ar> <20140807.192403.845244220459089560.hrs@allbsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi, Hiroki, On 08/07/2014 06:24 AM, Hiroki Sato wrote: > > Fernando Gont <fernando@gont.com.ar> wrote > in <53E2B586.3080700@gont.com.ar>: > > fe> However, whenever I lookup an entry for fc00:1::1 with routing sockets, > fe> the only entry I obtain is fc00:1::/64 (a network route) rather than > fe> fc00:1::1/128 (a host route). As a result, I kind of have to figure out > fe> that since fc00:1::1 is my own address, I must override whatever I > fe> learned via routing sockets, and just send my packets to loopback. > fe> > fe> I would assume that I must be doing something wrong, since I would > fe> expect the host-specific route (i.e. longest-matching route) to be route > fe> learned via routing sockets. And that I shouldn't be implementing this > fe> "is the dst address my own address?" hack. > fe> > fe> Any thoughts? > fe> > fe> P.S.: I can provide a code snippet if that'd be of any help. > > RTM_GET should return fc00:1::1/128 with ifp == lo0. Yes, that's what I would have expected. > Can you show > the code you are using? Yes: <https://github.com/fgont/snippets/raw/master/bsd-lookup-simple.c> Run it as: bsd-lookup-simple -v IPV6_DEST_ADDR (or without the "-v" if you don't want much verbosity) Thanks! Best regards, -- Fernando Gont e-mail: fernando@gont.com.ar || fgont@si6networks.com PGP Fingerprint: 7809 84F5 322E 45C7 F1C9 3945 96EE A9EF D076 FFF1
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?53E35DA7.4020800>