Friday, September 4, 2020

ARP entry not refreshed during TCP communication

We have a Linux system controlling multiple PTZ cameras on a large broadcast show and the TCP communication with the camera drops at some point, the camera doesn't answer, I noticed TCP timeouts for a minute. Then the Linux ARP table times out, a new ARP request is sent and all comes back for another hour or 2. The link is a single Cisco router with a VLAN.

Linux does send an ARP request every ~40s with some other machines with UDP traffic only. But with the Panasonic PTZ, we have TCP traffic and it seems like the ARP entry timer is reset with traffic as ARP requests to the camera are never sent. The router doesn't seem to do the same and hits its ARP timeout. I only had access to the Linux machine, I found out that the ARP cache had the right IP/MAC marked "reachable" when the problem appears. I now send an arping every 60s to the cameras and the problem disappeared.

2 questions I couldn't clear up myself:

  • why would the Cisco drop the connection after the ARP timeout instead of sending a new ARP request itself? Is there a setting for this? (I don't have access to that facility router myself)

  • is there a way (and should that be a good option) to tell Linux to not use TCP traffic for ARP refresh to still send ARP requests on a regular interval?

Thanks, David



No comments:

Post a Comment