freebsd-skq/share
Alexander V. Chernikov 670e8b3b8c Kill custom in_matroute() radix mathing function removing one rte mutex lock.
Initially in_matrote() in_clsroute() in their current state was introduced by
r4105 20 years ago. Instead of deleting inactive routes immediately, we kept them
in route table, setting RTPRF_OURS flag and some expire time. After that, either
GC came or RTPRF_OURS got removed on first-packet. It was a good solution
in that days (and probably another decade after that) to keep TCP metrics.
However, after moving metrics to TCP hostcache in r122922, most of in_rmx
functionality became unused. It might had been used for flushing icmp-originated
routes before rte mutexes/refcounting, but I'm not sure about that.

So it looks like this is nearly impossible to make GC do its work nowadays:

in_rtkill() ignores non-RTPRF_OURS routes.
route can only become RTPRF_OURS after dropping last reference via rtfree()
which calls in_clsroute(), which, it turn, ignores UP and non-RTF_DYNAMIC routes.

Dynamic routes can still be installed via received redirect, but they
have default lifetime (no specific rt_expire) and no one has another trie walker
to call RTFREE() on them.

So, the changelist:
* remove custom rnh_match / rnh_close matching function.
* remove all GC functions
* partially revert r256695 (proto3 is no more used inside kernel,
  it is not possible to use rt_expire from user point of view, proto3 support
  is not complete)
* Finish r241884 (similar to this commit) and remove remaining IPv6 parts

MFC after:	1 month
2014-11-11 02:52:40 +00:00
..
colldef
dict Remove ia64. 2014-07-07 00:27:09 +00:00
doc Integrate pjdfstest test suite execution into kyua 2014-11-03 07:18:42 +00:00
dtrace add my scripts to measure io latency per disk... 2014-08-09 20:40:03 +00:00
examples This is the much-discussed major upgrade to the random(4) device, known to you all as /dev/random. 2014-10-30 21:21:53 +00:00
i18n Revert r258254: Alias WCHAR_T to UCS-4-INTERNAL. 2014-01-03 23:35:01 +00:00
info Install the template info directory with mode 644 instead of 444 to 2013-01-21 22:54:43 +00:00
keys Remove scary comment about this being a test key. 2014-01-13 20:55:15 +00:00
man Kill custom in_matroute() radix mathing function removing one rte mutex lock. 2014-11-11 02:52:40 +00:00
me multiple: Remove 3rd clause from BSD license where approved by the 2014-03-14 03:07:51 +00:00
misc Mac OS X 10.10 added. 2014-10-20 15:41:11 +00:00
mk Revert r274200. Implicitly setting DEBUG_FLAGS when WITH_CTF is true is 2014-11-08 18:16:39 +00:00
mklocale
monetdef Do not overwrite the new UTF-8 files with the old ISO one 2013-07-17 14:00:51 +00:00
msgdef Don't link two different things to the same paths. As tiebreaker I've 2013-01-24 17:00:11 +00:00
numericdef Don't link two different things to the same paths. As tiebreaker I've 2013-01-24 17:00:11 +00:00
security
sendmail
skel Prefer /etc/login.conf for some of these environment values. 2014-04-14 18:07:00 +00:00
snmp
syscons Fix minor problems found while converting to NEWCONS format. 2014-08-18 20:58:17 +00:00
tabset
termcap Stop telling people to use send-pr; instead point them towards Bugzilla. 2014-06-14 18:43:48 +00:00
tests Add some sample test programs. 2013-11-18 12:57:46 +00:00
timedef
vt Add forgotten keymap files fr.kbd and fr.acc.kbd to the FILES list. 2014-09-12 06:23:57 +00:00
zoneinfo Avoid ./ in zoneinfo entries in METALOG 2014-09-03 18:51:33 +00:00
Makefile Rename the WITHOUT_VT_SUPPORT knob to WITHOUT_VT 2014-06-30 00:20:12 +00:00
Makefile.inc