diff options
| author | Mark Johnston <markj@FreeBSD.org> | 2025-02-06 14:16:21 +0000 |
|---|---|---|
| committer | Mark Johnston <markj@FreeBSD.org> | 2025-02-06 14:16:21 +0000 |
| commit | caccbaef8e263b1d769e7bcac1c4617bdc12d484 (patch) | |
| tree | bda6334a8beaaea3ca892f146243505434c22c52 /source | |
| parent | 7034563f8ef3acbe5bada582f0bb335fcba9dfb4 (diff) | |
socket: Move SO_SETFIB handling to protocol layers
In particular, we store a FIB number in both struct socket and in struct
inpcb. When updating the FIB number with setsockopt(SO_SETFIB), make
the update atomic. This is required to support the new bind_all_fibs
mode, since in that mode changing the FIB of a bound socket is not
permitted.
This requires a bit more code, but avoids a layering violation in
sosetopt(), where we hard-code the list of protocol families that
implement SO_SETFIB.
Reviewed by: glebius
MFC after: 2 weeks
Sponsored by: Klara, Inc.
Sponsored by: Stormshield
Differential Revision: https://reviews.freebsd.org/D48666
Diffstat (limited to 'source')
0 files changed, 0 insertions, 0 deletions
