On 23/11/16(Wed) 06:00, Claudio Jeker wrote:
> On Tue, Nov 22, 2016 at 04:55:17PM +0100, Martin Pieuchot wrote:
> > After the last IPSEC-related refactoring this goto no longer make sense.
> > 
> > ok?
> 
> Are you shure? I'm not convinced that for an INADDR_BROADCAST destination
> the code would do the same. I think it is fine but I can't prove it.

I'm shure 8)

This 'fast path check' has been introduced by angelos@ in r1.72.  At the
time the following block only checked for IN_MULTICAST(). 

Sending to INADDR_BROADCAST was added by provos@ in r1.103 based on a
change in NetBSD.  But he didn't "fix" the fast path check, which NetBSD
didn't have ;)

Now this fast path check made sense when we had two routing blocks.  But
since you merged the two last year, we can also get rid of it.

> > Index: netinet/ip_output.c
> > ===================================================================
> > RCS file: /cvs/src/sys/netinet/ip_output.c,v
> > retrieving revision 1.330
> > diff -u -p -r1.330 ip_output.c
> > --- netinet/ip_output.c     18 Nov 2016 02:53:47 -0000      1.330
> > +++ netinet/ip_output.c     22 Nov 2016 15:51:30 -0000
> > @@ -249,11 +249,6 @@ reroute:
> >                      * computation now.
> >                      */
> >                     in_proto_cksum_out(m, NULL);
> > -
> > -                   /* If it's not a multicast packet, try to fast-path */
> > -                   if (!IN_MULTICAST(ip->ip_dst.s_addr)) {
> > -                           goto sendit;
> > -                   }
> >             }
> >     }
> >  #endif /* IPSEC */
> > 
> 
> -- 
> :wq Claudio
> 

Reply via email to