git: b297093ebab6 - stable/13 - routing: do not allow PINNED routes to be overriden

From: Andrey V. Elsukov <ae_at_FreeBSD.org>
Date: Tue, 18 Mar 2025 09:12:06 UTC
The branch stable/13 has been updated by ae:

URL: https://cgit.FreeBSD.org/src/commit/?id=b297093ebab6a16f23cebeeb1dbd7470c13db004

commit b297093ebab6a16f23cebeeb1dbd7470c13db004
Author:     Andrey V. Elsukov <ae@FreeBSD.org>
AuthorDate: 2025-03-02 10:53:49 +0000
Commit:     Andrey V. Elsukov <ae@FreeBSD.org>
CommitDate: 2025-03-18 09:11:37 +0000

    routing: do not allow PINNED routes to be overriden
    
    First configured PINNED routes should have higher priority.
    
    Fixes:          1da4954c92ea
    Differential Revision:  https://reviews.freebsd.org/D48650
    
    (cherry picked from commit 361a8395f0b0e6f254fd138798232529679d99f6)
---
 sys/net/route/route_ctl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys/net/route/route_ctl.c b/sys/net/route/route_ctl.c
index 712e912189a5..0ebda049dc1d 100644
--- a/sys/net/route/route_ctl.c
+++ b/sys/net/route/route_ctl.c
@@ -806,7 +806,7 @@ add_route_flags(struct rib_head *rnh, struct rtentry *rt, struct route_nhop_data
 
 	/* Now either append or replace */
 	if (op_flags & RTM_F_REPLACE) {
-		if (nhop_get_prio(rnd_orig.rnd_nhop) > nhop_get_prio(rnd_add->rnd_nhop)) {
+		if (nhop_get_prio(rnd_orig.rnd_nhop) == NH_PRIORITY_HIGH) {
 			/* Old path is "better" (e.g. has PINNED flag set) */
 			RIB_WUNLOCK(rnh);
 			error = EEXIST;