Page MenuHomeFreeBSD

Remove dead code from in6_rmx.c
ClosedPublic

Authored by melifaro on Dec 18 2019, 11:27 AM.

Details

Reviewers
bz
ae
Group Reviewers
network
Commits
rS355888: Remove useless code from in6_rmx.c
Summary

The code below walks IPv6 tree every 60 seconds and looks into the routes with non-zero expiration time (typically, redirected routes).
For each such route it sets RTF_PROBEMTU flag at the expiration time. No other part of the kernel checks for RTF_PROBEMTU flag.

The original commit (actually, the first reference I was able to find), dates 5 Aug 1999. As far as I understood, this flag was used as a hint for the TCP to walk through it MTU table and refresh MTU values there accordingly.

BSDI tcp_timer.c tcp_slowtimo()
BSDI tcp_subr.c tcp_agepathmtu()

There is no such functionality in the kernel anymore.

Lastly, RTF_PROBEMTUwas defined 21 years ago, 30 Jun 1999, as RTF_PROTO1.
RTF_PROTO1 is a de-facto standard indication of a route installed by a routing daemon for a last decade.
NetBSD removed it in 2011.

Diff Detail

Repository
rS FreeBSD src repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

We removed this code two years ago, since it adds big penalty for routers where are tens of thousands IPv6 routes.
However, someone in the mail list recently complained that we have not a method for route expiring, probably we can rework this code to implement such feature.

This revision is now accepted and ready to land.Dec 18 2019, 11:36 AM
In D22865#500605, @ae wrote:

We removed this code two years ago, since it adds big penalty for routers where are tens of thousands IPv6 routes.
However, someone in the mail list recently complained that we have not a method for route expiring, probably we can rework this code to implement such feature.

Probably wasn't in email but in a review or commit message and was me. Expiring redirects is one of the things I am missing in FreeBSD.

In D22865#500605, @ae wrote:

However, someone in the mail list recently complained that we have not a method for route expiring, probably we can rework this code to implement such feature.

Yes, proper route expiration in AF-independent way is on my todo list.
Not sure if there are any reusable pieces in the current code..

In D22865#500609, @ae wrote:

Missed that. Thanks.

In D22865#500605, @ae wrote:

However, someone in the mail list recently complained that we have not a method for route expiring, probably we can rework this code to implement such feature.

Yes, proper route expiration in AF-independent way is on my todo list.
Not sure if there are any reusable pieces in the current code..

Ok, let's clean up first and then build up again. A lot of these things were shuffled with andre moving routing table parts into the hostcache I think.

This revision was automatically updated to reflect the committed changes.