Skip site navigation (1)Skip section navigation (2)
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>