Date: Thu, 20 Oct 2011 16:40:33 +0000 From: "Bjoern A. Zeeb" <bz@FreeBSD.org> To: Gleb Smirnoff <glebius@freebsd.org> Cc: svn-src-stable@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, svn-src-stable-9@freebsd.org Subject: Re: svn commit: r226572 - stable/9/sys/netinet Message-ID: <9A674915-EF68-4CEA-93CB-CDE349082019@FreeBSD.org> In-Reply-To: <201110201558.p9KFw550081440@svn.freebsd.org> References: <201110201558.p9KFw550081440@svn.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 20. Oct 2011, at 15:58 , Gleb Smirnoff wrote: > Author: glebius > Date: Thu Oct 20 15:58:05 2011 > New Revision: 226572 > URL: http://svn.freebsd.org/changeset/base/226572 > > Log: > MFhead 226401,226402: > > Remove last remnants of classful addressing: > > - Remove ia_net, ia_netmask, ia_netbroadcast from struct in_ifaddr. > - Remove net.inet.ip.subnetsarelocal, I bet no one need it in 2011. > - fix bug when we were not forwarding to a host which matches classful > net address. For example router having 192.168.x.y/16 network attached, > would not forward traffic to 192.168.*.0, which are legal IPs in > CIDR world. > - For compatibility, leave autoguessing of mask based on class. > > Reviewed by: andre, bz, rwatson > > Add support for IPv4 /31 prefixes, as described in RFC3021. > > To run a /31 network, participating hosts MUST drop support > for directed broadcasts, and treat the first and last addresses > on subnet as unicast. The broadcast address for the prefix > should be the link local broadcast address, INADDR_BROADCAST. ... > Modified: stable/9/sys/netinet/in_var.h > ============================================================================== > --- stable/9/sys/netinet/in_var.h Thu Oct 20 15:55:01 2011 (r226571) > +++ stable/9/sys/netinet/in_var.h Thu Oct 20 15:58:05 2011 (r226572) > @@ -60,12 +60,9 @@ struct in_ifaddr { > struct ifaddr ia_ifa; /* protocol-independent info */ > #define ia_ifp ia_ifa.ifa_ifp > #define ia_flags ia_ifa.ifa_flags > - /* ia_{,sub}net{,mask} in host order */ > - u_long ia_net; /* network number of interface */ > - u_long ia_netmask; /* mask of net part */ > - u_long ia_subnet; /* subnet number, including net */ > - u_long ia_subnetmask; /* mask of subnet part */ > - struct in_addr ia_netbroadcast; /* to recognize net broadcasts */ > + /* ia_subnet{,mask} in host order */ > + u_long ia_subnet; /* subnet address */ > + u_long ia_subnetmask; /* mask of subnet */ > LIST_ENTRY(in_ifaddr) ia_hash; /* entry in bucket of inet addresses */ > TAILQ_ENTRY(in_ifaddr) ia_link; /* list of internet addresses */ > struct sockaddr_in ia_addr; /* reserve space for interface name */ This should at least break parts of netstat and ifmcstat as I had told you in private email before. -- Bjoern A. Zeeb You have to have visions! Stop bit received. Insert coin for new address family.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9A674915-EF68-4CEA-93CB-CDE349082019>
