Changeset View
Changeset View
Standalone View
Standalone View
sys/net/if_bridgevar.h
Show First 20 Lines • Show All 303 Lines • ▼ Show 20 Lines | |||||
} while (0) | } while (0) | ||||
#ifdef _KERNEL | #ifdef _KERNEL | ||||
#define BRIDGE_INPUT(_ifp, _m) do { \ | #define BRIDGE_INPUT(_ifp, _m) do { \ | ||||
KASSERT((_ifp)->if_bridge_input != NULL, \ | KASSERT((_ifp)->if_bridge_input != NULL, \ | ||||
("%s: if_bridge not loaded!", __func__)); \ | ("%s: if_bridge not loaded!", __func__)); \ | ||||
_m = (*(_ifp)->if_bridge_input)(_ifp, _m); \ | _m = (*(_ifp)->if_bridge_input)(_ifp, _m); \ | ||||
if (_m != NULL) \ | if (_m != NULL) { \ | ||||
_ifp = _m->m_pkthdr.rcvif; \ | _ifp = _m->m_pkthdr.rcvif; \ | ||||
m->m_flags &= ~M_BRIDGE_INJECT; \ | |||||
} \ | |||||
} while (0) | } while (0) | ||||
#define BRIDGE_OUTPUT(_ifp, _m, _err) do { \ | #define BRIDGE_OUTPUT(_ifp, _m, _err) do { \ | ||||
KASSERT((_ifp)->if_bridge_output != NULL, \ | KASSERT((_ifp)->if_bridge_output != NULL, \ | ||||
("%s: if_bridge not loaded!", __func__)); \ | ("%s: if_bridge not loaded!", __func__)); \ | ||||
_err = (*(_ifp)->if_bridge_output)(_ifp, _m, NULL, NULL); \ | _err = (*(_ifp)->if_bridge_output)(_ifp, _m, NULL, NULL); \ | ||||
} while (0) | } while (0) | ||||
extern void (*bridge_dn_p)(struct mbuf *, struct ifnet *); | extern void (*bridge_dn_p)(struct mbuf *, struct ifnet *); | ||||
#endif /* _KERNEL */ | #endif /* _KERNEL */ |