Date: Fri, 11 Nov 2011 09:23:19 -0500 From: Ben Kaduk <minimarmot@gmail.com> To: Gleb Smirnoff <glebius@freebsd.org> Cc: svn-src-stable@freebsd.org, svn-src-all@freebsd.org, "Bjoern A. Zeeb" <bz@freebsd.org>, src-committers@freebsd.org, svn-src-stable-9@freebsd.org Subject: Re: svn commit: r226572 - stable/9/sys/netinet Message-ID: <CAK2BMK7E=0-Gb0hP4m4zXyEP=mN0fW8g_cpFFZgE7guhM%2BctCg@mail.gmail.com> In-Reply-To: <9A674915-EF68-4CEA-93CB-CDE349082019@FreeBSD.org> References: <201110201558.p9KFw550081440@svn.freebsd.org> <9A674915-EF68-4CEA-93CB-CDE349082019@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Oct 20, 2011 at 12:40 PM, Bjoern A. Zeeb <bz@freebsd.org> wrote: > 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. Just so we're clear, it changes the API (at the RC stage!), causing at least the net/openafs port to fail to compile. I presume, given the commit message, that I am just not supposed to use ia_net and ia_netmask any more, and that ia_submet and ia_subnetmask are presumed to be sufficient? -Ben Kaduk
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAK2BMK7E=0-Gb0hP4m4zXyEP=mN0fW8g_cpFFZgE7guhM%2BctCg>
