Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 27 Dec 2024 08:48:48 +0000
From:      Paul Vixie <paul@redbarn.org>
To:        Santiago Martinez <sm@codenetworks.net>, Jamie Landeg-Jones <jamie@catflap.org>
Cc:        freebsd-net@freebsd.org
Subject:   Re: per-FIB socket binding
Message-ID:  <38589000.XM6RcZxFsP@dhcp-151.access.rits.tisf.net>
In-Reply-To: <28EF197D-0D10-449A-A3C5-8B931F31CA6C@codenetworks.net>
References:  <7772475.EvYhyI6sBW@dhcp-151.access.rits.tisf.net> <28EF197D-0D10-449A-A3C5-8B931F31CA6C@codenetworks.net>

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

[-- Attachment #1 --]
This is a multi-part message in MIME format.


[-- Attachment #2 --]
diff --git a/sys/netinet/tcp_input.c b/sys/netinet/tcp_input.c
index 83f85a50e..0e030f24f 100644
--- a/sys/netinet/tcp_input.c
+++ b/sys/netinet/tcp_input.c
@@ -1057,7 +1057,7 @@ tcp_input_with_port(struct mbuf **mp, int *offp, int proto, uint16_t port)
 		}
 		inc.inc_fport = th->th_sport;
 		inc.inc_lport = th->th_dport;
-		inc.inc_fibnum = so->so_fibnum;
+		inc.inc_fibnum = so->so_fibnum || m->m_pkthdr.fibnum;
 
 		/*
 		 * Check for an existing connection attempt in syncache if
diff --git a/sys/netinet/tcp_syncache.c b/sys/netinet/tcp_syncache.c
index 15244a61d..a50648fa5 100644
--- a/sys/netinet/tcp_syncache.c
+++ b/sys/netinet/tcp_syncache.c
@@ -805,6 +805,7 @@ syncache_socket(struct syncache *sc, struct socket *lso, struct mbuf *m)
 	 */
 	if ((so = solisten_clone(lso)) == NULL)
 		goto allocfail;
+	so->so_fibnum = sc->sc_inc.inc_fibnum;
 #ifdef MAC
 	mac_socketpeer_set_from_mbuf(m, so);
 #endif
help

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