The branch main has been updated by glebius:

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

commit b958b862b1f43f5fef881c1f9aee6618d7d24197
Author:     Gleb Smirnoff <gleb...@freebsd.org>
AuthorDate: 2022-10-04 21:39:49 +0000
Commit:     Gleb Smirnoff <gleb...@freebsd.org>
CommitDate: 2022-10-04 21:39:49 +0000

    netlink: make it working without INET6
---
 sys/netlink/route/iface.c | 24 +++++++++++++++++++++++-
 1 file changed, 23 insertions(+), 1 deletion(-)

diff --git a/sys/netlink/route/iface.c b/sys/netlink/route/iface.c
index 8bb4406ad8be..5ffe11cc7e80 100644
--- a/sys/netlink/route/iface.c
+++ b/sys/netlink/route/iface.c
@@ -196,21 +196,27 @@ dump_sa(struct nl_writer *nw, int attr, const struct 
sockaddr *sa)
 {
         uint32_t addr_len = 0;
         const void *addr_data = NULL;
+#ifdef INET6
         struct in6_addr addr6;
+#endif
 
         if (sa == NULL)
                 return (true);
 
         switch (sa->sa_family) {
+#ifdef INET
         case AF_INET:
                 addr_len = sizeof(struct in_addr);
                 addr_data = &((const struct sockaddr_in *)sa)->sin_addr;
                 break;
+#endif
+#ifdef INET6
         case AF_INET6:
                 in6_splitscope(&((const struct sockaddr_in6 *)sa)->sin6_addr, 
&addr6, &addr_len);
                 addr_len = sizeof(struct in6_addr);
                 addr_data = &addr6;
                 break;
+#endif
         case AF_LINK:
                 addr_len = ((const struct sockaddr_dl *)sa)->sdl_alen;
                 addr_data = LLADDR_CONST((const struct sockaddr_dl *)sa);
@@ -563,6 +569,7 @@ ifa_get_scope(const struct ifaddr *ifa)
 
         sa = ifa->ifa_addr;
         switch (sa->sa_family) {
+#ifdef INET
         case AF_INET:
                 {
                         struct in_addr addr;
@@ -573,6 +580,8 @@ ifa_get_scope(const struct ifaddr *ifa)
                                 addr_scope = RT_SCOPE_LINK;
                         break;
                 }
+#endif
+#ifdef INET6
         case AF_INET6:
                 {
                         const struct in6_addr *addr;
@@ -583,6 +592,7 @@ ifa_get_scope(const struct ifaddr *ifa)
                                 addr_scope = RT_SCOPE_LINK;
                         break;
                 }
+#endif
         }
 
         return (addr_scope);
@@ -599,20 +609,28 @@ inet6_get_plen(const struct in6_addr *addr)
 static uint8_t
 get_sa_plen(const struct sockaddr *sa)
 {
-        const struct in6_addr *paddr6;
+#ifdef INET
         const struct in_addr *paddr;
+#endif
+#ifdef INET6
+        const struct in6_addr *paddr6;
+#endif
 
         switch (sa->sa_family) {
+#ifdef INET
         case AF_INET:
                 if (sa == NULL)
                         return (32);
                 paddr = &(((const struct sockaddr_in *)sa)->sin_addr);
                 return bitcount32(paddr->s_addr);;
+#endif
+#ifdef INET6
         case AF_INET6:
                 if (sa == NULL)
                         return (128);
                 paddr6 = &(((const struct sockaddr_in6 *)sa)->sin6_addr);
                 return inet6_get_plen(paddr6);
+#endif
         }
 
         return (0);
@@ -718,12 +736,16 @@ rtnl_handle_ifaddr(void *arg __unused, struct ifaddr 
*ifa, int cmd)
        uint32_t group = 0;
 
        switch (ifa->ifa_addr->sa_family) {
+#ifdef INET
        case AF_INET:
                group = RTNLGRP_IPV4_IFADDR;
                break;
+#endif
+#ifdef INET6
        case AF_INET6:
                group = RTNLGRP_IPV6_IFADDR;
                break;
+#endif
        default:
                NL_LOG(LOG_DEBUG2, "ifa notification for unknown AF: %d",
                    ifa->ifa_addr->sa_family);

Reply via email to