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/11/sys/contrib/ipfilter/netinet/fil.c
  stable/11/sys/contrib/ipfilter/netinet/ip_state.c
Directory Properties:
  stable/11/   (props changed)

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

Modified: stable/11/sys/contrib/ipfilter/netinet/fil.c
==============================================================================
--- stable/11/sys/contrib/ipfilter/netinet/fil.c        Sun Aug 25 13:26:06 
2019        (r351478)
+++ stable/11/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/11/sys/contrib/ipfilter/netinet/ip_state.c
==============================================================================
--- stable/11/sys/contrib/ipfilter/netinet/ip_state.c   Sun Aug 25 13:26:06 
2019        (r351478)
+++ stable/11/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],
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to