Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 19 Oct 2023 13:34:06 -0700
From:      Gleb Smirnoff <glebius@freebsd.org>
To:        Kristof Provost <kp@freebsd.org>
Cc:        Igor Ostapenko <pm@igoro.pro>, src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org
Subject:   Re: git: fabf705f4b5a - main - pf: fix pf divert-to loop
Message-ID:  <ZTGSvkMAAjX7zK1y@FreeBSD.org>
In-Reply-To: <86D6E74C-3062-4718-816E-07CBA4F2903F@FreeBSD.org>
References:  <202310191237.39JCbdXp094554@gitrepo.freebsd.org> <ZTFV74-C4amIm0ru@FreeBSD.org> <86D6E74C-3062-4718-816E-07CBA4F2903F@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Oct 19, 2023 at 10:03:02PM +0200, Kristof Provost wrote:
K> Something like this?
...
K> 	--- a/sys/netinet/ip_var.h
K> 	+++ b/sys/netinet/ip_var.h
K> 	@@ -328,11 +328,17 @@ extern int        (*ip_dn_ctl_ptr)(struct sockopt
K> *);
K> 	 extern int     (*ip_dn_io_ptr)(struct mbuf **, struct ip_fw_args *);
K> 
K> 	 /* pf specific mtag for divert(4) support */
K> 	-enum { PF_DIVERT_MTAG_DIR_IN=1, PF_DIVERT_MTAG_DIR_OUT=2 };
K> 	+__enum_uint8_decl(pf_mtag_dir) {
K> 	+       PF_DIVERT_MTAG_DIR_IN = 1,
K> 	+       PF_DIVERT_MTAG_DIR_OUT = 2
K> 	+};
K> 	 struct pf_divert_mtag {
K> 	        uint16_t idir;  // initial pkt direction
K> 	-       uint16_t ndir;  // a) divert(4) port upon initial diversion
K> 	-                       // b) new direction upon pkt re-enter
K> 	+       union {
K> 	+               __enum_uint8(pf_mtag_dir) ndir; // a) divert(4) port upon
K> initial diversion
K> 	+                               // b) new direction upon pkt re-enter
K> 	+               uint16_t port;  /* Initial divert(4) port */
K> 	+       };
K> 	 };

idir should also be __enum_uint8(pf_mtag_dir) or a typedefed type for brevity.

-- 
Gleb Smirnoff



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