Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 24 Aug 2009 12:17:58 +0200
From:      Marko Zec <zec@icir.org>
To:        src-committers@freebsd.org
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org
Subject:   Re: svn commit: r196504 - head/sys/net
Message-ID:  <200908241217.58632.zec@icir.org>
In-Reply-To: <200908241014.n7OAE96O089368@svn.freebsd.org>
References:  <200908241014.n7OAE96O089368@svn.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Monday 24 August 2009 12:14:09 Marko Zec wrote:
> Author: zec
> Date: Mon Aug 24 10:14:09 2009
> New Revision: 196504
> URL: http://svn.freebsd.org/changeset/base/196504
>
> Log:
>   When moving ifnets from one vnet to another, and the ifnet
>   has ifaddresses of AF_LINK type which thus have an embedded
>   if_index "backpointer", we must update that if_index backpointer
>   to reflect the new if_index that our ifnet just got assigned.
>
>   This change affects only options VIMAGE builds.
>
>   Submitted by:	bz
>   Reviewed by:	bz
>   Approved by:	re (rwatson), julian (mentor)

Missing:

MFC after:	3 days

> Modified:
>   head/sys/net/if.c
>
> Modified: head/sys/net/if.c
> ===========================================================================
>=== --- head/sys/net/if.c	Mon Aug 24 10:09:30 2009	(r196503)
> +++ head/sys/net/if.c	Mon Aug 24 10:14:09 2009	(r196504)
> @@ -589,6 +589,21 @@ if_attach_internal(struct ifnet *ifp, in
>  		/* Reliably crash if used uninitialized. */
>  		ifp->if_broadcastaddr = NULL;
>  	}
> +#ifdef VIMAGE
> +	else {
> +		/*
> +		 * Update the interface index in the link layer address
> +		 * of the interface.
> +		 */
> +		for (ifa = ifp->if_addr; ifa != NULL;
> +		    ifa = TAILQ_NEXT(ifa, ifa_link)) {
> +			if (ifa->ifa_addr->sa_family == AF_LINK) {
> +				sdl = (struct sockaddr_dl *)ifa->ifa_addr;
> +				sdl->sdl_index = ifp->if_index;
> +			}
> +		}
> +	}
> +#endif
>
>  	IFNET_WLOCK();
>  	TAILQ_INSERT_TAIL(&V_ifnet, ifp, if_link);





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200908241217.58632.zec>