From owner-cvs-src@FreeBSD.ORG Thu Mar 16 07:44:09 2006 Return-Path: X-Original-To: cvs-src@FreeBSD.org Delivered-To: cvs-src@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 661A516A41F; Thu, 16 Mar 2006 07:44:09 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from cell.sick.ru (cell.sick.ru [217.72.144.68]) by mx1.FreeBSD.org (Postfix) with ESMTP id AD9E243D49; Thu, 16 Mar 2006 07:44:08 +0000 (GMT) (envelope-from glebius@FreeBSD.org) Received: from cell.sick.ru (glebius@localhost [127.0.0.1]) by cell.sick.ru (8.13.3/8.13.3) with ESMTP id k2G7i54o043790 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 16 Mar 2006 10:44:06 +0300 (MSK) (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by cell.sick.ru (8.13.3/8.13.1/Submit) id k2G7i57s043789; Thu, 16 Mar 2006 10:44:05 +0300 (MSK) (envelope-from glebius@FreeBSD.org) X-Authentication-Warning: cell.sick.ru: glebius set sender to glebius@FreeBSD.org using -f Date: Thu, 16 Mar 2006 10:44:05 +0300 From: Gleb Smirnoff To: Andre Oppermann Message-ID: <20060316074405.GL1102@FreeBSD.org> References: <200603151939.k2FJd91g080489@repoman.freebsd.org> <20060315204402.GK1102@FreeBSD.org> <441883DD.B0B5A18C@freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline In-Reply-To: <441883DD.B0B5A18C@freebsd.org> User-Agent: Mutt/1.5.6i Cc: cvs-src@FreeBSD.org, src-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/net route.h rtsock.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Mar 2006 07:44:09 -0000 On Wed, Mar 15, 2006 at 10:15:09PM +0100, Andre Oppermann wrote: A> > A> These changes faciliate running of multiple cooperating routing A> > A> daemons at the same time without causing undesired interference. A> > A> Open[BGP|OSPF]D make use of these features to have IGP routes A> > A> override EGP ones. A> > A> > Please explain how is this done. Does radix allow presence of two A> > identical prefixes in tree, and we distinguish them by rt->rt_flags? A> A> No. If you've got the same prefix in BGP and OSPF with different next A> hops then the OSPF one should win. Normally the two daemons would get A> into a fight about this and indefinatly try to replace each others A> route again. This change makes it possible for two cooperating daemons A> to avoid this. With the change to flags OSPFD may take over an existing A> route by chaning the PROTO flag to itself. BGPD then knows it got an A> override. Before OSPFD had to delete the route and re-add it with its A> own parameters. However upon the delete message BGPD would try to add A> it again. When OSPFD removes a route that was identical to a BGP one A> BGPD will re-add its own version of it. So, we have a small window when the route is absent in kernel, right? -- Totus tuus, Glebius. GLEBIUS-RIPN GLEB-RIPE