From nobody Tue Aug 29 09:02:28 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RZhJh2nDnz4rZ1Z; Tue, 29 Aug 2023 09:02:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RZhJh1yYvz4WpH; Tue, 29 Aug 2023 09:02:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693299748; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rlDV3wN24v7Gi+DYIvzwK4h+S4Ot2HCKWRgcRNll8sE=; b=ySUJYca1oWS/sQmurcGaNqMbBOMhPHhylfnFMUzWGUoeC5ePonHyce2PFy7pyc+b5yE04Q kHa7LwnrnH9ddQrPzBHVWPfs6KRRIKnk1r0PZ/5kOqY5v267EohrcKLVpyO7Dl6Ikg15bM IpV/y5hfColA/SXGW8kGvIu7R/rcdT8f3xIuoc2czLSV7Vj9luoapR8+kFEHnJjuvlm2kP 9R7Bnc2JFNXVFd86hHEZ/HfamwXha3yygvLW9oe9plBs5Z44UP1WpXZpWbLHkI3Nc4s33R rOG8cWga6NNBz9/AnPHI0b95sIyY+rXOD0pAYMZJcLIX8nPaLoKsGidIp5HEQQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1693299748; a=rsa-sha256; cv=none; b=mMYDR6uUKBQBTQgkCBQ0mw9WJepTfkIigVwLfP3pFcs6tt9i+VIKwZYDHVh2HBBJeNLbvj kMvZgVB4zTfxmZaKZTu9c6kWHeHlh1wA0hpYqaJRC2gCuPhTUQoYoaUfHt5PmOWIWsn4Mh dlAU0Xf+azFZvjiRGGc3Gd34xD4oP/8qT9s1GOZoTgIWZGcasCoI69Ji6laaVix/Jt8FqX C/C4QjbbfF2WxqAxHEtuDZvek8t7VNrLGSddjst+CxF73oJamqI7ItEfjdeXceFTquqhD/ athVbZEPYLITa5OG2FjEpVlrVVxwDQKh2EVLphUG9sXmjFeJBMh6xzuq4TYLHA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1693299748; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rlDV3wN24v7Gi+DYIvzwK4h+S4Ot2HCKWRgcRNll8sE=; b=xjjZvv2Jmc6BO7ThJ9HeKyzjRTEwPProqieJyvD93KKC6Z+xC5lQ7K8q2PwSSsmGQKqGTh zgc3pKwSY+YIdmkqEtQDxDVqnvO6ebznvn7zvDFvX0WEd9cBv2BDiyY0pYEVgc8Wgt0hTb LNLtQaKzPIs5QLJZKqtA/dDs19jTMcXSYRm9lHLNCuemep0b4s4YYOnM1gHquUBcG5cCBA v5KiZFvIN4HK8temhye0oWBDYOmrvJilgWKPDOfHnPWyZ/KTR4vQ/C/Qlvn+uGw/I9YWu+ nXUqOjv5HzwOVSSQ7m9cSgsZe4mHVqy3yU8GxNfR/6Pl+rk6RQ6nQMTJ/A2oUg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RZhJh11B1zlTn; Tue, 29 Aug 2023 09:02:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 37T92SFA026551; Tue, 29 Aug 2023 09:02:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 37T92S7T026548; Tue, 29 Aug 2023 09:02:28 GMT (envelope-from git) Date: Tue, 29 Aug 2023 09:02:28 GMT Message-Id: <202308290902.37T92S7T026548@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 2e8edbc285cf - main - pf: Remove DIOCCLRSTATES and DIOCKILLSTATES List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2e8edbc285cf1baff3f177c4bfc8c3564d394dad Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=2e8edbc285cf1baff3f177c4bfc8c3564d394dad commit 2e8edbc285cf1baff3f177c4bfc8c3564d394dad Author: Kristof Provost AuthorDate: 2023-08-28 13:30:50 +0000 Commit: Kristof Provost CommitDate: 2023-08-29 09:01:51 +0000 pf: Remove DIOCCLRSTATES and DIOCKILLSTATES These now have nvlist based alternatives, so remove them. Reviewed by: mjg, Pau Amma (man page) MFC after: never Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D30056 --- share/man/man4/pf.4 | 45 +++++++++++++++++++++++------------------- sys/net/pfvar.h | 2 -- sys/netpfil/pf/pf_ioctl.c | 50 ----------------------------------------------- 3 files changed, 25 insertions(+), 72 deletions(-) diff --git a/share/man/man4/pf.4 b/share/man/man4/pf.4 index 4055c66fbbce..0f7bde1031cb 100644 --- a/share/man/man4/pf.4 +++ b/share/man/man4/pf.4 @@ -26,7 +26,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd July 12, 2023 +.Dd August 28, 2023 .Dt PF 4 .Os .Sh NAME @@ -338,35 +338,40 @@ and fields of the .Va state nvlist from the state table. -.It Dv DIOCKILLSTATES Fa "struct pfioc_state_kill *psk" +.It Dv DIOCKILLSTATESNV Fa "struct pfioc_nv nv" Remove matching entries from the state table. This ioctl returns the number of killed states in -.Va psk_killed . +.Va "killed" . .Bd -literal -struct pfioc_state_kill { - struct pf_state_cmp psk_pfcmp; - sa_family_t psk_af; - int psk_proto; - struct pf_rule_addr psk_src; - struct pf_rule_addr psk_dst; - char psk_ifname[IFNAMSIZ]; - char psk_label[PF_RULE_LABEL_SIZE]; - u_int psk_killed; +nvlist pf_state_cmp { + number id; + number creatorid; + number direction; +}; + +nvlist pf_kill { + nvlist pf_state_cmp cmp; + number af; + number proto; + nvlist pf_rule_addr src; + nvlist pf_rule_addr dst; + string ifname[IFNAMSIZ]; + string label[PF_RULE_LABEL_SIZE]; }; .Ed -.It Dv DIOCCLRSTATES Fa "struct pfioc_state_kill *psk" +.It Dv DIOCCLRSTATESNV Fa "struct pfioc_nv nv" Clear all states. It works like -.Dv DIOCKILLSTATES , +.Dv DIOCKILLSTATESNV , but ignores the -.Va psk_af , -.Va psk_proto , -.Va psk_src , +.Va af , +.Va proto , +.Va src , and -.Va psk_dst +.Va dst fields of the -.Vt pfioc_state_kill -structure. +.Vt pf_kill +nvlist. .It Dv DIOCSETSTATUSIF Fa "struct pfioc_if *pi" Specify the interface for which statistics are accumulated. .Bd -literal diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index f9cb45f696d3..d21ef1517bb6 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -1924,7 +1924,6 @@ struct pfioc_iface { #define DIOCGETRULE _IOWR('D', 7, struct pfioc_rule) #define DIOCGETRULENV _IOWR('D', 7, struct pfioc_nv) /* XXX cut 8 - 17 */ -#define DIOCCLRSTATES _IOWR('D', 18, struct pfioc_state_kill) #define DIOCCLRSTATESNV _IOWR('D', 18, struct pfioc_nv) #define DIOCGETSTATE _IOWR('D', 19, struct pfioc_state) #define DIOCGETSTATENV _IOWR('D', 19, struct pfioc_nv) @@ -1943,7 +1942,6 @@ struct pfioc_iface { #define DIOCCLRRULECTRS _IO ('D', 38) #define DIOCGETLIMIT _IOWR('D', 39, struct pfioc_limit) #define DIOCSETLIMIT _IOWR('D', 40, struct pfioc_limit) -#define DIOCKILLSTATES _IOWR('D', 41, struct pfioc_state_kill) #define DIOCKILLSTATESNV _IOWR('D', 41, struct pfioc_nv) #define DIOCSTARTALTQ _IO ('D', 42) #define DIOCSTOPALTQ _IO ('D', 43) diff --git a/sys/netpfil/pf/pf_ioctl.c b/sys/netpfil/pf/pf_ioctl.c index 65bab7195d46..e5601710bce1 100644 --- a/sys/netpfil/pf/pf_ioctl.c +++ b/sys/netpfil/pf/pf_ioctl.c @@ -2124,31 +2124,6 @@ pf_rule_to_krule(const struct pf_rule *rule, struct pf_krule *krule) return (0); } -static int -pf_state_kill_to_kstate_kill(const struct pfioc_state_kill *psk, - struct pf_kstate_kill *kill) -{ - int ret; - - bzero(kill, sizeof(*kill)); - - bcopy(&psk->psk_pfcmp, &kill->psk_pfcmp, sizeof(kill->psk_pfcmp)); - kill->psk_af = psk->psk_af; - kill->psk_proto = psk->psk_proto; - bcopy(&psk->psk_src, &kill->psk_src, sizeof(kill->psk_src)); - bcopy(&psk->psk_dst, &kill->psk_dst, sizeof(kill->psk_dst)); - ret = pf_user_strcpy(kill->psk_ifname, psk->psk_ifname, - sizeof(kill->psk_ifname)); - if (ret != 0) - return (ret); - ret = pf_user_strcpy(kill->psk_label, psk->psk_label, - sizeof(kill->psk_label)); - if (ret != 0) - return (ret); - - return (0); -} - static int pf_ioctl_addrule(struct pf_krule *rule, uint32_t ticket, uint32_t pool_ticket, const char *anchor, const char *anchor_call, @@ -3694,36 +3669,11 @@ DIOCCHANGERULE_error: break; } - case DIOCCLRSTATES: { - struct pfioc_state_kill *psk = (struct pfioc_state_kill *)addr; - struct pf_kstate_kill kill; - - error = pf_state_kill_to_kstate_kill(psk, &kill); - if (error) - break; - - psk->psk_killed = pf_clear_states(&kill); - break; - } - case DIOCCLRSTATESNV: { error = pf_clearstates_nv((struct pfioc_nv *)addr); break; } - case DIOCKILLSTATES: { - struct pfioc_state_kill *psk = (struct pfioc_state_kill *)addr; - struct pf_kstate_kill kill; - - error = pf_state_kill_to_kstate_kill(psk, &kill); - if (error) - break; - - psk->psk_killed = 0; - pf_killstates(&kill, &psk->psk_killed); - break; - } - case DIOCKILLSTATESNV: { error = pf_killstates_nv((struct pfioc_nv *)addr); break;