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 >=20 > Log: > MFhead 226401,226402: >=20 > Remove last remnants of classful addressing: >=20 > - 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. >=20 > Reviewed by: andre, bz, rwatson >=20 > Add support for IPv4 /31 prefixes, as described in RFC3021. >=20 > 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 > = =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 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. --=20 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>