Messages in this thread | | | Date | Tue, 9 Jun 2009 16:08:01 +0300 | Subject | Re: SOCK_RAW does not receive broadcast (with VLAN unless PROMISC) | From | Gil Beniamini <> |
| |
Patrick, On the specific NIC (eth1) no vlan is defined, and in the new Linux the application receive NOTHING at all. In order to debug, I start "wireshark as root" and "wireshark" set PROMISC on, and the application start receive the raw packets as expected. Later I started setting PROMISC by my application, and it can receive the packets even when "wireshark" is not running. The problem that I have with PROMISC mode, is that I need to do the irelevant unicast filtering in software rather than get it from the hardware (as it works in old kernel 2.6.20). Thanks a lot, Gil
On Tue, Jun 9, 2009 at 2:40 PM, Patrick McHardy<kaber@trash.net> wrote: > Gil Beniamini wrote: >> >> 9Jun09, The problem was seen with eth1 using driver e1000e, but also >> was reproduced on 3c59x, to me it seems that the problem is not >> related to a specific nic driver. >> VLAN is running for other NICs, but on the application specific nic >> (eth1) I use PF_PACKET (SOCK_RAW) , in order to get the raw-packet >> from the underlying device, and this start working again (like in >> older kernel) as soon as the application set the socket to PROMISC >> mode. > > OK, that might explain it. e1000e performs VLAN filtering in hardware > and unless there are VLANs configured locally, all VLANs are filtered > out. Are you seeing seeing only unicast VLAN traffic or no VLAN traffic > at all? Please post a dump of the packets with and without promiscous > mode. > > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |