I am using a BPF to filter out link layer packets with the Tag 0x9999.
before i start reading from the BPF fds i have a select() call.
As per my understanding the select should return only if there is a packet on the interface matching the criteria (i.e. tag 0x9999).
but in the test program attached the select always returns and FD_ISSET(fd, fds) is always 1, even though no incoming packet of matching the tag is available.
Hence the code hangs on the read() call as u dont have any data to read.