From 1ca2a1632d7325ee26b2c701b38c1d2e2fcb6f80 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Thu, 27 Apr 2006 00:56:34 +0000 Subject: 2006-04-27 Richard Braun Manuel Menal * device/if_hdr.h (struct ifnet): Added new members `if_snd_port_list' and `if_snd_port_list_lock'. * device/net_io.c: Reworked to improve BPF support. Filters can be applied to ingress packets, egress packets, or both. * device/subrs.c: Initialize the `if_snd_port_list' and `if_snd_port_list_lock'. * include/device/bpf.h [0]: Enable unconditionally. Include . (BPF_IN, BPF_OUT): New macros. * include/device/net_status.h (NETF_TYPE_MASK, NETF_IN, NETF_OUT): New macros. (struct net_rcv_msg): New member `sent'. * linux/dev/glue/net.c: Mark ingress packets as received and inject egress packets into the packet filters. --- device/if_hdr.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'device/if_hdr.h') diff --git a/device/if_hdr.h b/device/if_hdr.h index fa53fd3..6ed30a3 100644 --- a/device/if_hdr.h +++ b/device/if_hdr.h @@ -79,8 +79,11 @@ struct ifnet { char *if_address; /* pointer to hardware address */ struct ifqueue if_snd; /* output queue */ queue_head_t if_rcv_port_list; /* input filter list */ + queue_head_t if_snd_port_list; /* output filter list */ decl_simple_lock_data(, - if_rcv_port_list_lock) /* lock for filter list */ + if_rcv_port_list_lock) /* lock for input filter list */ + decl_simple_lock_data(, + if_snd_port_list_lock) /* lock for output filter list */ /* statistics */ int if_ipackets; /* packets received */ int if_ierrors; /* input errors */ -- cgit v1.2.3