Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 8 Dec 2001 11:18:09 -0800 (PST)
From:      Matthew Dillon <dillon@apollo.backplane.com>
To:        Ruslan Ermilov <ru@FreeBSD.ORG>
Cc:        "Andrew R. Reiter" <arr@FreeBSD.ORG>, cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG
Subject:   Re: cvs commit: src/sys/netinet icmp_var.h ip_icmp.c ip_input.c         ip_mroute.c ip_output.c ip_var.h src/usr.bin/netstat inet.c
Message-ID:  <200112081918.fB8JI9A06195@apollo.backplane.com>
References:  <200112070923.fB79NFg12719@freefall.freebsd.org> <Pine.NEB.3.96L.1011207123930.44662B-100000@fledge.watson.org> <20011208161111.C32556@sunbay.com>

next in thread | previous in thread | raw e-mail | index | archive | help

:> :  - Make ip_rtaddr() global, and use it to look up the correct source
:> :    address in icmp_reflect().
:> :  - Two new "struct icmpstat" members: icps_badaddr and icps_noroute.
:> :  - Allow for ip_output() to be called with a NULL route pointer.
:> 
:> I thought it was brought up at the -current commit time that being allowed
:> to pass a NULL route pointer to ip_output() was a solution, but not the
:> most ideal... Am I incorrect?
:> 
:Yes, it was brought up, and I've replied.  My last posting on the subject
:left unanswered (well, sorta):
:
:http://www.FreeBSD.org/cgi/mid.cgi?id=20011204103455.B26925@sunbay.com
:
:
:Cheers,
:-- 
:Ruslan Ermilov		Oracle Developer/DBA,

    Maybe a better solution would be to integrate route caching with
    ip_output().  Instead of passing a 'struct route *ro' to ip_output()
    you instead pass a 'struct route **pro' to ip_output.

    If pro is NULL ip_output() will look up the route, use it, and then
    dereference it.

    If *pro is NULL ip_output() will look up the route, use it, and
    also store it (with a ref) in *pro.

    If *pro is not NULL ip_output() will determine if the cached route
    is valid and use it if so, or replace (deref / lookup / store+ref)
    it if it is not valid.

    I dunno, I'm just throwing out ideas.  It wouldn't get rid of all
    the route lookups since the various stacks usually need to figure out
    the outgoing interface mtu long before they get to ip_output().

						-Matt


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200112081918.fB8JI9A06195>