diff --git a/bsd/sys/net/route.h b/bsd/sys/net/route.h index 66192052f4330e36ffe8cbcfed5272e09cfaa744..a33f96e65d20e62afa9087580e58323abcaba25e 100644 --- a/bsd/sys/net/route.h +++ b/bsd/sys/net/route.h @@ -307,6 +307,11 @@ struct rt_addrinfo { sizeof(long) : \ 1 + ( (((struct sockaddr *)(sa))->sa_len - 1) | (sizeof(long) - 1) ) ) +#define SA_SIZE_ALWAYS(sa) \ + ( (((struct sockaddr *)(sa))->sa_len == 0) ? \ + sizeof(long) : \ + 1 + ( (((struct sockaddr *)(sa))->sa_len - 1) | (sizeof(long) - 1) ) ) + #ifdef _KERNEL #define RT_LINK_IS_UP(ifp) (!((ifp)->if_capabilities & IFCAP_LINKSTATE) \