Module Name: src Committed By: ozaki-r Date: Mon Aug 31 08:05:20 UTC 2015
Modified Files: src/sys/net: if_arp.h if_ethersubr.c if_llatbl.c if_llatbl.h if_tokensubr.c src/sys/netinet: if_arp.c in.c in_proto.c in_var.h Log Message: Replace ARP cache (llinfo) with lltable/llentry Highlights of the change are: - 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 now obsoleted - it was the interval of the global timer callout - net.inet.arp.refresh is now obsoleted - it was 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 Proposed on tech-kern and tech-net. To generate a diff of this commit: cvs rdiff -u -r1.29 -r1.30 src/sys/net/if_arp.h cvs rdiff -u -r1.212 -r1.213 src/sys/net/if_ethersubr.c cvs rdiff -u -r1.1 -r1.2 src/sys/net/if_llatbl.c src/sys/net/if_llatbl.h cvs rdiff -u -r1.70 -r1.71 src/sys/net/if_tokensubr.c cvs rdiff -u -r1.173 -r1.174 src/sys/netinet/if_arp.c cvs rdiff -u -r1.158 -r1.159 src/sys/netinet/in.c cvs rdiff -u -r1.113 -r1.114 src/sys/netinet/in_proto.c cvs rdiff -u -r1.73 -r1.74 src/sys/netinet/in_var.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.