summaryrefslogtreecommitdiffstats
path: root/c/src/exec/libnetworking/net/if.h
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/exec/libnetworking/net/if.h')
-rw-r--r--c/src/exec/libnetworking/net/if.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/c/src/exec/libnetworking/net/if.h b/c/src/exec/libnetworking/net/if.h
index acddd4f095..16785d7626 100644
--- a/c/src/exec/libnetworking/net/if.h
+++ b/c/src/exec/libnetworking/net/if.h
@@ -162,6 +162,8 @@ struct ifnet {
__P((struct ifnet *, struct mbuf *));
void (*if_init) /* Init routine */
__P((void *));
+ int (*if_tap) /* Packet filter routine */
+ (struct ifnet *, struct ether_header *, struct mbuf *);
struct ifqueue if_snd; /* output queue */
struct ifqueue *if_poll_slowq; /* input queue for slow devices */
};
@@ -369,6 +371,7 @@ struct ifreq {
int ifru_phys;
int ifru_media;
caddr_t ifru_data;
+ int (*ifru_tap)(struct ifnet *, struct ether_header *, struct mbuf *);
} ifr_ifru;
#define ifr_addr ifr_ifru.ifru_addr /* address */
#define ifr_dstaddr ifr_ifru.ifru_dstaddr /* other end of p-to-p link */
@@ -379,6 +382,7 @@ struct ifreq {
#define ifr_phys ifr_ifru.ifru_phys /* physical wire */
#define ifr_media ifr_ifru.ifru_media /* physical media */
#define ifr_data ifr_ifru.ifru_data /* for use by interface */
+#define ifr_tap ifr_ifru.ifru_tap /* tap function */
};
struct ifaliasreq {