[Differential] D9451: Constrain IPv6 interface routes to each FIB

asomers (Alan Somers) phabric-noreply at FreeBSD.org
Tue Mar 7 18:21:57 UTC 2017


asomers added inline comments.

INLINE COMMENTS

> jhujhiti_adjectivism.org wrote in icmp6.c:2147
> @asomers, can you confirm that M_GETFIB(m) is always correctly set to the FIB of the receiving interface?

No.  According to the comment at the bottom of icmp6_error, it isn't, because icmp6_reflect can sometimes be called from the output path.  In that case, there wouldn't be a receiving interface.  However, `M_GETFIB(m)` will definitely return _a_ fib.  It will either have the fib of the receiving interface if this is on the receive path, or the fib of the socket if this is on the output path.  Socket fibs default to the process fib, which cannot be `RT_ALL_FIBS`, but they can also be set by `setsockopt(..., SO_SETFIB, ...)`, which also doesn't allow `RT_ALL_FIBS`.  So I think your code is ok here.

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


More information about the freebsd-net mailing list