diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2009-10-14 10:20:58 +0200 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2009-10-14 10:20:58 +0200 |
commit | beb6094a963a090a0cdd8b7f519dca0c4a0296a3 (patch) | |
tree | eaaabb4255e539a2b4bd0d24d5325e7e061d68cf /device | |
parent | fa6c711d2e8f696457ee1a12e49f413b98a175db (diff) | |
parent | c1674eb05b5c6ceacf74800dd5b564102fa890f9 (diff) |
Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/gnumach
Diffstat (limited to 'device')
-rw-r--r-- | device/net_io.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/device/net_io.c b/device/net_io.c index a6f842e..2311599 100644 --- a/device/net_io.c +++ b/device/net_io.c @@ -771,13 +771,16 @@ net_filter(kmsg, send_list) if ((infp->filter[0] & NETF_TYPE_MASK) == NETF_BPF) { ret_count = bpf_do_filter(infp, net_kmsg(kmsg)->packet + sizeof(struct packet_header), - count, net_kmsg(kmsg)->header, + count - sizeof(struct packet_header), + net_kmsg(kmsg)->header, ifp->if_header_size, &hash_headp, &entp); if (entp == (net_hash_entry_t) 0) dest = infp->rcv_port; else dest = entp->rcv_port; + if (ret_count) + ret_count += sizeof(struct packet_header); } else { ret_count = net_do_filter(infp, net_kmsg(kmsg)->packet, count, net_kmsg(kmsg)->header); |