svn commit: r304435 - head/sys/netinet

Kubilay Kocak koobs at FreeBSD.org
Sat Aug 20 10:08:12 UTC 2016


On 19/08/2016 8:59 AM, Ryan Stone wrote:
> Author: rstone
> Date: Thu Aug 18 22:59:00 2016
> New Revision: 304435
> URL: https://svnweb.freebsd.org/changeset/base/304435
> 
> Log:
>   Don't iterate over the ifnet addr list in ip_output()
>   
>   For almost every packet that is transmitted through ip_output(),
>   a call to in_broadcast() was made to decide if the destination
>   IP was a broadcast address.  in_broadcast() iterates over the
>   ifnet's address to find a source IP matching the subnet of the
>   destination IP, and then checks if the IP is a broadcast in that
>   subnet.
>   
>   This is completely redundant as we have already performed the
>   route lookup, so the source IP is already known.  Just use that
>   address to directly check whether the destination IP is a
>   broadcast address or not.

Hi Ryan,

Could you elaborate on any of the potential performance implications of
this?

>   MFC after:	2 months
>   Sponsored By:	EMC / Isilon Storage Division
>   Differential Revision: https://reviews.freebsd.org/D7266
> 
> Modified:
>   head/sys/netinet/in.c
>   head/sys/netinet/in.h
>   head/sys/netinet/ip_output.c
> 
> Modified: head/sys/netinet/in.c




More information about the svn-src-all mailing list