List comments

GET /api/patches/74505/comments/
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

[
    {
        "id": 116566,
        "web_url": "https://patches.dpdk.org/comment/116566/",
        "msgid": "<8CE3E05A3F976642AAB0F4675D0AD20E0BC84088@SHSMSX101.ccr.corp.intel.com>",
        "date": "2020-07-24T02:34:53",
        "subject": "Re: [dts] [PATCH] mac_filter: Add multicast filtering test case",
        "submitter": {
            "id": 1098,
            "url": "https://patches.dpdk.org/api/people/1098/",
            "name": "Lijuan Tu",
            "email": "lijuan.tu@intel.com"
        },
        "content": "Applied with comment changed.\n\n> -----Original Message-----\n> From: dts <dts-bounces@dpdk.org> On Behalf Of Owen Hilyard\n> Sent: 2020年7月20日 22:38\n> To: dts@dpdk.org\n> Cc: Zhang, Qi Z <qi.z.zhang@intel.com>; matan@mellanox.com;\n> stephen@networkplumber.org; jerinj@marvell.com;\n> suanmingm@mellanox.com; ohilyard@iol.unh.edu; thomas@monjalon.net;\n> lylavoie@iol.unh.edu\n> Subject: [dts] [PATCH] mac_filter: Add multicast filtering test case\n> \n> Sorry about sending this twice, I noticed after todays meeting that this was\n> caught in the moderator queue and I want to get it out to the mailing list at\n> large asap.\n> \n> add multicast filtering test case\n> add multicast test case test plan\n> \n> Signed-off-by: Owen Hilyard <ohilyard@iol.unh.edu>\n> ---\n>  test_plans/mac_filter_test_plan.rst | 27 ++++++++++++++++++++\n>  tests/TestSuite_mac_filter.py       | 39 ++++++++++++++++++++++++++---\n>  2 files changed, 62 insertions(+), 4 deletions(-)\n> \n> diff --git a/test_plans/mac_filter_test_plan.rst\n> b/test_plans/mac_filter_test_plan.rst\n> index 1335e9f..e8a4f66 100644\n> --- a/test_plans/mac_filter_test_plan.rst\n> +++ b/test_plans/mac_filter_test_plan.rst\n> @@ -172,3 +172,30 @@ Add one more different address::\n>     testpmd> mac_addr add 0 <A+n+1>\n> \n>  Verify that the response is \"No space left on device\" (-ENOSPC)\n> +\n> +Test Case: Multicast Filter\n> +===========================\n> +\n> +Initialize first port without ``promiscuous mode``::\n> +\n> +  testpmd> set promisc 0 off\n> +\n> +\n> +Add the multicast MAC address to the multicast filter::\n> +\n> +   testpmd> mcast_addr add 0 01:00:5E:00:00:00\n> +\n> +Send a packet with multicast destination MAC address to port 0::\n> +\n> +   port 0/queue 0: received 1 packets\n> +     src=52:00:00:00:00:00 - dst=01:00:5E:00:00:00 - type=0x0800 - length=60 -\n> nb_segs=1 - hw    ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_UDP  - sw\n> ptype: L2_ETHER L3_IPV4 L4_UDP  - l2_len=14 - l3_len=20 - l4_len=8 - Receive\n> queue=0x0\n> +     ol_flags: PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD\n> + PKT_RX_OUTER_L4_CKSUM_UNKNOWN\n> +\n> +\n> +Remove the multicast MAC address from the multicast filter::\n> +\n> +   testpmd> mcast_addr remove 0 01:00:5E:00:00:00\n> +\n> +Send a packet with multicast destination MAC address to port 0\n> +\n> +Verify that the packet was not received (Check for \"received\" in the output).\n> There will be no output if the nic responds properly.\n> \\ No newline at end of file\n> diff --git a/tests/TestSuite_mac_filter.py b/tests/TestSuite_mac_filter.py index\n> 9912d23..b762c91 100644\n> --- a/tests/TestSuite_mac_filter.py\n> +++ b/tests/TestSuite_mac_filter.py\n> @@ -82,14 +82,18 @@ class TestMacFilter(TestCase):\n>          \"\"\"\n>          pass\n> \n> -    def whitelist_send_packet(self, portid, destMac=\"00:11:22:33:44:55\"):\n> +    def whitelist_send_packet(self, portid, destMac=\"00:11:22:33:44:55\",\n> count=-1):\n>          \"\"\"\n>          Send 1 packet to portid.\n>          \"\"\"\n> +        # You can't have an optional parameter use a class attribute as it's default\n> value\n> +        if count == -1:\n> +            count = self.frames_to_send\n> +\n>          itf = self.tester.get_interface(self.tester.get_local_port(portid))\n>          pkt = Packet(pkt_type='UDP')\n>          pkt.config_layer('ether', {'src': '52:00:00:00:00:00', 'dst': destMac})\n> -        pkt.send_pkt(self.tester, tx_port=itf, count=4)\n> +        pkt.send_pkt(self.tester, tx_port=itf, count=count)\n> \n>      def test_add_remove_mac_address(self):\n>          \"\"\"\n> @@ -119,7 +123,7 @@ class TestMacFilter(TestCase):\n>          out = self.dut.get_session_output()\n>          # check the packet DO NOT increase\n>          self.verify(\"received\" not in out,\n> -                    \"Packet has been received on a new MAC address that has not been\n> added yet\")\n> +                    \"Packet has been received on a new MAC address that\n> + has been removed from the port\")\n> \n>          # add the different MAC address\n>          self.dut.send_expect(\"mac_addr add %d\" % portid + \" %s\" %\n> fake_mac_addr, \"testpmd>\") @@ -128,7 +132,7 @@ class\n> TestMacFilter(TestCase):\n>          out = self.dut.get_session_output()\n>          cur_rxpkt = utils.regexp(out, \"received ([0-9]+) packets\")\n>          # check the packet increase\n> -        self.verify(int(cur_rxpkt)*self.frames_to_send == self.frames_to_send,\n> +        self.verify(int(cur_rxpkt) * self.frames_to_send ==\n> + self.frames_to_send,\n>                      \"Packet has not been received on a new MAC address that has been\n> added to the port\")\n> \n>          # remove the fake MAC address\n> @@ -176,6 +180,33 @@ class TestMacFilter(TestCase):\n> \n>          self.verify(\"No space left on device\" in out, \"added 1 address more than\n> max MAC addresses\")\n> \n> +    def test_multicast_filter(self):\n> +        \"\"\"\n> +        Add mac address and check packet can received\n> +        Remove mac address and check packet can't received\n> +        \"\"\"\n> +        # initialise first port without promiscuous mode\n> +        mcast_addr = \"01:00:5E:00:00:00\"\n> +        portid = self.dutPorts[0]\n> +        self.dut.send_expect(f\"set promisc {portid:d} off\", \"testpmd> \")\n> +        self.dut.send_expect(\"clear port stats all\", \"testpmd> \")\n> +\n> +        self.dut.send_expect(f\"mcast_addr add {portid:d} {mcast_addr}\",\n> \"testpmd>\")\n> +        self.whitelist_send_packet(portid, mcast_addr, count=1)\n> +        time.sleep(1)\n> +        out = self.dut.get_session_output()\n> +        self.verify(\"received\" in out,\n> +                    \"Packet has not been received when it should have\n> + on a broadcast address\")\n> +\n> +        self.dut.send_expect(f\"mcast_addr remove {portid:d} {mcast_addr}\",\n> \"testpmd>\")\n> +        self.whitelist_send_packet(portid, mcast_addr, count=1)\n> +        time.sleep(1)\n> +        out = self.dut.get_session_output()\n> +        self.verify(\"received\" not in out,\n> +                    \"Packet has been received when it should have\n> + ignored the broadcast\")\n> +\n> +        self.dut.send_expect(\"stop\", \"testpmd> \")\n> +\n>      def tear_down(self):\n>          \"\"\"\n>          Run after each test case.\n> --\n> 2.25.1",
        "headers": {
            "List-Subscribe": "<https://mails.dpdk.org/listinfo/dts>,\n <mailto:dts-request@dpdk.org?subject=subscribe>",
            "Accept-Language": "zh-CN, en-US",
            "X-IronPort-AV": [
                "E=McAfee;i=\"6000,8403,9691\"; a=\"130725144\"",
                "E=Sophos;i=\"5.75,389,1589266800\"; d=\"scan'208\";a=\"130725144\"",
                "E=Sophos;i=\"5.75,389,1589266800\"; d=\"scan'208\";a=\"284792524\""
            ],
            "IronPort-SDR": [
                "\n 7aR8JNSyubgPSl8j7hHY0sECfaddr/YwNQJzkF5Z2JGQAEHlNdlk75mDoO9NHqj7ph8WfbJdOT\n nMdmV1F90RMA==",
                "\n GTC/S8OMG4CGeCQWfPdzPvpaJ7O/V8qqOudm8a+cn7GaDYI37lE2I15ryzlKZEcy1/oLwW1p8S\n JX0oTSALXVHA=="
            ],
            "Thread-Index": "AQHWW6mHP5/3G1P1806k1lcuDQbuk6kQCU+AgAYFLfA=",
            "CC": "\"Zhang, Qi Z\" <qi.z.zhang@intel.com>, \"matan@mellanox.com\"\n <matan@mellanox.com>, \"stephen@networkplumber.org\"\n <stephen@networkplumber.org>, \"jerinj@marvell.com\" <jerinj@marvell.com>,\n \"suanmingm@mellanox.com\" <suanmingm@mellanox.com>, \"thomas@monjalon.net\"\n <thomas@monjalon.net>, \"lylavoie@iol.unh.edu\" <lylavoie@iol.unh.edu>",
            "X-Amp-File-Uploaded": "False",
            "Precedence": "list",
            "Thread-Topic": "[dts] [PATCH] mac_filter: Add multicast filtering test case",
            "List-Id": "test suite reviews and discussions <dts.dpdk.org>",
            "List-Post": "<mailto:dts@dpdk.org>",
            "X-Original-To": "patchwork@inbox.dpdk.org",
            "Sender": "\"dts\" <dts-bounces@dpdk.org>",
            "X-Mailman-Version": "2.1.15",
            "MIME-Version": "1.0",
            "dlp-version": "11.2.0.6",
            "X-MS-TNEF-Correlator": "",
            "References": "<20200716194237.137641-1-ohilyard@iol.unh.edu>\n <20200720143803.212272-1-ohilyard@iol.unh.edu>",
            "Subject": "Re: [dts] [PATCH] mac_filter: Add multicast filtering test case",
            "Content-Type": "text/plain; charset=\"iso-2022-jp\"",
            "Delivered-To": "patchwork@inbox.dpdk.org",
            "Received": [
                "from dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id DEA02A0518;\n\tFri, 24 Jul 2020 04:35:03 +0200 (CEST)",
                "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id D11E01D609;\n\tFri, 24 Jul 2020 04:35:03 +0200 (CEST)",
                "from mga17.intel.com (mga17.intel.com [192.55.52.151])\n by dpdk.org (Postfix) with ESMTP id 0265F1D608\n for <dts@dpdk.org>; Fri, 24 Jul 2020 04:35:01 +0200 (CEST)",
                "from orsmga003.jf.intel.com ([10.7.209.27])\n by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 23 Jul 2020 19:35:00 -0700",
                "from fmsmsx103.amr.corp.intel.com ([10.18.124.201])\n by orsmga003.jf.intel.com with ESMTP; 23 Jul 2020 19:35:00 -0700",
                "from fmsmsx609.amr.corp.intel.com (10.18.126.89) by\n FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS)\n id 14.3.439.0; Thu, 23 Jul 2020 19:35:00 -0700",
                "from fmsmsx609.amr.corp.intel.com (10.18.126.89) by\n fmsmsx609.amr.corp.intel.com (10.18.126.89) with Microsoft SMTP Server\n (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id\n 15.1.1713.5; Thu, 23 Jul 2020 19:34:57 -0700",
                "from shsmsx107.ccr.corp.intel.com (10.239.4.96) by\n fmsmsx609.amr.corp.intel.com (10.18.126.89) with Microsoft SMTP Server\n (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5\n via Frontend Transport; Thu, 23 Jul 2020 19:34:57 -0700",
                "from shsmsx101.ccr.corp.intel.com ([169.254.1.22]) by\n SHSMSX107.ccr.corp.intel.com ([169.254.9.32]) with mapi id 14.03.0439.000;\n Fri, 24 Jul 2020 10:34:54 +0800"
            ],
            "x-originating-ip": "[10.239.127.40]",
            "List-Help": "<mailto:dts-request@dpdk.org?subject=help>",
            "X-Amp-Result": "SKIPPED(no attachment in message)",
            "List-Archive": "<http://mails.dpdk.org/archives/dts/>",
            "X-BeenThere": "dts@dpdk.org",
            "List-Unsubscribe": "<https://mails.dpdk.org/options/dts>,\n <mailto:dts-request@dpdk.org?subject=unsubscribe>",
            "X-ExtLoop1": "1",
            "Message-ID": "\n <8CE3E05A3F976642AAB0F4675D0AD20E0BC84088@SHSMSX101.ccr.corp.intel.com>",
            "Date": "Fri, 24 Jul 2020 02:34:53 +0000",
            "Content-Transfer-Encoding": "quoted-printable",
            "To": "Owen Hilyard <ohilyard@iol.unh.edu>, \"dts@dpdk.org\" <dts@dpdk.org>",
            "X-MS-Has-Attach": "",
            "Errors-To": "dts-bounces@dpdk.org",
            "From": "\"Tu, Lijuan\" <lijuan.tu@intel.com>",
            "dlp-reaction": "no-action",
            "In-Reply-To": "<20200720143803.212272-1-ohilyard@iol.unh.edu>",
            "Return-Path": "<dts-bounces@dpdk.org>",
            "dlp-product": "dlpe-windows",
            "Content-Language": "en-US"
        }
    }
]