if_bridge: Mask MEXTPG if some members don't support it

Similar to how the network stack needs to use mb_unmapped_to_ext() to
convert mbufs before passing them to an unsupported driver, if_bridge
needs to avoid passing M_EXTPG mbufs to interfaces that don't support
them.  Thus, clear IFCAP_MEXTPG on the bridge if any member interfaces
don't handle unmapped mbufs.

Approved by:	re (kib)
PR:		278245
Reviewed by:	jhb, gallatin
MFC after:	2 weeks
Differential Revision:	https://reviews.freebsd.org/D47294

(cherry picked from commit 2bbfbf80d3bb828ac782c2d990a1fba0eb51e45a)
(cherry picked from commit 01a3c17d18)
This commit is contained in:
Mark Johnston 2024-10-28 13:52:07 +00:00
parent 57921ae825
commit d86dcfc648

View file

@ -193,7 +193,7 @@
* List of capabilities to possibly mask on the member interface.
*/
#define BRIDGE_IFCAPS_MASK (IFCAP_TOE|IFCAP_TSO|IFCAP_TXCSUM|\
IFCAP_TXCSUM_IPV6)
IFCAP_TXCSUM_IPV6|IFCAP_MEXTPG)
/*
* List of capabilities to strip