Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 7 Mar 2025 04:15:12 GMT
From:      Zhenlei Huang <zlei@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: 0e096bb3fcaa - main - netlink: Fix getting route scope of interface's IPv4 addresses
Message-ID:  <202503070415.5274FCmg049676@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by zlei:

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

commit 0e096bb3fcaaf663df372aa4abb986e8d63c6e68
Author:     Zhenlei Huang <zlei@FreeBSD.org>
AuthorDate: 2025-03-07 04:14:44 +0000
Commit:     Zhenlei Huang <zlei@FreeBSD.org>
CommitDate: 2025-03-07 04:14:44 +0000

    netlink: Fix getting route scope of interface's IPv4 addresses
    
    sin_addr of a `struct sockaddr_in` is stored in network byte order, but
    IN_LOOPBACK() and IN_LINKLOCAL() want the host order.
    
    Reviewed by:    melifaro, #network
    Fixes:  7e5bf68495cc netlink: add netlink support
    MFC after:      3 days
    Differential Revision:  https://reviews.freebsd.org/D49226
---
 sys/netlink/route/iface.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sys/netlink/route/iface.c b/sys/netlink/route/iface.c
index 93465e55e6aa..8b871576d0b2 100644
--- a/sys/netlink/route/iface.c
+++ b/sys/netlink/route/iface.c
@@ -818,9 +818,9 @@ ifa_get_scope(const struct ifaddr *ifa)
                 {
                         struct in_addr addr;
                         addr = ((const struct sockaddr_in *)sa)->sin_addr;
-                        if (IN_LOOPBACK(addr.s_addr))
+                        if (IN_LOOPBACK(ntohl(addr.s_addr)))
                                 addr_scope = RT_SCOPE_HOST;
-                        else if (IN_LINKLOCAL(addr.s_addr))
+                        else if (IN_LINKLOCAL(ntohl(addr.s_addr)))
                                 addr_scope = RT_SCOPE_LINK;
                         break;
                 }



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