The only weird thing is that sometimes the ethernet destination address in the incoming IP packets is FF:FF:FF:FF:FF:FF, but that does not seem to bother neither ICMP nor UDP, which always work. Why *only TCP* is affected?
That is a broadcast packet, and TCP does not accept nor work with broadcasts.
Ok, I didn't know that TCP had an explicit check for *MAC* broadcast addresses. Do you happen to know where the check is taking place? I've checked ethernet, ip and tcp (under ipv4) but I cannot find it. I'd like to remove it and see if it works.
I can understand that TCP does not accept the broadcast. What puzzles me is the fact that UDP does accept it for, say, name resolution. Shouldn't UDP also reject an answer packet going to a valid address/port pair if the underlying ethernet destination address is FF:...:FF?
Or maybe there is a valid use for such a packet, I don't know.
Is TCP digging into the packet to reject a MAC broadcast addressed packet? Or is it IP who's doing that before the internal routing?
Eduardo. - : send the line "unsubscribe linux-net" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html