As a machine manufacturer / integrator, we rely heavily on the old (even broke) XP behavior. Our machines ALWAYS have 2 NIC cards.
One NIC for the machine sub-systems...
Machine I/O subsystem http://www.automationdirect.com/adc/Shopping/Catalog/Field_I-z-O/Terminator_I-z-O_Network_Interface_Modules
sound analyzer http://www.bksv.com/
Motor Drives
Environmental controls
IP devices of our own design and manufacture.
One NIC for corporate / lab networking.
All this worked just fine on XP.
I can change the code we've written, to send broadcast out all cards but this doesn't fix the drivers from 3rd parties. Seem everyone who's ever made an IP device relies on the now broken broadcast system to discover hardware connected to NIC card(s).
My only questions are...
1) Why did the behavior change from XP (even broken, it did work in all my cases).
2) Why can't Windows 7 just send broadcasts out all NICs (after all, it IS a broadcast not a narrowcast).
As a side note (XP behavior, unverified in Win7) ,
My IP modules send 1000 packets a second to the PC and the PC sends 500 packets a second to the module. Every 20 minutes or so, the PC sends my device an ARP request. If this request gets lost along the way, any my device doesn't send a reply, the PC sends
NOTHING for 2 seconds (seems to throw the data away) then retries the ARP and all is good. It seems to me that if the PC is receiving 1000 packets a second from the device (with the device's MAC and IP address in the header), why does a ARP need to be sent
at all?