LinuxQuestions.org

LinuxQuestions.org (http://www.linuxquestions.org/questions/index.php)
-   Linux - Networking (http://www.linuxquestions.org/questions/forumdisplay.php?f=3)
-   -   g-arp not updating mac address (http://www.linuxquestions.org/questions/showthread.php?t=4175454494)

madix 03-18-2013 03:04 AM

g-arp not updating mac address
 
Hi,

I am having multiple PCs receiving a g-arp request from a server. Sometimes, one these PCs does not process the g-arp request and keep sending message to Old Mac address of the server until it itself timeout and send a g-arp request to get updated about the server Mac. I am using CentOs. I don't see kernel also processing the g-arp(I keep certain debug msgs to see if kernel itself is dropping the request).

Pls let me know how to sort it out. I wondered all across internet and didn't find much info.

jnihil 03-20-2013 12:41 PM

The kernel doc says that GARPs are accepted if the IP entry already exists in the ARP cache:

(from https://www.kernel.org/doc/Documenta...p-sysctl.txt):

arp_accept - BOOLEAN
Define behavior for gratuitous ARP frames who's IP is not
already present in the ARP table:
0 - don't create new entries in the ARP table
1 - create new entries in the ARP table

Both replies and requests type gratuitous arp will trigger the
ARP table to be updated, if this setting is on.

If the ARP table already contains the IP address of the
gratuitous arp frame, the arp table will be updated regardless
if this setting is on or off.



Are you running a really old kernel version?

jefro 03-20-2013 04:41 PM

Is there a static arp entry on this one PC?

madix 03-20-2013 11:14 PM

Quote:

Originally Posted by jefro (Post 4915492)
Is there a static arp entry on this one PC?

No, there is NO static arp entry. Everything gets updated dynamically either with self arp request or a g arp from the other side.

madix 03-20-2013 11:21 PM

Quote:

Originally Posted by jnihil (Post 4915350)
The kernel doc says that GARPs are accepted if the IP entry already exists in the ARP cache:

(from https://www.kernel.org/doc/Documenta...p-sysctl.txt):

arp_accept - BOOLEAN
Define behavior for gratuitous ARP frames who's IP is not
already present in the ARP table:
0 - don't create new entries in the ARP table
1 - create new entries in the ARP table

Both replies and requests type gratuitous arp will trigger the
ARP table to be updated, if this setting is on.

If the ARP table already contains the IP address of the
gratuitous arp frame, the arp table will be updated regardless
if this setting is on or off.



Are you running a really old kernel version?

I actually tried this by setting arp_accept to 1. I think still faced the issue. My understanding about arp_accept is that setting this will may result in frequent arp cache overflow due to accepting every other g-arp request that is coming in the n/w. I want the update to happen only for my server.

I am using linux-2.6.18 kernel version.

jnihil 03-21-2013 08:23 AM

'arp cache overflow'?

how did to come this conclusion?

madix 03-26-2013 12:16 PM

Quote:

Originally Posted by jnihil (Post 4915950)
'arp cache overflow'?

how did to come this conclusion?

I could be wrong! :)
I meant the cache may get into thrashing due to frequent updates... Anyways I got the problem solved by clearing the cache in a given time...


All times are GMT -5. The time now is 02:07 PM.