Skip site navigation (1)Skip section navigation (2)
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:
>> =A0MFhead 226401,226402:
>>
>> =A0 =A0Remove last remnants of classful addressing:
>>
>> =A0 =A0- Remove ia_net, ia_netmask, ia_netbroadcast from struct in_ifadd=
r.
>> =A0 =A0- Remove net.inet.ip.subnetsarelocal, I bet no one need it in 201=
1.
>> =A0 =A0- fix bug when we were not forwarding to a host which matches cla=
ssful
>> =A0 =A0 =A0net address. For example router having 192.168.x.y/16 network=
 attached,
>> =A0 =A0 =A0would not forward traffic to 192.168.*.0, which are legal IPs=
 in
>> =A0 =A0 =A0CIDR world.
>> =A0 =A0- For compatibility, leave autoguessing of mask based on class.
>>
>> =A0 =A0Reviewed by: =A0andre, bz, rwatson
>>
>> =A0 =A0Add support for IPv4 /31 prefixes, as described in RFC3021.
>>
>> =A0 =A0To run a /31 network, participating hosts MUST drop support
>> =A0 =A0for directed broadcasts, and treat the first and last addresses
>> =A0 =A0on subnet as unicast. The broadcast address for the prefix
>> =A0 =A0should be the link local broadcast address, INADDR_BROADCAST.
> ...
>> Modified: stable/9/sys/netinet/in_var.h
>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
>> --- stable/9/sys/netinet/in_var.h =A0 =A0 Thu Oct 20 15:55:01 2011 =A0 =
=A0 =A0 =A0(r226571)
>> +++ stable/9/sys/netinet/in_var.h =A0 =A0 Thu Oct 20 15:58:05 2011 =A0 =
=A0 =A0 =A0(r226572)
>> @@ -60,12 +60,9 @@ struct in_ifaddr {
>> =A0 =A0 =A0 struct =A0ifaddr ia_ifa; =A0 =A0 =A0 =A0 =A0/* protocol-inde=
pendent info */
>> #define =A0 =A0 =A0 ia_ifp =A0 =A0 =A0 =A0 =A0ia_ifa.ifa_ifp
>> #define ia_flags =A0 =A0 =A0ia_ifa.ifa_flags
>> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 /* ia_{,sub}net{,mask} in host order */
>> - =A0 =A0 u_long =A0ia_net; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 /* network n=
umber of interface */
>> - =A0 =A0 u_long =A0ia_netmask; =A0 =A0 =A0 =A0 =A0 =A0 /* mask of net p=
art */
>> - =A0 =A0 u_long =A0ia_subnet; =A0 =A0 =A0 =A0 =A0 =A0 =A0/* subnet numb=
er, including net */
>> - =A0 =A0 u_long =A0ia_subnetmask; =A0 =A0 =A0 =A0 =A0/* mask of subnet =
part */
>> - =A0 =A0 struct =A0in_addr ia_netbroadcast; /* to recognize net broadca=
sts */
>> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 /* ia_subnet{,mask} in host order */
>> + =A0 =A0 u_long =A0ia_subnet; =A0 =A0 =A0 =A0 =A0 =A0 =A0/* subnet addr=
ess */
>> + =A0 =A0 u_long =A0ia_subnetmask; =A0 =A0 =A0 =A0 =A0/* mask of subnet =
*/
>> =A0 =A0 =A0 LIST_ENTRY(in_ifaddr) ia_hash; =A0/* entry in bucket of inet=
 addresses */
>> =A0 =A0 =A0 TAILQ_ENTRY(in_ifaddr) ia_link; /* list of internet addresse=
s */
>> =A0 =A0 =A0 struct =A0sockaddr_in ia_addr; =A0 =A0/* reserve space for i=
nterface name */
>
> This should at least break parts of netstat and ifmcstat as I had told yo=
u 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>