Follow-up Comment #2, patch #6851 (project hurd):

The packet delivered from gnumach should have the packet header. NPF returns
the packet_header and pfinet always assumes that the packet from gnumach has
the packet_header.

For your first question, the return value of net_do_filter is boolean, i.e.,
it can only be passed or not passed, but bpf_do_filter returns the size of the
data that passes the filter.

bpf_do_filter(infp, net_kmsg(kmsg)->packet + sizeof(struct packet_header),
count, net_kmsg(kmsg)->header, ifp->if_header_size, &hash_headp, &entp) is
simply wrong because the length of the packet data passed to bpf_do_filter
isn't 'count' any more.

    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/patch/?6851>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/



Reply via email to