tech-net archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Restructuring ARP cache
On Mon, Aug 17, 2015 at 6:23 PM, Ryota Ozaki <ozaki-r%netbsd.org@localhost> wrote:
> Hi,
>
> Here is a new patch that restructures ARP caches, which
> aims for MP-safe network stack:
> http://www.netbsd.org/~ozaki-r/lltable-arpcache.diff
> (https://github.com/ozaki-r/netbsd-src/tree/lltable-arpcache)
Updated the patch. The changes are:
- Fix freeing mbuf in lltable_drain
- Fix rtentry leak
ozaki-r
>
> The patch replaces old llinfo for ARP caches with
> lltable/llentry derived from FreeBSD.
>
> Highlights of the patch are:
> - Import lltable/llentry from FreeBSD
> - Use llentry instead of llinfo to manage ARP caches
> - ARP specific data are stored in the hashed list
> of an interface instead of the global list (llinfo_arp)
> - Fine-grain locking on llentry
> - arptimer (callout) per ARP cache
> - the global timer callout with the big locks can be
> removed (though softnet_lock is still required for now)
> - net.inet.arp.prune is removed
> - it is the interval of the global timer callout
> - net.inet.arp.refresh is removed
> - it is a parameter that prevents expiration of active caches
> - Removed to simplify the timer logic, but we may be able to
> restore the feature if really needed
>
> One aim of the changes is to proceed the nexthop cache
> separation that was raised in the thread "Improving use
> of rt_refcnt", although the routing table is not changed
> by this patch. I'll proceed it if we have consensus on
> the approach.
>
> Any comments and suggestions are appreciated.
>
> Note that the patch of course passed the ATF tests :)
>
> Thanks,
> ozaki-r
Home |
Main Index |
Thread Index |
Old Index