Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 24 Feb 2018 20:21:56 +0700
From:      Eugene Grosbein <eugen@grosbein.net>
To:        Andreas Longwitz <longwitz@incore.de>
Cc:        freebsd-net@freebsd.org
Subject:   Re: loopback routes pinned by commit r326012 for FreeBSD 10 cannot be deleted
Message-ID:  <5A9166F4.1080100@grosbein.net>
In-Reply-To: <5A9162C9.5050206@grosbein.net>
References:  <5A9075CB.10408@incore.de> <5A90E679.3030106@grosbein.net> <5A915C9D.7020000@incore.de> <5A9162C9.5050206@grosbein.net>

next in thread | previous in thread | raw e-mail | index | archive | help
24.02.2018 20:04, Eugene Grosbein wrote:

>> But deleting the loopback route manually does not work anymore, is this
>> intended behaviour ?
>>
>> I would like to control the routing table as much as possible.
> 
> This is side effect of loopback routes being intentionally protected with RTF_PINNED flag
> in recent FreeBSD versions so that link routes can override ones installed by routing daemons.
> 
> Perhaps, ifconfig(8) utility should be extended to use RTF_PINNED to be able to modify such routes.

I mean, route(8). Please try this patch that restores its ability to manually remove such routes.

Index: sbin/route/route.c
===================================================================
--- sbin/route/route.c  (revision 329903)
+++ sbin/route/route.c  (working copy)
@@ -1535,8 +1535,10 @@ rtmsg(int cmd, int flags, int fib)
                        so[RTAX_IFP].ss_len = sizeof(struct sockaddr_dl);
                        rtm_addrs |= RTA_IFP;
                }
-       } else
+       } else {
                cmd = RTM_DELETE;
+               flags |= RTF_PINNED;
+       }
 #define rtm m_rtmsg.m_rtm
        rtm.rtm_type = cmd;
        rtm.rtm_flags = flags;





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5A9166F4.1080100>