Module Name:    src
Committed By:   christos
Date:           Mon Mar  8 20:01:54 UTC 2021

Modified Files:
        src/sys/net/npf: npf_ext_normalize.c
        src/sys/netinet: in_var.h

Log Message:
reinstate a simple version of ip_randomid()


To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 src/sys/net/npf/npf_ext_normalize.c
cvs rdiff -u -r1.100 -r1.101 src/sys/netinet/in_var.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/net/npf/npf_ext_normalize.c
diff -u src/sys/net/npf/npf_ext_normalize.c:1.10 src/sys/net/npf/npf_ext_normalize.c:1.11
--- src/sys/net/npf/npf_ext_normalize.c:1.10	Sat May 30 10:16:56 2020
+++ src/sys/net/npf/npf_ext_normalize.c	Mon Mar  8 15:01:54 2021
@@ -26,7 +26,7 @@
 
 #ifdef _KERNEL
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: npf_ext_normalize.c,v 1.10 2020/05/30 14:16:56 rmind Exp $");
+__KERNEL_RCSID(0, "$NetBSD: npf_ext_normalize.c,v 1.11 2021/03/08 20:01:54 christos Exp $");
 
 #include <sys/types.h>
 #include <sys/module.h>
@@ -114,7 +114,7 @@ npf_normalize_ip4(npf_cache_t *npc, npf_
 	if (np->n_random_id) {
 		uint16_t oid = ip->ip_id, nid;
 
-		nid = htons(ip_randomid(ip_ids, 0));
+		nid = ip_randomid();
 		cksum = npf_fixup16_cksum(cksum, oid, nid);
 		ip->ip_id = nid;
 	}

Index: src/sys/netinet/in_var.h
diff -u src/sys/netinet/in_var.h:1.100 src/sys/netinet/in_var.h:1.101
--- src/sys/netinet/in_var.h:1.100	Mon Mar  8 13:03:25 2021
+++ src/sys/netinet/in_var.h	Mon Mar  8 15:01:54 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: in_var.h,v 1.100 2021/03/08 18:03:25 christos Exp $	*/
+/*	$NetBSD: in_var.h,v 1.101 2021/03/08 20:01:54 christos Exp $	*/
 
 /*-
  * Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -450,6 +450,14 @@ int	ipflow_fastforward(struct mbuf *);
 extern uint16_t		ip_id;
 extern int		ip_do_randomid;
 
+static __inline uint16_t
+ip_randomid(void)
+{
+
+	uint16_t id = (uint16_t)cprng_fast32();
+	return id ? id : 1;
+}
+
 /*
  * ip_newid_range: "allocate" num contiguous IP IDs.
  *
@@ -462,8 +470,7 @@ ip_newid_range(const struct in_ifaddr *i
 
 	if (ip_do_randomid) {
 		/* XXX ignore num */
-		id = (uint16_t)cprng_fast32();
-		return id ? id : 1;
+		return ip_randomid();
 	}
 
 	/* Never allow an IP ID of 0 (detect wrap). */

Reply via email to