Allow IP over IB to work with multiple FIBs.

Call M_SETFIB() to make sure the IPoIB packet is directed to the correct
interface-specific FIB.

This was sufficient to allow general-purpose routing using the default FIB,
and a separate FIB for routing between IPoIB on ib0 and IPoEthernet on mce0.

Reviewed by:	hselasky
Obtained from:	Anmol Kumar <anmolk at panasas dot com>
MFC after:	1 week
Sponsored by:	Panasas
Differential Revision:	https://reviews.freebsd.org/D25239
This commit is contained in:
Ravi Pokala 2020-10-13 20:41:51 +00:00
parent c3f8f86efd
commit 9f6f4168b4
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=366686

View File

@ -1617,6 +1617,8 @@ ipoib_demux(struct ifnet *ifp, struct mbuf *m, u_short proto)
m_freem(m);
return;
}
/* Direct packet to correct FIB based on interface config */
M_SETFIB(m, ifp->if_fib);
/*
* Dispatch frame to upper layer.
*/