freebsd-dev/share/man/man7
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
..
adding_user.7 multiple: Remove 3rd clause from BSD license where approved by the 2014-03-14 03:07:51 +00:00
ascii.7 multiple: Remove 3rd clause from BSD license where approved by the 2014-03-14 03:07:51 +00:00
bsd.snmpmod.mk.7 Fix typos, spelling, formatting and mdoc mistakes found by Nobuyuki while 2010-08-16 15:18:30 +00:00
build.7 Drop references to updating over csup from build(7). 2014-06-25 12:28:22 +00:00
c99.7 use .Mt to mark up email addresses consistently (part6) 2014-06-23 08:27:27 +00:00
clocks.7 mdoc: order prologue macros consistently by Dd/Dt/Os 2010-04-14 19:08:06 +00:00
development.7 use .Mt to mark up email addresses consistently (part6) 2014-06-23 08:27:27 +00:00
environ.7 multiple: Remove 3rd clause from BSD license where approved by the 2014-03-14 03:07:51 +00:00
ffs.7
firewall.7 mdoc sweep 2013-05-13 18:13:50 +00:00
growfs.7 add an rc.d script to automatically grow the specified FS... It has 2014-11-02 00:11:25 +00:00
hier.7 Add /usr/lib/debug directory to hier(7) 2014-11-10 18:20:46 +00:00
hostname.7 multiple: Remove 3rd clause from BSD license where approved by the 2014-03-14 03:07:51 +00:00
intro.7 multiple: Remove 3rd clause from BSD license where approved by the 2014-03-14 03:07:51 +00:00
maclabel.7 mdoc: order prologue macros consistently by Dd/Dt/Os 2010-04-14 19:08:06 +00:00
mailaddr.7 multiple: Remove 3rd clause from BSD license where approved by the 2014-03-14 03:07:51 +00:00
Makefile add an rc.d script to automatically grow the specified FS... It has 2014-11-02 00:11:25 +00:00
operator.7 multiple: Remove 3rd clause from BSD license where approved by the 2014-03-14 03:07:51 +00:00
ports.7 Dereference portaudit(1), as it is now deprecated and its 2014-06-06 13:36:52 +00:00
release.7 Merge the following revisions from ^/projects/release-vmimage: 2014-10-02 16:13:12 +00:00
sdoc.7 use .Mt to mark up email addresses consistently (part6) 2014-06-23 08:27:27 +00:00
security.7 Kill custom in_matroute() radix mathing function removing one rte mutex lock. 2014-11-11 02:52:40 +00:00
sprog.7 use .Mt to mark up email addresses consistently (part6) 2014-06-23 08:27:27 +00:00
stdint.7
sticky.7 multiple: Remove 3rd clause from BSD license where approved by the 2014-03-14 03:07:51 +00:00
tests.7 Stop telling people to use send-pr; instead point them towards Bugzilla. 2014-06-14 18:43:48 +00:00
tuning.7 use .Mt to mark up email addresses consistently (part6) 2014-06-23 08:27:27 +00:00