From: Jeremy Spewock <jspewock@iol.unh.edu>
To: Nicholas Pratte <npratte@iol.unh.edu>
Cc: probb@iol.unh.edu, dmarx@iol.unh.edu, luca.vizzarro@arm.com,
yoan.picchi@foss.arm.com, Honnappa.Nagarahalli@arm.com,
paul.szczepanek@arm.com, juraj.linkes@pantheon.tech,
dev@dpdk.org
Subject: Re: [PATCH v4 2/2] dts: mac filter test suite refactored for new dts
Date: Fri, 2 Aug 2024 16:25:57 -0400 [thread overview]
Message-ID: <CAAA20USd0ngCh8Bu1BkzMdaZ5CzqEKXwMmD13J8yE0BTjyJCQg@mail.gmail.com> (raw)
In-Reply-To: <20240726164602.25519-1-npratte@iol.unh.edu>
Just a few small comments, otherwise:
Reviewed-by: Jeremy Spewock <jspewock@iol.unh.edu>
On Fri, Jul 26, 2024 at 12:46 PM Nicholas Pratte <npratte@iol.unh.edu> wrote:
>
> The mac address filter test suite, whose test cases are based on old
> DTS's test cases, has been refactored to interface with the new DTS
> framework.
>
> In porting over this test suite into the new framework, some
> adjustments were made, namely in the EAL and TestPMD parameter provided
> before executing the application. While the original test plan was
> referenced, by and large, only for the individual test cases, I'll leave
> the parameters the original test plan was asking for below for the sake
> of discussion:
>
> --burst=1 --rxpt=0 --rxht=0 --rxwt=0 --txpt=36 --txht=0 --txwt=0
> --txfreet=32 --rxfreet=64 --mbcache=250 --portmask=0x3
>
> depends-on: patch-142691 ("dts: add send_packets to test suites and
> rework packet addressing")
> depends-on: patch-142696 ("dts: add VLAN methods to testpmd shell")
>
> Bugzilla ID: 1454
> Signed-off-by: Nicholas Pratte <npratte@iol.unh.edu>
>
> ---
<snip>
> +
> + def send_packet_and_verify(
> + self,
> + mac_address: str,
> + add_vlan: bool = False,
> + should_receive: bool = True,
> + ) -> None:
> + """Generate, send, and verify a packet based on specified parameters.
> +
> + Test cases within this suite utilize this method to create, send, and verify
> + packets based on criteria relating to the packet's destination mac address,
> + vlan tag, and whether or not the packet should be received or not. Packets
> + are verified using an inserted payload. Assuming the test case expects to
> + receive a specified packet, if the list of received packets contains this
> + payload within any of its packets, the test case passes. Alternatively, if
> + the designed packet should not be received, and the packet payload is not,
I think there is an extra comma here, but we probably should remove
the "not," all together since the test case really fails here if it is
received.
> + received, then the test case fails. Each call with this method sends exactly
> + one packet.
> +
> + Args:
> + mac_address: The destination mac address of the packet being sent.
> + add_vlan: If :data:'True', add a vlan tag to the packet being sent. The
> + vlan tag will be :data:'2' if the packet should be received and
> + :data:'1' if the packet should not be received but requires a vlan tag.
> + should_receive: If :data:'True', assert whether or not the sent packet
> + has been received. If :data:'False', assert that the send packet was not
> + received. :data:'True' by default
> + """
> + if add_vlan:
> + packet = Ether() / Dot1Q(vlan=2 if should_receive else 1) / IP() / Raw(load="X" * 22)
> + else:
> + packet = Ether() / IP() / Raw(load="X" * 22)
> + packet.dst = mac_address
> + received_packets = [
> + packets
> + for packets in self.send_packet_and_capture(packet)
> + if hasattr(packets, "load") and "X" * 22 in str(packets.load)
> + ]
> + if should_receive:
> + self.verify(len(received_packets) == 1, "Expected packet not received")
> + else:
> + self.verify(len(received_packets) == 0, "Expected packet received")
> +
> + def test_add_remove_mac_addresses(self) -> None:
> + """Assess basic mac addressing filtering functionalities.
> +
> + This test case validates for proper behavior of mac address filtering with both
> + a port's default, burned-in mac address, as well as additional mac addresses
> + added to the PMD. Packets should either be received or not received depending on
> + the properties applied to the PMD at any given time.
> +
> + Test:
> + Start TestPMD with promiscuous mode.
> + Send a packet with the port's default mac address. (Should receive)
> + Send a packet with fake mac address. (Should not receive)
> + Add fake mac address to the PMD's address pool.
> + Send a packet with the fake mac address to the PMD. (Should receive)
> + Remove the fake mac address from the PMD's address pool.
> + Sent a packet with the fake mac address to the PMD. (Should not receive)
Typo: sent should be send.
> + """
> + with TestPmdShell(self.sut_node) as testpmd:
> + testpmd.set_promisc(0, on=False)
> + testpmd.start()
> + mac_address = self._sut_port_ingress.mac_address
> +
> + # Send a packet with NIC default mac address
> + self.send_packet_and_verify(mac_address=mac_address, should_receive=True)
> + # Send a packet with different mac address
> + fake_address = "00:00:00:00:00:01"
> + self.send_packet_and_verify(mac_address=fake_address, should_receive=False)
> +
> + # Add mac address to pool and rerun tests
> + testpmd.set_mac_addr(0, mac_address=fake_address, add=True)
> + self.send_packet_and_verify(mac_address=fake_address, should_receive=True)
> + testpmd.set_mac_addr(0, mac_address=fake_address, add=False)
> + self.send_packet_and_verify(mac_address=fake_address, should_receive=False)
> +<snip>
> 2.44.0
>
next prev parent reply other threads:[~2024-08-02 20:26 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-02 19:24 [PATCH v2 0/3] Mac Filter Port to New DTS Nicholas Pratte
2024-07-02 19:24 ` [PATCH v2 1/3] dts: add boolean to adjust addresses Nicholas Pratte
2024-07-11 19:31 ` Jeremy Spewock
2024-07-17 17:19 ` Nicholas Pratte
2024-07-19 15:37 ` Jeremy Spewock
2024-07-22 13:09 ` Dean Marx
2024-07-02 19:24 ` [PATCH v2 2/3] dts: add testpmd methods for test suite Nicholas Pratte
2024-07-11 19:33 ` Jeremy Spewock
2024-07-17 19:57 ` Nicholas Pratte
2024-07-02 19:24 ` [PATCH v2 3/3] dts: mac filter test suite refactored for new dts Nicholas Pratte
2024-07-11 19:34 ` Jeremy Spewock
2024-07-18 19:05 ` [PATCH v3 0/3] Mac Filter Port to New DTS Nicholas Pratte
2024-07-18 19:05 ` [PATCH v3 1/3] dts: add boolean to adjust addresses Nicholas Pratte
2024-07-18 19:05 ` [PATCH v3 2/3] dts: add methods for setting mac and multicast addresses Nicholas Pratte
2024-07-19 15:37 ` Jeremy Spewock
2024-07-22 13:08 ` Dean Marx
2024-07-18 19:40 ` [PATCH v3 3/3] dts: mac filter test suite refactored for new dts Nicholas Pratte
2024-07-19 15:38 ` Jeremy Spewock
2024-07-22 13:08 ` Dean Marx
2024-07-26 16:39 ` [PATCH v4 0/2] Mac Filter Port to New DTS Nicholas Pratte
2024-07-26 16:45 ` [PATCH v4 1/2] dts: add methods for setting mac and multicast addresses Nicholas Pratte
2024-08-02 20:26 ` Jeremy Spewock
2024-08-12 18:58 ` Dean Marx
2024-09-09 18:29 ` Dean Marx
2024-07-26 16:46 ` [PATCH v4 2/2] dts: mac filter test suite refactored for new dts Nicholas Pratte
2024-08-02 20:25 ` Jeremy Spewock [this message]
2024-08-02 20:27 ` Jeremy Spewock
2024-08-12 18:47 ` Dean Marx
2024-09-04 21:14 ` Dean Marx
2024-09-05 19:11 ` Nicholas Pratte
2024-09-09 18:28 ` Dean Marx
2024-07-26 16:39 ` [PATCH v4 1/2] dts: add methods for setting mac and multicast addresses Nicholas Pratte
2024-08-02 20:02 ` Jeremy Spewock
2024-07-26 16:39 ` [PATCH v4 2/2] dts: mac filter test suite refactored for new dts Nicholas Pratte
2024-08-02 20:02 ` Jeremy Spewock
2024-09-12 19:00 ` [PATCH v5 0/2] Mac Filter Port to New DTS Nicholas Pratte
2024-09-12 19:00 ` [PATCH v5 1/2] dts: add methods for setting mac and multicast addresses Nicholas Pratte
2024-09-12 19:00 ` [PATCH v5 2/2] dts: mac filter test suite refactored for new dts Nicholas Pratte
2024-10-08 20:45 ` [PATCH v6 0/2] Mac Filter Port to New DTS Nicholas Pratte
2024-10-08 20:45 ` [PATCH v6 1/2] dts: add methods for setting mac and multicast addresses Nicholas Pratte
2024-10-09 22:54 ` Patrick Robb
2024-10-09 22:59 ` Patrick Robb
2024-10-08 20:45 ` [PATCH v6 2/2] dts: mac filter test suite refactored for new dts Nicholas Pratte
2024-10-09 22:43 ` Patrick Robb
2024-10-09 22:55 ` [PATCH v6 0/2] Mac Filter Port to New DTS Patrick Robb
2024-10-10 19:21 ` [PATCH v7 0/2] dts: mac filter port to new dts Nicholas Pratte
2024-10-10 19:21 ` [PATCH v7 1/2] dts: add methods for setting mac and multicast addresses Nicholas Pratte
2024-10-10 19:21 ` [PATCH v7 2/2] dts: mac filter test suite refactored for new dts Nicholas Pratte
2024-10-10 20:11 ` [PATCH v8 0/2] dts: mac filter port to " Nicholas Pratte
2024-10-10 20:11 ` [PATCH v8 1/2] dts: add methods for setting mac and multicast addresses Nicholas Pratte
2024-10-10 20:11 ` [PATCH v8 2/2] dts: mac filter test suite refactored for new dts Nicholas Pratte
2024-10-16 17:13 ` [PATCH v9 0/3] dts: mac filter port to " Nicholas Pratte
2024-10-16 17:13 ` [PATCH v9 1/3] dts: add methods for setting mac and multicast addresses Nicholas Pratte
2024-11-14 23:11 ` Patrick Robb
2024-10-16 17:13 ` [PATCH v9 2/3] dts: add capability check for multicast filtering Nicholas Pratte
2024-11-14 23:10 ` Patrick Robb
2024-10-16 17:13 ` [PATCH v9 3/3] dts: mac filter test suite refactored for new dts Nicholas Pratte
2024-11-14 23:10 ` Patrick Robb
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAAA20USd0ngCh8Bu1BkzMdaZ5CzqEKXwMmD13J8yE0BTjyJCQg@mail.gmail.com \
--to=jspewock@iol.unh.edu \
--cc=Honnappa.Nagarahalli@arm.com \
--cc=dev@dpdk.org \
--cc=dmarx@iol.unh.edu \
--cc=juraj.linkes@pantheon.tech \
--cc=luca.vizzarro@arm.com \
--cc=npratte@iol.unh.edu \
--cc=paul.szczepanek@arm.com \
--cc=probb@iol.unh.edu \
--cc=yoan.picchi@foss.arm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).