Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 3 Mar 2017 00:47:57 +0000
From:      "jhujhiti_adjectivism.org (Erick Turnquist)" <phabric-noreply@FreeBSD.org>
To:        freebsd-net@freebsd.org
Subject:   [Differential] D9451: Constrain IPv6 interface routes to each FIB
Message-ID:  <3d82b26400f65e528b4806338d3cb080@localhost.localdomain>
In-Reply-To: <differential-rev-PHID-DREV-xl62ljmjgot45obmsgfw-req@FreeBSD.org>
References:  <differential-rev-PHID-DREV-xl62ljmjgot45obmsgfw-req@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help

jhujhiti_adjectivism.org added inline comments.

INLINE COMMENTS

> asomers wrote in nd6.c:1295
> Remember, the interface fib only matters for forwarding packets.  It's totally valid for an interface to have multiple addresses assigned, each of which is on a different fib.  So, to correctly determine whether `addr` is a neighbor of `ifp`, we must either
> 
> 1. Loop over all fibs, and check whether `addr` is a neighbor of `ifp` on any of them, or
> 2. Loop over all addresses assigned to `ifp`, and check whether `addr` is a neighbor of `ifp` on that address's fib.  I'm guessing that this will be the slower option, because an interface can have arbitrarily many addresses

> It's totally valid for an interface to have multiple addresses assigned, each of which is on a different fib.

Is this true? I'm not aware of a way this could happen. Interface routes are added to the FIB associated with the interface, and of course there is only one FIB per interface. For instance in6_newaddrmsg() provides no mechanism by which to assign the route for the interface's address to anything other than the interface FIB.

REPOSITORY
  rS FreeBSD src repository

REVISION DETAIL
  https://reviews.freebsd.org/D9451

EMAIL PREFERENCES
  https://reviews.freebsd.org/settings/panel/emailpreferences/

To: jhujhiti_adjectivism.org, #network, bz, asomers
Cc: jch, bz, imp, ae, freebsd-net-list


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