diff options
author | Thomas Schwinge <schwinge@nic-nac-project.de> | 2009-10-14 09:58:15 +0200 |
---|---|---|
committer | Thomas Schwinge <schwinge@nic-nac-project.de> | 2009-10-14 09:58:15 +0200 |
commit | c1674eb05b5c6ceacf74800dd5b564102fa890f9 (patch) | |
tree | bed089e2c9fa55d93bb1948feb3c8ff04ca89419 | |
parent | a72523c6570b17311babc105edc7105bc0dce4aa (diff) | |
parent | eaf8602d9c8e9058cadc66acea5b4ad92fd808e3 (diff) |
Merge branch 'master-zhengda'
-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); |