On Tue, Feb 28, 2017 at 10:59:39AM +0100, Martin Pieuchot wrote:
> On 22/02/17(Wed) 13:12, Martin Pieuchot wrote:
> > I'd like to keep rtalloc(9) for the hot path since it increments the use
> > counter.  This will become more important when routes entries will be
> > cached in PF states.  This counter will allow us to really see how many
> > times a lookup have been done.
> > 
> > So here's a diff that change a rtalloc(9) into rtable_match() when
> > checking for an existing entry.
> > 
> > ok?
> 
> Anyone?
> 

OK claudio@

> > 
> > Index: sys/net/route.c
> > ===================================================================
> > RCS file: /cvs/src/sys/net/route.c,v
> > retrieving revision 1.351
> > diff -u -p -r1.351 route.c
> > --- sys/net/route.c 15 Feb 2017 18:53:29 -0000      1.351
> > +++ sys/net/route.c 22 Feb 2017 12:03:12 -0000
> > @@ -1084,7 +1084,8 @@ rtrequest(int req, struct rt_addrinfo *i
> >             error = rtable_insert(tableid, ndst,
> >                 info->rti_info[RTAX_NETMASK], info->rti_info[RTAX_GATEWAY],
> >                 rt->rt_priority, rt);
> > -           if (error != 0 && (crt = rtalloc(ndst, 0, tableid)) != NULL) {
> > +           if (error != 0 &&
> > +               (crt = rtable_match(tableid, ndst, NULL)) != NULL) {
> >                     /* overwrite cloned route */
> >                     if (ISSET(crt->rt_flags, RTF_CLONED)) {
> >                             struct ifnet *cifp;
> > Index: regress/sbin/route/rttest3.ok
> > ===================================================================
> > RCS file: /cvs/src/regress/sbin/route/rttest3.ok,v
> > retrieving revision 1.9
> > diff -u -p -r1.9 rttest3.ok
> > --- regress/sbin/route/rttest3.ok   1 Sep 2016 11:36:15 -0000       1.9
> > +++ regress/sbin/route/rttest3.ok   22 Feb 2017 12:07:46 -0000
> > @@ -2,7 +2,7 @@ Routing tables
> >  
> >  Internet:
> >  Destination        Gateway            Flags   Refs      Use   Mtu  Prio 
> > Iface
> > -10.8.1/24          192.0.2.3          UGS        0        1 32768     8 
> > lo10003
> > +10.8.1/24          192.0.2.3          UGS        0        0 32768     8 
> > lo10003
> >  192.0.2.1          192.0.2.1          UHl        0        0 32768     1 
> > lo10001
> >  192.0.2.2          192.0.2.2          UHl        0        0 32768     1 
> > lo10002
> >  192.0.2.3          192.0.2.3          UHhl       1        4 32768     1 
> > lo10003
> > Index: regress/sbin/route/rttest5.ok
> > ===================================================================
> > RCS file: /cvs/src/regress/sbin/route/rttest5.ok,v
> > retrieving revision 1.9
> > diff -u -p -r1.9 rttest5.ok
> > --- regress/sbin/route/rttest5.ok   1 Sep 2016 11:36:15 -0000       1.9
> > +++ regress/sbin/route/rttest5.ok   22 Feb 2017 12:07:46 -0000
> > @@ -2,7 +2,7 @@ Routing tables
> >  
> >  Internet:
> >  Destination        Gateway            Flags   Refs      Use   Mtu  Prio 
> > Iface
> > -10.8.1/24          192.0.2.2          UGS        0        1 32768    16 
> > lo10002
> > +10.8.1/24          192.0.2.2          UGS        0        0 32768    16 
> > lo10002
> >  10.8.1/24          192.0.2.2          UGS        0        0 32768    17 
> > lo10002
> >  10.8.1/24          192.0.2.2          UGS        0        0 32768    18 
> > lo10002
> >  192.0.2.1          192.0.2.1          UHl        0        0 32768     1 
> > lo10001
> > Index: regress/sbin/route/rttest6.ok
> > ===================================================================
> > RCS file: /cvs/src/regress/sbin/route/rttest6.ok,v
> > retrieving revision 1.9
> > diff -u -p -r1.9 rttest6.ok
> > --- regress/sbin/route/rttest6.ok   1 Sep 2016 11:36:15 -0000       1.9
> > +++ regress/sbin/route/rttest6.ok   22 Feb 2017 12:07:46 -0000
> > @@ -2,7 +2,7 @@ Routing tables
> >  
> >  Internet:
> >  Destination        Gateway            Flags   Refs      Use   Mtu  Prio 
> > Iface
> > -10.8.1/24          192.0.2.1          UGS        0        1 32768    16 
> > lo10001
> > +10.8.1/24          192.0.2.1          UGS        0        0 32768    16 
> > lo10001
> >  10.8.1/24          192.0.2.2          UGS        0        0 32768    17 
> > lo10002
> >  10.8.1/24          192.0.2.3          UGS        0        0 32768    18 
> > lo10003
> >  192.0.2.1          192.0.2.1          UHhl       1        2 32768     1 
> > lo10001
> > Index: regress/sbin/route/rttest8.ok
> > ===================================================================
> > RCS file: /cvs/src/regress/sbin/route/rttest8.ok,v
> > retrieving revision 1.10
> > diff -u -p -r1.10 rttest8.ok
> > --- regress/sbin/route/rttest8.ok   1 Sep 2016 11:36:15 -0000       1.10
> > +++ regress/sbin/route/rttest8.ok   22 Feb 2017 12:07:46 -0000
> > @@ -2,7 +2,7 @@ Routing tables
> >  
> >  Internet:
> >  Destination        Gateway            Flags   Refs      Use   Mtu  Prio 
> > Iface
> > -10.8.1/24          192.0.2.1          UGS        0        1 32768    16 
> > lo10001
> > +10.8.1/24          192.0.2.1          UGS        0        0 32768    16 
> > lo10001
> >  10.8.1/24          192.0.2.3          UGS        0        0 32768    18 
> > lo10003
> >  10.8.1/24          192.0.2.2          GS         0        0 32768    17 
> > lo10002
> >  192.0.2.1          192.0.2.1          UHhl       1        2 32768     1 
> > lo10001
> > 
> 

-- 
:wq Claudio

Reply via email to