Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 25 Aug 2019 13:36:21 +0000 (UTC)
From:      Cy Schubert <cy@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org
Subject:   svn commit: r351479 - in stable: 11/sys/contrib/ipfilter/netinet 12/sys/contrib/ipfilter/netinet
Message-ID:  <201908251336.x7PDaLwd013878@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: cy
Date: Sun Aug 25 13:36:20 2019
New Revision: 351479
URL: https://svnweb.freebsd.org/changeset/base/351479

Log:
  MFC r350881:
  
  Calculate the number interface array elements using the new FR_NUM macro
  instead of the hard-coded value of 4. This is a precursor to increasing
  the number of interfaces speficied in "on {interface, ..., interface}".
  Note that though this feature is coded in ipf_y.y, it is partially
  supported in the ipfilter kld, meaning it does not work yet (and is yet
  to be documented in ipf.5 too).

Modified:
  stable/12/sys/contrib/ipfilter/netinet/fil.c
  stable/12/sys/contrib/ipfilter/netinet/ip_state.c
Directory Properties:
  stable/12/   (props changed)

Changes in other areas also in this revision:
Modified:
  stable/11/sys/contrib/ipfilter/netinet/fil.c
  stable/11/sys/contrib/ipfilter/netinet/ip_state.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/12/sys/contrib/ipfilter/netinet/fil.c
==============================================================================
--- stable/12/sys/contrib/ipfilter/netinet/fil.c	Sun Aug 25 13:26:06 2019	(r351478)
+++ stable/12/sys/contrib/ipfilter/netinet/fil.c	Sun Aug 25 13:36:20 2019	(r351479)
@@ -4023,7 +4023,7 @@ ipf_synclist(softc, fr, ifp)
 		/*
 		 * Lookup all the interface names that are part of the rule.
 		 */
-		for (i = 0; i < 4; i++) {
+		for (i = 0; i < FR_NUM(fr->fr_ifas); i++) {
 			if ((ifp != NULL) && (fr->fr_ifas[i] != ifp))
 				continue;
 			if (fr->fr_ifnames[i] == -1)

Modified: stable/12/sys/contrib/ipfilter/netinet/ip_state.c
==============================================================================
--- stable/12/sys/contrib/ipfilter/netinet/ip_state.c	Sun Aug 25 13:26:06 2019	(r351478)
+++ stable/12/sys/contrib/ipfilter/netinet/ip_state.c	Sun Aug 25 13:36:20 2019	(r351479)
@@ -975,7 +975,7 @@ ipf_state_putent(softc, softs, data)
 		/*
 		 * Look up all the interface names in the rule.
 		 */
-		for (i = 0; i < 4; i++) {
+		for (i = 0; i < FR_NUM(fr->fr_ifnames); i++) {
 			if (fr->fr_ifnames[i] == -1) {
 				fr->fr_ifas[i] = NULL;
 				continue;
@@ -985,7 +985,7 @@ ipf_state_putent(softc, softs, data)
 							fr->fr_family);
 		}
 
-		for (i = 0; i < 4; i++) {
+		for (i = 0; i < FR_NUM(isn->is_ifname); i++) {
 			name = isn->is_ifname[i];
 			isn->is_ifp[i] = ipf_resolvenic(softc, name,
 							isn->is_v);
@@ -1076,7 +1076,7 @@ ipf_state_insert(softc, is, rev)
 	/*
 	 * Look up all the interface names in the state entry.
 	 */
-	for (i = 0; i < 4; i++) {
+	for (i = 0; i < FR_NUM(is->is_ifp); i++) {
 		if (is->is_ifp[i] != NULL)
 			continue;
 		is->is_ifp[i] = ipf_resolvenic(softc, is->is_ifname[i],
@@ -3574,7 +3574,7 @@ ipf_state_sync(softc, ifp)
 		/*
 		 * Look up all the interface names in the state entry.
 		 */
-		for (i = 0; i < 4; i++) {
+		for (i = 0; i < FR_NUM(is->is_ifp); i++) {
 			if (ifp == NULL || ifp == is->is_ifp[i])
 				is->is_ifp[i] = ipf_resolvenic(softc,
 							      is->is_ifname[i],



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