From owner-freebsd-net Mon Jul 2 5:27: 7 2001 Delivered-To: freebsd-net@freebsd.org Received: from whale.sunbay.crimea.ua (whale.sunbay.crimea.ua [212.110.138.65]) by hub.freebsd.org (Postfix) with ESMTP id 654AB37B401 for <net@FreeBSD.org>; Mon, 2 Jul 2001 05:26:52 -0700 (PDT) (envelope-from ru@whale.sunbay.crimea.ua) Received: (from ru@localhost) by whale.sunbay.crimea.ua (8.11.2/8.11.2) id f62CQVe96273; Mon, 2 Jul 2001 15:26:31 +0300 (EEST) (envelope-from ru) Date: Mon, 2 Jul 2001 15:26:31 +0300 From: Ruslan Ermilov <ru@FreeBSD.org> To: Iasen Kostoff <tbyte@tbyte.org> Cc: net@FreeBSD.org Subject: Re: Indirect route with also indirect gateway Message-ID: <20010702152631.C77685@sunbay.com> Mail-Followup-To: Iasen Kostoff <tbyte@tbyte.org>, net@FreeBSD.org References: <20010702130910.A77685@sunbay.com> <Pine.BSF.4.21.0107021312150.8303-100000@shadow.otel.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <Pine.BSF.4.21.0107021312150.8303-100000@shadow.otel.net>; from tbyte@tbyte.org on Mon, Jul 02, 2001 at 01:16:19PM +0300 Sender: owner-freebsd-net@FreeBSD.ORG Precedence: bulk List-ID: <freebsd-net.FreeBSD.ORG> List-Archive: <http://docs.freebsd.org/mail/> (Web Archive) List-Help: <mailto:majordomo?subject=help> (List Instructions) List-Subscribe: <mailto:majordomo?subject=subscribe%20freebsd-net> List-Unsubscribe: <mailto:majordomo?subject=unsubscribe%20freebsd-net> X-Loop: FreeBSD.org On Mon, Jul 02, 2001 at 01:16:19PM +0300, Iasen Kostoff wrote: > > > On Mon, 2 Jul 2001, Ruslan Ermilov wrote: > > > On Mon, Jul 02, 2001 at 12:49:44PM +0300, Iasen Kostoff wrote: > > > > > > > > > On Mon, 2 Jul 2001, Ruslan Ermilov wrote: > > > > > > > On Sun, Jul 01, 2001 at 03:15:56PM -0600, Wes Peters wrote: > > > > > Ruslan Ermilov wrote: > > > > > > > > > > > > BTW, Wes, I'm still waiting for a working example of an indirect route > > > > > > with also indirect gateway. > > > > > > > > > > Any indirect route via the opposite end of a point-to-point connection. > > > > > Right? > > > > > > > > > You probably meant that the gateway is accessible via the opposite end. > > > > > > > > But the gateway value on a P2P link is a no-op. Whatever gateway you > > > > specify, the actual gateway is always the "opposite end". Here, the > > > > gateway only helps the routing code to select the right interface. > > > > I.e., on a 1.1.1.1 -> 2.2.2.2 configured tun0 interface, the following > > > > two commands are equivalent: > > > > > > > > route add -net 10 2.2.2.2 > > > > route add -net 10 -iface tun0 > > > > > > > > Funny though that you're giving this example, as it only works starting > > > > with revision 1.62 (from June 4, 2001) of sys/net/route.c. Before this, > > > > routing code incorrectly set up the interface based on destination, not > > > > the gateway: > > > > > > > > # ifconfig tun0 > > > > tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500 > > > > inet 1.1.1.1 --> 2.2.2.2 netmask 0xff000000 > > > > > > > > # netstat -rn > > > > Routing tables > > > > > > > > Internet: > > > > Destination Gateway Flags Refs Use Netif Expire > > > > default 192.168.4.65 UGSc 1 0 rl0 > > > > 2.2.2.2 1.1.1.1 UH 0 0 tun0 > > > > 3.3.3.3 tun0 UHS 1 0 tun0 > > > > 127.0.0.1 127.0.0.1 UH 1 6 lo0 > > > > 192.168.4 link#1 UC 3 0 rl0 => > > > > 192.168.4.65 0:d0:b7:16:9c:c6 UHLW 2 1576 rl0 899 > > > > 192.168.4.115 0:c0:df:3:2d:79 UHLW 2 2 lo0 > > > > > > > > # route add -net 10 3.3.3.3 > > > > add net 10: gateway 3.3.3.3 > > > > > > > > # netstat -rn | grep 3.3.3.3 > > > > 3.3.3.3 tun0 UHS 1 0 tun0 > > > > 10 3.3.3.3 UGSc 0 0 rl0 > > > > ^^^^ oops > > > > > > > > I still think we should disallow such routes on non-P2P interfaces, at > > > > least. What do you think? > > > > > > > If you speek about disallowing routes like : route add -net 10 3.3.3.3 > > > I don't think we should. I'm using such routes now (ethernet bridges for > > > leased lines) and don't want to loose this functionality. > > > > > Could you please describe your setup in more details? > > > > I would like to disallow such routes for broadcast-like interfaces like > > Ethernet, because on these interfaces, adding such a route results in: > > > > arplookup 3.3.3.3 failed: host is not on local network > > arpresolve: can't allocate llinfo for 3.3.3.3rt > > > > It is a MUST here that the gateway should be directly connected > > (via ARP). > > > If you have this route : > 3.3.3.3 link#1 UC 1 0 rl0 => > > it won't result in this error message. > Having this host entry with the RTF_CLONING flag set, as you have shown it, is impossible. It could only have been "cloned" from a network-type routing table entry, as shown in the commit log for revision 1.50 of route/route.c, and this case shouldn't be affected by that change. Or like this: 3.3.3/24 link#1 UCSc 1 0 rl0 3.3.3.3 link#1 UHLW 1 1 rl0 10 3.3.3.3 UGSc 0 11 rl0 But then again, this means that the gateway (3.3.3.3) is directly reachable (think one hop) on one of the attached networks (rl0), but the ARP reply haven't been (yet) received, due to the host being down, as indicated by ping(8): # ping 10.0.0.1 PING 10.0.0.1 (10.0.0.1): 56 data bytes ping: sendto: No route to host ping: sendto: No route to host ^C --- 10.0.0.1 ping statistics --- 6 packets transmitted, 0 packets received, 100% packet loss 3.3.3.3 link#1 UHRLW 1 0 rl0 (Note that `R' (RTF_REJECT) flag is set by arpresolve() after net.link.ether.inet.maxtries unsuccessful ARP request tries.) Cheers, -- Ruslan Ermilov Oracle Developer/DBA, ru@sunbay.com Sunbay Software AG, ru@FreeBSD.org FreeBSD committer, +380.652.512.251 Simferopol, Ukraine http://www.FreeBSD.org The Power To Serve http://www.oracle.com Enabling The Information Age To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message