diff options
Diffstat (limited to 'c/src/exec/libnetworking/net/if_ethersubr.c')
-rw-r--r-- | c/src/exec/libnetworking/net/if_ethersubr.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/c/src/exec/libnetworking/net/if_ethersubr.c b/c/src/exec/libnetworking/net/if_ethersubr.c index 4d1675ca3c..2a6446ebb6 100644 --- a/c/src/exec/libnetworking/net/if_ethersubr.c +++ b/c/src/exec/libnetworking/net/if_ethersubr.c @@ -483,6 +483,15 @@ ether_input(ifp, eh, m) if (m->m_flags & (M_BCAST|M_MCAST)) ifp->if_imcasts++; + /* + * RTEMS addition -- allow application to `tap into' + * the incoming packet stream. + */ + if (ifp->if_tap && (*ifp->if_tap)(ifp, eh, m)) { + m_freem(m); + return; + } + ether_type = ntohs(eh->ether_type); switch (ether_type) { |