From mi@aldan.saturn.net  Wed Mar 20 15:08:49 1996
Received: from janus.saturn.net (root@janus.saturn.net [206.42.0.10])
          by freefall.freebsd.org (8.7.3/8.7.3) with ESMTP id PAA13208
          for <FreeBSD-gnats-submit@freebsd.org>; Wed, 20 Mar 1996 15:08:46 -0800 (PST)
Received: from aldan.saturn.net (aldan.saturn.net [206.42.1.73]) by janus.saturn.net (8.7.4/8.6.9) with ESMTP id SAA04522 for <FreeBSD-gnats-submit@freebsd.org>; Wed, 20 Mar 1996 18:11:26 -0500
Received: (from root@localhost) by aldan.saturn.net (8.6.12/8.6.12) id SAA13053; Wed, 20 Mar 1996 18:08:41 -0500
Message-Id: <199603202308.SAA13053@aldan.saturn.net>
Date: Wed, 20 Mar 1996 18:08:41 -0500
From: Mikhail Teterin <mi@aldan.saturn.net>
Reply-To: mi@aldan.algebra.com
To: FreeBSD-gnats-submit@freebsd.org
Subject: route's diagnostic is weird
X-Send-Pr-Version: 3.2

>Number:         1093
>Category:       bin
>Synopsis:       route's diagnostic is weird
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Mar 20 15:10:04 PST 1996
>Closed-Date:    Thu Jun 7 09:07:15 PDT 2001
>Last-Modified:  Thu Jun 07 09:07:59 PDT 2001
>Originator:     Mikhail Teterin
>Release:        FreeBSD 2.1-STABLE i386
>Organization:
>Environment:

Routing tables

Internet:
Destination      Gateway            Flags     Refs     Use     Netif Expire
default          mimas.saturn.net   UGc         9     1107      ppp0
localhost        localhost          UH          3    42111       lo0
rhea.saturn.net  aldan              UH          8        0      ppp0
206.42.1         link#2             UC          4        0 
aldan            8:0:2b:29:21:ac    UHLW        0        0       lo0
BASE-ADDRESS.MCA localhost          US          0        0       lo0

>Description:

	Route's diagnostic is *funny*

>How-To-Repeat:

	mi@aldan:~ (1060) df
	Filesystem  1K-blocks     Used    Avail Capacity  Mounted on
	/dev/sd0a      521294   452026    27564    94%    /
	/dev/sd0s1     511696   500384    11312    98%    /diskc
	/dev/sd1s3     402200   323616    78584    80%    /diskd
	/dev/sd1s1e    627278   440352   136742    76%    /usr
	procfs              4        4        0   100%    /proc
	/dev/cd0a      631252   631252        0   100%    /cdrom
	mi@aldan:~ (1061) route change default mimas.saturn.net
	writing to routing socket: Disc quota exceeded
	change net default: gateway mimas.saturn.net: Disc quota exceeded

>Fix:
	
	No idea. I think it was trying to say something else, which
	corresponds to the same errno ;) Note, that it did change
	the default route anyway...


>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-bugs->wollman 
Responsible-Changed-By: wollman 
Responsible-Changed-When: Thu Mar 21 08:41:55 PST 1996 
Responsible-Changed-Why:  
Network bug. 

From: "Garrett A. Wollman" <wollman@lcs.mit.edu>
To: mi@aldan.saturn.net
Cc: FreeBSD-gnats-submit@freebsd.org
Subject: bin/1093: route's diagnostic is weird
Date: Thu, 21 Mar 1996 11:41:39 -0500

 <<On Wed, 20 Mar 1996 18:08:41 -0500, Mikhail Teterin <mi@aldan.saturn.net> said:
 
 > 	mi@aldan:~ (1061) route change default mimas.saturn.net
 > 	writing to routing socket: Disc quota exceeded
 > 	change net default: gateway mimas.saturn.net: Disc quota exceeded
 
 I will agree that the choice of error return is not the best one.
 Probably rt_setgate() should be modified to return an errno value
 itself rather than having its caller invent a bogus one.
 
 The particular case you seem to be running up against is the
 following:
 
         /*
          * Cloning loop avoidance:
          * In the presence of protocol-cloning and bad configuration,
          * it is possible to get stuck in bottomless mutual recursion
          * (rtrequest rt_setgate rtalloc1).  We avoid this by not allowing
          * protocol-cloning to operate for gateways (which is probably the
          * correct choice anyway), and avoid the resulting reference loops
          * by disallowing any route to run through itself as a gateway.
          * This is obviuosly mandatory when we get rt->rt_output().
          */
         if (rt->rt_flags & RTF_GATEWAY) {
                 rt->rt_gwroute = rtalloc1(gate, 1, RTF_PRCLONING);
                 if (rt->rt_gwroute == rt) {
                         RTFREE(rt->rt_gwroute);
                         rt->rt_gwroute = 0;
                         return 1; /* failure */
                 }
         }
 
 
 Hopefully, this should make the nature of your problem clearer.
 
 -GAWollman
 
 --
 Garrett A. Wollman   | Shashish is simple, it's discreet, it's brief. ... 
 wollman@lcs.mit.edu  | Shashish is the bonding of hearts in spite of distance.
 Opinions not those of| It is a bond more powerful than absence.  We like people
 MIT, LCS, ANA, or NSA| who like Shashish.  - Claude McKenzie + Florent Vollant
State-Changed-From-To: open->suspended 
State-Changed-By: phk 
State-Changed-When: Mon Apr 13 01:54:15 PDT 1998 
State-Changed-Why:  
->suspended 


Responsible-Changed-From-To: wollman->freebsd-bugs 
Responsible-Changed-By: phk 
Responsible-Changed-When: Mon Apr 13 01:54:15 PDT 1998 
Responsible-Changed-Why:  
.. 
State-Changed-From-To: suspended->closed 
State-Changed-By: ru 
State-Changed-When: Thu Jun 7 09:07:15 PDT 2001 
State-Changed-Why:  
Superseded by PR 26833. 

http://www.FreeBSD.org/cgi/query-pr.cgi?pr=1093 
>Unformatted:
