Any way to change ARP retry count and interval in Windows XP?

Hi,

I have an application that is sending a UDP message very infrequently (about once per 30 minutes) to an embedded device on the network. That interval is more than the ARP timeout. There is a strange bug in some switches that sometimes causes a broadcast frame (destination MAC = FF-FF-FF-FF-FF-FF) to be dropped. This unfortunately also happens with the ARP requests.

I really expected Windows XP to retry a failed ARP a few times (e.g. 5) with a small interval (e.g. 1..2 seconds) before giving up. What I see in Wireshark is that the PC just sends out one ARP, and the application probably received an internal error status but does not retry to send the packet. I cannot change that application.

I know I could add a static ARP entry but the customer sometimes exchanges the destination module, and I do not want to bother him with manually adding a new entry each time.

Is there any way to change the ARP retry count and retry interval in Windows XP?

Regards, Arie.

Reply to
Arie
Loading thread data ...

If you have control of the S/W, what if you just pinged it periodically to keep the connection open?

Good Luck! Rich

Reply to
Rich Grise

out

is

) to

ith

If missed packets are an issue, why use UDP?

And since UDP receivers must be prepared to deal with duplicates, why not just send the datagram five times?

Reply to
Dingo

about

l is

FF) to

with

he

ges

dding

ndows

o

There's no connection on UDP. But yes, he can just ping the device from the XP periodically to keep the ARP entry. He can run another apps to do so.

Reply to
linnix

While the windows app is running, change the arp entry to static from within the app itself. I do this in an app because the arp queries affect the bandwidth.

Bill

Reply to
Bill A.

Hmmm, a good idea. I could run a script on the PC that periodically requests the ARP table, then gets the device entry (filter on known first 3 bytes of the MAC) and then makes that entry static. It would keep any obsoleted devices in the table but that would not pose a problem. And new devices would be added after they have been detected by ARP once.

Thanks, Arie.

Reply to
Arie

Well I don't have control of the application or device SW but I can add something to the PC. But: if the user exchanges the device the new IP and MAC address are not known, so pinging the device is a problem. The closed application does device detection by broadcasting requests, I really don't want to add a WinPcap driver + app to snoop these tranfers.

Thanks, Arie

Reply to
Arie

I cannot change the application or the device. And it is not the UDP that gets lost, it is the ARP because that has a broadcast destination. And Windoze does NOT repeat the ARP.

Regards, Arie

Reply to
Arie

Because ARP requests are broadcasts.

My advice would be to replace the faulty switches.

Reply to
Jim Jackson

I know. And the device discovery protocol also uses broadcasts, but those are repeated a few times. The ARP not.

I'm afraid it's going to be my advice too, this week. I would have liked to save the day with an alternative idea.

Thanks, Arie

Reply to
Arie

l

FF)

he

In that case, you may be helped by the registry entries for ArpCacheLife and AprCacheMinReferencedLife. If you can modify the registry and are running the proper flavor of Windows, you can use these to extend the ARP caches.

Reply to
Dingo

In that case, you may be helped by the registry entries for ArpCacheLife and AprCacheMinReferencedLife. If you can modify the registry and are running the proper flavor of Windows, you can use these to extend the ARP caches.

I think I discovered yesterday that even when there are packets sent from the device to the PC with the proper device MAC address, the PC's ARP cache does not learn them. It almost looks as if the PC only learns the MAC from the ARP responses. That means there will always be a timeout on the ARP cache. Increasing these values would make the problem more infrequent but will not stop it. But I'll experiment with them.

Still, no-one knows how to force Windoze to do an ARP retry... :-(

Arie

Reply to
Arie

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.