<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Nov 29, 2016 at 10:40 AM, Shawn Peng <span dir="ltr">&lt;<a href="mailto:yisupeng@gmail.com" target="_blank">yisupeng@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div id=":132" class="a3s aXjCH m158ae815ee8c5102">I&#39;m reading the code about arp protocol. It seems like the kernel uses<br>
the neigh_table structure to keep track of caches, right? </div></blockquote><div><div class="gmail_default" style="font-family:monospace,monospace">​yes.​</div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div id=":132" class="a3s aXjCH m158ae815ee8c5102">There should<br>
be some code that remove the stale entries in the cache, but I didn&#39;t<br>
find the code that does this job. Does anyone have an idea?</div></blockquote><div><div class="gmail_default" style="font-family:monospace,monospace;display:inline">​look at neigh_release(...) and neigh_destroy(...). basically, neigh_release(...) decrements the reference count of a neighbor, and neigh_destroy(...) frees it when this reference count reaches zero.​</div> </div></div><br><br><div class="gmail_default" style="font-family:monospace,monospace">​--</div><div class="gmail_default" style="font-family:monospace,monospace">kind regards</div><div class="gmail_default" style="font-family:monospace,monospace">anupam​</div><br><div><br></div><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><font face="monospace, monospace">In the beginning was the lambda, and the lambda was with Emacs, and Emacs was the lambda. </font></div></div></div>
</div></div>