aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Gmelin <grembo@FreeBSD.org>2024-06-12 16:11:52 +0000
committerMichael Gmelin <grembo@FreeBSD.org>2024-06-15 15:24:59 +0000
commit048ad7a9ef9fe15368ff287db5c705c8163f4e1c (patch)
tree7bb94dbbe03c6e6ccc2adc692f861d574a9d838f
parent35e9830283561820a1fcb21b46b6f01e87700dec (diff)
ifconfig: Fix default netmask calculation
Reported by: phk Reviewed by: emaste, kp MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D45570 (cherry picked from commit 8a9f0fa42b1c6cffd45459bb552e138083b00369)
-rw-r--r--sbin/ifconfig/af_inet.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/sbin/ifconfig/af_inet.c b/sbin/ifconfig/af_inet.c
index 5e3084165b33..e21956cfc4fd 100644
--- a/sbin/ifconfig/af_inet.c
+++ b/sbin/ifconfig/af_inet.c
@@ -440,7 +440,7 @@ in_exec_nl(if_ctx *ctx, unsigned long action, void *data)
static void
in_setdefaultmask_nl(void)
{
- struct in_px *px = sintab_nl[ADDR];
+ struct in_px *px = sintab_nl[ADDR];
in_addr_t i = ntohl(px->addr.s_addr);
@@ -451,11 +451,11 @@ in_setdefaultmask_nl(void)
* we should return an error rather than warning.
*/
if (IN_CLASSA(i))
- px->plen = IN_CLASSA_NSHIFT;
+ px->plen = 32 - IN_CLASSA_NSHIFT;
else if (IN_CLASSB(i))
- px->plen = IN_CLASSB_NSHIFT;
+ px->plen = 32 - IN_CLASSB_NSHIFT;
else
- px->plen = IN_CLASSC_NSHIFT;
+ px->plen = 32 - IN_CLASSC_NSHIFT;
px->maskset = true;
}
#endif