Date: Fri, 19 Jun 2026 15:46:50 +0000 From: Pouria Mousavizadeh Tehrani <pouria@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Subject: git: 5ca5b570cfa3 - stable/15 - rc.d/routing: Silence errors for loopback routes Message-ID: <6a35646a.44e8b.441f8446@gitrepo.freebsd.org>
index | next in thread | raw e-mail
The branch stable/15 has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=5ca5b570cfa33fef597feee9333643cccb278de2 commit 5ca5b570cfa33fef597feee9333643cccb278de2 Author: Pouria Mousavizadeh Tehrani <pouria@FreeBSD.org> AuthorDate: 2026-06-10 11:26:07 +0000 Commit: Pouria Mousavizadeh Tehrani <pouria@FreeBSD.org> CommitDate: 2026-06-19 15:45:26 +0000 rc.d/routing: Silence errors for loopback routes _loopback entry in `static_routes` ensures a loopback route exists in all routing tables. However, loopback routes may already be added by the kernel. Therefore, re-adding them triggers an `EEXIST` error on every boot. This change suppresses those harmless errors. PR: 259553 MFC after: 1 week Reviewed by: glebius, jlduran, markj Differential Revision: https://reviews.freebsd.org/D57470 (cherry picked from commit 9f80c8b90bdaa8ffac887a8c478a16c84d74a87b) --- libexec/rc/rc.d/routing | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/libexec/rc/rc.d/routing b/libexec/rc/rc.d/routing index dd75604125a3..93e41c41a52b 100755 --- a/libexec/rc/rc.d/routing +++ b/libexec/rc/rc.d/routing @@ -190,7 +190,13 @@ static_inet() if [ $_skip = 0 ]; then route_args=`get_if_var ${i%:*} route_IF` if [ -n "$route_args" ]; then - ${ROUTE_CMD} ${_action} ${route_args} + # Loopback routes may already be added by the kernel; ignore EEXIST. + if [ "${i%:*}" = "_loopback" ]; then + ${ROUTE_CMD} ${_action} ${route_args} 2>&1 >/dev/null | + sed -e '/route: message indicates error: File exists/d' >&2 + else + ${ROUTE_CMD} ${_action} ${route_args} + fi else warn "route_${i%:*} not found." fi @@ -267,8 +273,15 @@ static_inet6() if [ $_skip = 0 ]; then ipv6_route_args=`get_if_var ${i%:*} ipv6_route_IF` if [ -n "$ipv6_route_args" ]; then - ${ROUTE_CMD} ${_action} \ - -inet6 ${ipv6_route_args} + # Loopback routes may already be added by the kernel; ignore EEXIST. + if [ "${i%:*}" = "_loopback" ]; then + ${ROUTE_CMD} ${_action} -inet6 \ + ${ipv6_route_args} 2>&1 >/dev/null | + sed -e '/route: message indicates error: File exists/d' >&2 + else + ${ROUTE_CMD} ${_action} \ + -inet6 ${ipv6_route_args} + fi else warn "route_${i%:*} not found" fihome | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6a35646a.44e8b.441f8446>
