When capturing packets on a PF_PACKET/SOCK_RAW socket bound to all interfaces, there doesn't appear to be a way for the filter program to actually find out the underlying hardware type the packet was captured on, such as is reported by the sll_hatype field of the struct sockaddr_ll when the packet is sent up to userland. Unless I've managed to miss a trick somewhere, this would seem to put a fairly fundamental blocker on actually being able to filter in such packets. Granted there's the SKF_OFF_NET area to inspect at the e.g. IPv4 level, but this makes it impossible to do anything on e.g. the Ethernet level. See attached for a patch to add an SKF_AD_HATYPE field, up among the other special access fields around SKF_AD_OFF. -- Paul "LeoNerd" Evans leonerd@leonerd.org.uk ICQ# 4135350 | Registered Linux# 179460 http://www.leonerd.org.uk/
