From nobody Mon Feb 14 23:04:22 2022 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 183B919C8FBC; Mon, 14 Feb 2022 23:04:23 +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 4JyKY26RQHz3H2Z; Mon, 14 Feb 2022 23:04:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1644879863; 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=ySeELnchvwWoci/oocHE7kSBDIQO1enGdqCF61i6qnc=; b=IBLBbFoRkH3sbgfrn9vy16Z60tEJ8ul+o5CSrRm2ob5YQYNYxt3Bcu/deEMeTVtMGgWjoC fBaO59/8Ft5h1lsk2HcQBmHLZdxsX3G9gKl0HH43b/16HG/AOvc3PpMeBSDXrescGKXW/8 QKvptJW/L+kUisL63rcMcslfmdce/8m3h9g5G9YJz/buIzAWVwGOhNG9/owdXYJGJoWu2o nMST7wyG0EIF/Fakc+toC4Xdi9DJnUvVeMCuGWxUFqkgCqLlcDvSDlUUxz9Y22TB6SP148 2JRPEvYaK8pGLFtn4c5m4poykJBCDA+/IenPphbE3hBrZvOlgEPyrX6nZtwyJQ== 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 A1D3917564; Mon, 14 Feb 2022 23:04:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 21EN4MsB005702; Mon, 14 Feb 2022 23:04:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 21EN4MbX005701; Mon, 14 Feb 2022 23:04:22 GMT (envelope-from git) Date: Mon, 14 Feb 2022 23:04:22 GMT Message-Id: <202202142304.21EN4MbX005701@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: 24360d83753a - main - pf tests: Basic 'set prio' test 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: 24360d83753a085335e66b488a159161a96d5692 Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1644879863; 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=ySeELnchvwWoci/oocHE7kSBDIQO1enGdqCF61i6qnc=; b=Ah2llDvgZW300+4HAjvqeFMfrtUdwgWF8ke5sQL6WhS4KiK4nmzaJ6cTgW5bpEpildqyCW 8eC3q3kJFQyoljutgjBGbap43uvdvVMYcgj4/zIosnIN1qYXy56Wr4AHgWDQigBCrFT0MF P1yTZCA7BOZOvzPoiJDIHsghfZnDTEZjOHgXhJK69g6+Ph65xa9QyOWyedU27DgSyYF9Lc O73PlrwgfDfys+o4AdjvzoYOtRVA2hIBClQWIYt/mX7bE8a3NowwcnpE4jcXmkYevsGKUw vdAMGeEBVCEFN1IOAfFSEivgJNcz2NquhMs6qqHkDZiUZTKk63p9EbPjQFFycQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1644879863; a=rsa-sha256; cv=none; b=uPAhc7uoBW7rDBbzyxs29ulLh+xt5SOXEV+7aFf/dr/WoXTB601LJ34cOveipLt/ROHyGP oEbVMOijXy6TvydmPQPK4Sq7hF/BFoymMD1wfjjmbcnU2qJIrTbtkZ9HKjvbmr/l5RHRAM BjwTyChrnqyV7VLZLOIiDnrgg+nfQPoGykYis8FXCaaYCXikJFjZyIC9XGkAHFBpU8sdcn BdsG2cZVVuAVlMTNRFQ1+mqLeaF/ar1lIvMt7jC+T01RBOYcwKDuUGRDGI66jND+2lyflB RZLjoYaun+X8kKyrSgBrLiMvQ4EIf6n6McKemCFIYHSNCWcc8Y85KZgP2rnmUQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=24360d83753a085335e66b488a159161a96d5692 commit 24360d83753a085335e66b488a159161a96d5692 Author: Kristof Provost AuthorDate: 2022-02-14 17:44:15 +0000 Commit: Kristof Provost CommitDate: 2022-02-14 21:51:10 +0000 pf tests: Basic 'set prio' test The ability to set VLAN PCP from pf was introduced in 3e248e0fb4, but never had a test added. Create a basic setup to set the PCP to an arbitrary value and use tcpdump to check it's actually set. MFC after: 1 week --- tests/sys/netpfil/pf/Makefile | 1 + tests/sys/netpfil/pf/prio.sh | 73 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 74 insertions(+) diff --git a/tests/sys/netpfil/pf/Makefile b/tests/sys/netpfil/pf/Makefile index a5d3e30ca22e..e3079c7c139d 100644 --- a/tests/sys/netpfil/pf/Makefile +++ b/tests/sys/netpfil/pf/Makefile @@ -20,6 +20,7 @@ ATF_TESTS_SH+= altq \ nat \ pass_block \ pfsync \ + prio \ proxy \ rdr \ ridentifier \ diff --git a/tests/sys/netpfil/pf/prio.sh b/tests/sys/netpfil/pf/prio.sh new file mode 100644 index 000000000000..bfd09a278784 --- /dev/null +++ b/tests/sys/netpfil/pf/prio.sh @@ -0,0 +1,73 @@ +# $FreeBSD$ +# +# SPDX-License-Identifier: BSD-2-Clause-FreeBSD +# +# Copyright (c) 2022 Kristof Provost +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. + +. $(atf_get_srcdir)/utils.subr + +atf_test_case "set_prio" "cleanup" +set_prio_head() +{ + atf_set descr 'Test setting VLAN PCP' + atf_set require.user root +} + +set_prio_body() +{ + pft_init + + epair=$(vnet_mkepair) + ifconfig ${epair}a.42 create + ifconfig ${epair}a up + ifconfig ${epair}a.42 192.0.2.1/24 up + ifconfig ${epair}a.42 vlandev ${epair}a vlan 42 + echo ${epair}a.42 >> created_interfaces.lst + + vnet_mkjail alcatraz ${epair}b + jexec alcatraz ifconfig ${epair}b.42 create + jexec alcatraz ifconfig ${epair}b up + jexec alcatraz ifconfig ${epair}b.42 192.0.2.2/24 up + jexec alcatraz ifconfig ${epair}b.42 vlandev ${epair}b vlan 42 + + jexec alcatraz sysctl net.link.vlan.mtag_pcp=1 + + jexec alcatraz pfctl -e + pft_set_rules alcatraz \ + "pass out set prio 4" + + jexec alcatraz ping 192.0.2.1 & + + atf_check -e ignore -o match:'.*vlan 42, p 4.*' tcpdump -n -i ${epair}a -e -c 4 +} + +set_prio_cleanup() +{ + pft_cleanup +} + +atf_init_test_cases() +{ + atf_add_test_case "set_prio" +}