get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/105156/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 105156,
    "url": "http://patches.dpdk.org/api/patches/105156/?format=api",
    "web_url": "http://patches.dpdk.org/project/dts/patch/20211216165415.18943-1-yanx.xia@intel.com/",
    "project": {
        "id": 3,
        "url": "http://patches.dpdk.org/api/projects/3/?format=api",
        "name": "DTS",
        "link_name": "dts",
        "list_id": "dts.dpdk.org",
        "list_email": "dts@dpdk.org",
        "web_url": "",
        "scm_url": "git://dpdk.org/tools/dts",
        "webscm_url": "http://git.dpdk.org/tools/dts/",
        "list_archive_url": "https://inbox.dpdk.org/dts",
        "list_archive_url_format": "https://inbox.dpdk.org/dts/{}",
        "commit_url_format": ""
    },
    "msgid": "<20211216165415.18943-1-yanx.xia@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dts/20211216165415.18943-1-yanx.xia@intel.com",
    "date": "2021-12-16T16:54:14",
    "name": "[V1,1/2] tests/sriov_kvm: delete test cases",
    "commit_ref": null,
    "pull_url": null,
    "state": "changes-requested",
    "archived": false,
    "hash": "43995d0c49c3ed98a08eb5dd64e0dac6861558b1",
    "submitter": {
        "id": 2034,
        "url": "http://patches.dpdk.org/api/people/2034/?format=api",
        "name": "Yan Xia",
        "email": "yanx.xia@intel.com"
    },
    "delegate": null,
    "mbox": "http://patches.dpdk.org/project/dts/patch/20211216165415.18943-1-yanx.xia@intel.com/mbox/",
    "series": [
        {
            "id": 20951,
            "url": "http://patches.dpdk.org/api/series/20951/?format=api",
            "web_url": "http://patches.dpdk.org/project/dts/list/?series=20951",
            "date": "2021-12-16T16:54:14",
            "name": "[V1,1/2] tests/sriov_kvm: delete test cases",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/20951/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/105156/comments/",
    "check": "pending",
    "checks": "http://patches.dpdk.org/api/patches/105156/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dts-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 86713A00C3;\n\tThu, 16 Dec 2021 09:51:46 +0100 (CET)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 0A89840696;\n\tThu, 16 Dec 2021 09:51:46 +0100 (CET)",
            "from mga05.intel.com (mga05.intel.com [192.55.52.43])\n by mails.dpdk.org (Postfix) with ESMTP id C8D4440143\n for <dts@dpdk.org>; Thu, 16 Dec 2021 09:51:43 +0100 (CET)",
            "from orsmga008.jf.intel.com ([10.7.209.65])\n by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 16 Dec 2021 00:51:25 -0800",
            "from unknown (HELO dpdk.lan) ([10.240.183.77])\n by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 16 Dec 2021 00:51:21 -0800"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple;\n d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n t=1639644704; x=1671180704;\n h=from:to:cc:subject:date:message-id:mime-version:\n content-transfer-encoding;\n bh=x4cnYIaTn03qpyWgg28Ld+dKjs4CEoknc9WG/KK8e/w=;\n b=jgRSYQbR3hA68Ttj2S9GuTJwuGjH4aZ3YEB1ArWmjoApN/4OmMTAL0WA\n qbOPiAJDDiMSPB+VLP13yPzPxIuJ70MNSoXjpf8vYanmp8xH7Ta/c0kv0\n GSSZ2h+PuCOvWLCyErW9vPj6Etd5T8r67F/y/anlUJ9u3S/8I1yUcvV5h\n +aarH0rI9ReMCEIu0NiceWZ8rUXh4Adxn9ZUni4OM/7VSEhWy1F1idv5i\n PRliwGvch8oCgLsCdjsdNNGh6kDKSdEcnxBifQmEuEMjJBradkRT9Ov/o\n sVp3zxdiAdLs0n/nQ5w4SzvUzophizUA1JnvOSLwmmByQWdGySbCOaF+r A==;",
        "X-IronPort-AV": [
            "E=McAfee;i=\"6200,9189,10199\"; a=\"325720897\"",
            "E=Sophos;i=\"5.88,211,1635231600\"; d=\"scan'208\";a=\"325720897\"",
            "E=Sophos;i=\"5.88,211,1635231600\"; d=\"scan'208\";a=\"519161460\""
        ],
        "From": "Yan Xia <yanx.xia@intel.com>",
        "To": "dts@dpdk.org",
        "Cc": "Yan Xia <yanx.xia@intel.com>",
        "Subject": "[dts][PATCH V1 1/2] tests/sriov_kvm: delete test cases",
        "Date": "Thu, 16 Dec 2021 16:54:14 +0000",
        "Message-Id": "<20211216165415.18943-1-yanx.xia@intel.com>",
        "X-Mailer": "git-send-email 2.33.1",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "X-BeenThere": "dts@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "test suite reviews and discussions <dts.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dts>,\n <mailto:dts-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dts/>",
        "List-Post": "<mailto:dts@dpdk.org>",
        "List-Help": "<mailto:dts-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dts>,\n <mailto:dts-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dts-bounces@dpdk.org"
    },
    "content": "delete test cases because dpdk removed related function\ndpdk commit-id: b225783dda ethdev: remove legacy mirroring API\n\nSigned-off-by: Yan Xia <yanx.xia@intel.com>\n---\n tests/TestSuite_sriov_kvm.py | 428 -----------------------------------\n 1 file changed, 428 deletions(-)",
    "diff": "diff --git a/tests/TestSuite_sriov_kvm.py b/tests/TestSuite_sriov_kvm.py\nindex d9f239e3..64247def 100644\n--- a/tests/TestSuite_sriov_kvm.py\n+++ b/tests/TestSuite_sriov_kvm.py\n@@ -438,73 +438,6 @@ class TestSriovKvm(TestCase):\n             if not self.port_mirror_ref[port]:\n                 self.port_mirror_ref.pop(port)\n \n-    def set_port_mirror_rule(self, port, mirror_name, rule_detail):\n-        \"\"\"\n-        Set the mirror rule for specified port.\n-        \"\"\"\n-        port = self.transform_integer(port)\n-\n-        rule_id = self.make_port_new_ruleid(port)\n-\n-        mirror_rule_cmd = \"set port %d mirror-rule %d %s %s\" % \\\n-                          (port, rule_id, mirror_name, rule_detail)\n-        out = self.dut.send_expect(\"%s\" % mirror_rule_cmd, \"testpmd> \")\n-        self.verify('Bad arguments' not in out, \"Set port %d %s failed!\" %\n-                    (port, mirror_name))\n-\n-        self.add_port_ruleid(port, rule_id)\n-        return rule_id\n-\n-    def set_port_pool_mirror(self, port, pool_mirror_rule):\n-        \"\"\"\n-        Set the pool mirror for specified port.\n-        \"\"\"\n-        return self.set_port_mirror_rule(port, 'pool-mirror-up', pool_mirror_rule)\n-\n-    def set_port_vlan_mirror(self, port, vlan_mirror_rule):\n-        \"\"\"\n-        Set the vlan mirror for specified port.\n-        \"\"\"\n-        return self.set_port_mirror_rule(port, 'vlan-mirror', vlan_mirror_rule)\n-\n-    def set_port_uplink_mirror(self, port, uplink_mirror_rule):\n-        \"\"\"\n-        Set the uplink mirror for specified port.\n-        \"\"\"\n-        return self.set_port_mirror_rule(port, 'uplink-mirror', uplink_mirror_rule)\n-\n-    def set_port_downlink_mirror(self, port, downlink_mirror_rule):\n-        \"\"\"\n-        Set the downlink mirror for specified port.\n-        \"\"\"\n-        return self.set_port_mirror_rule(port, 'downlink-mirror', downlink_mirror_rule)\n-\n-    def reset_port_mirror_rule(self, port, rule_id):\n-        \"\"\"\n-        Reset the pool mirror for specified port.\n-        \"\"\"\n-        port = self.transform_integer(port)\n-        rule_id = self.transform_integer(rule_id)\n-\n-        mirror_rule_cmd = \"reset port %d mirror-rule %d\" % (port, rule_id)\n-        out = self.dut.send_expect(\"%s\" % mirror_rule_cmd, \"testpmd> \")\n-        self.verify(\"Bad arguments\" not in out,\n-                    \"Reset port %d mirror rule failed!\")\n-\n-        self.remove_port_ruleid(port, rule_id)\n-\n-    def reset_port_all_mirror_rule(self, port):\n-        \"\"\"\n-        Reset all mirror rules of specified port.\n-        \"\"\"\n-        port = self.transform_integer(port)\n-\n-        if port not in list(self.port_mirror_ref.keys()):\n-            pass\n-        else:\n-            for rule_id in self.port_mirror_ref[port][:]:\n-                self.reset_port_mirror_rule(port, rule_id)\n-\n     def setup_two_vm_common_prerequisite(self, fwd0=\"rxonly\", fwd1=\"mac\"):\n \n         if self.setup_2vm_prerequisite_flag == 1:\n@@ -592,339 +525,6 @@ class TestSriovKvm(TestCase):\n             ret_stats[key] = end_stats[key] - start_stats[key]\n         return ret_stats\n \n-    def test_two_vms_pool_up_mirrors(self):\n-        \"\"\"\n-        Test Case2: Mirror Traffic between 2VMs with Pool up mirroring\n-        \"\"\"\n-        port_id_0 = 0\n-        packet_num = 10\n-\n-        # set Pool up mirror rule\n-        rule_id = self.set_port_pool_mirror(port_id_0, '0x1 dst-pool 1 on')\n-\n-        # get vm1 port stats\n-        vm1_start_stats = self.vm1_testpmd.get_pmd_stats(port_id_0)\n-\n-        # send 10 packets\n-        self.send_packet(\n-            self.vm_dut_0, self.vm0_dut_ports, port_id_0, count=packet_num)\n-\n-        # get vm1 port stats\n-        vm1_end_stats = self.vm1_testpmd.get_pmd_stats(port_id_0)\n-\n-        # verify vm1 receive packets\n-        vm1_ret_stats = self.calculate_stats(vm1_start_stats, vm1_end_stats)\n-        self.verify(vm1_ret_stats['RX-packets'] == packet_num and vm1_ret_stats['TX-packets'] == packet_num,\n-                    \"Pool up mirror failed between VM0 and VM1!\")\n-\n-    def test_two_vms_pool_down_mirrors(self):\n-        \"\"\"\n-        Test Case3: Mirror Traffic between 2VMs with Pool down mirroring\n-        \"\"\"\n-        port_id_0 = 0\n-        mirror_name = \"pool-mirror-down\"\n-        packet_num = 32\n-\n-        # set up common 2VM prerequisites\n-        self.setup_two_vm_common_prerequisite(fwd0=\"mac\", fwd1=\"rxonly\")\n-\n-        # set Pool down mirror rule\n-        rule_id = self.set_port_mirror_rule(port_id_0, mirror_name, '0x1 dst-pool 1 on')\n-\n-        # get vm port stats\n-        vm0_start_stats = self.vm0_testpmd.get_pmd_stats(port_id_0)\n-        vm1_start_stats = self.vm1_testpmd.get_pmd_stats(port_id_0)\n-\n-        # send packets\n-        self.vm0_testpmd.execute_cmd('stop')\n-        self.vm0_testpmd.execute_cmd('start tx_first')\n-\n-        # get vm port stats\n-        vm0_end_stats = self.vm0_testpmd.get_pmd_stats(port_id_0)\n-        vm1_end_stats = self.vm1_testpmd.get_pmd_stats(port_id_0)\n-\n-        # verify vm1 receive packets\n-        vm0_ret_stats = self.calculate_stats(vm0_start_stats, vm0_end_stats)\n-        vm1_ret_stats = self.calculate_stats(vm1_start_stats, vm1_end_stats)\n-\n-        self.verify(vm1_ret_stats['RX-packets'] == vm0_ret_stats['TX-packets'] and vm1_ret_stats['RX-packets'] == packet_num,\n-                    \"Pool down mirror failed between VM0 and VM1!\")\n-\n-    def test_two_vms_uplink_mirror(self):\n-        \"\"\"\n-        Test Case4: Mirror Traffic between 2VMs with Uplink mirroring\n-        \"\"\"\n-        port_id_0 = 0\n-        packet_num = 10\n-\n-        # set uplink mirror rule\n-        rule_id = self.set_port_uplink_mirror(port_id_0, 'dst-pool 1 on')\n-\n-        # get vm1 port stats\n-        vm1_start_stats = self.vm1_testpmd.get_pmd_stats(port_id_0)\n-\n-        # send packets\n-        self.send_packet(\n-            self.vm_dut_0, self.vm0_dut_ports, port_id_0, count=packet_num)\n-\n-        # get vm1 port stats\n-        vm1_end_stats = self.vm1_testpmd.get_pmd_stats(port_id_0)\n-\n-        # verify vm1 receive packets\n-        vm1_ret_stats = self.calculate_stats(vm1_start_stats, vm1_end_stats)\n-\n-        self.verify(vm1_ret_stats['RX-packets'] >= packet_num and vm1_ret_stats['TX-packets'] >= packet_num,\n-                    \"Uplink mirror failed between VM0 and VM1!\")\n-\n-    def test_two_vms_downlink_mirror(self):\n-        \"\"\"\n-        Test Case5: Mirror Traffic between 2VMs with Downlink mirroring\n-        \"\"\"\n-        port_id_0 = 0\n-        packet_num = 32\n-\n-        # set downlink mirror rule\n-        rule_id = self.set_port_downlink_mirror(port_id_0, 'dst-pool 1 on')\n-\n-        # set up common 2VM prerequisites\n-        self.setup_two_vm_common_prerequisite(fwd0=\"mac\", fwd1=\"rxonly\")\n-\n-        # get vms port stats\n-        vm0_start_stats = self.vm0_testpmd.get_pmd_stats(port_id_0)\n-        vm1_start_stats = self.vm1_testpmd.get_pmd_stats(port_id_0)\n-\n-        # send packets\n-        self.vm0_testpmd.execute_cmd('stop')\n-        self.vm0_testpmd.execute_cmd('start tx_first')\n-\n-        # get vms port stats\n-        vm0_end_stats = self.vm0_testpmd.get_pmd_stats(port_id_0)\n-        vm1_end_stats = self.vm1_testpmd.get_pmd_stats(port_id_0)\n-\n-        # verify vm1 receive packets\n-        vm0_ret_stats = self.calculate_stats(vm0_start_stats, vm0_end_stats)\n-        vm1_ret_stats = self.calculate_stats(vm1_start_stats, vm1_end_stats)\n-\n-        self.verify(vm1_ret_stats['RX-packets'] == vm0_ret_stats['TX-packets'] and vm1_ret_stats['RX-packets'] == packet_num,\n-                    \"Downlink mirror failed between VM0 and VM1!\")\n-\n-    def test_two_vms_vlan_mirror(self):\n-        \"\"\"\n-        Test Case6: Mirror Traffic between 2VMs with Vlan mirroring\n-        \"\"\"\n-        port_id_0 = 0\n-        vlan_id = random.randint(1, 4095)\n-        vf_mask = '0x1'\n-        packet_num = 10\n-\n-        # set up common 2VM prerequisites\n-        self.setup_two_vm_common_prerequisite(fwd0=\"mac\", fwd1=\"rxonly\")\n-\n-        # add rx vlan on VF0\n-        self.host_testpmd.execute_cmd('rx_vlan add %d port %d vf %s' % (vlan_id, port_id_0, vf_mask))\n-\n-        # set vlan mirror rule\n-        rule_id = self.set_port_vlan_mirror(port_id_0, '%d dst-pool 1 on' % vlan_id)\n-\n-        # get vm port stats\n-        vm1_start_stats = self.vm1_testpmd.get_pmd_stats(port_id_0)\n-\n-        # send packets\n-        ether_ip = {}\n-        ether_ip['vlan'] = {'vlan': '%d' % vlan_id}\n-        self.send_packet(\n-            self.vm_dut_0,\n-            self.vm0_dut_ports,\n-            port_id_0,\n-            count=packet_num,\n-            **ether_ip)\n-\n-        # get vm port stats\n-        vm1_end_stats = self.vm1_testpmd.get_pmd_stats(port_id_0)\n-\n-        # reset pf vlan\n-        self.host_testpmd.execute_cmd('rx_vlan rm %d port %d vf %s' % (vlan_id, port_id_0, vf_mask))\n-\n-        # verify vm1 receive packets\n-        vm1_ret_stats = self.calculate_stats(vm1_start_stats, vm1_end_stats)\n-\n-        self.verify(vm1_ret_stats['RX-packets'] == packet_num * 2, \"Vlan mirror failed between VM0 and VM1!\")\n-\n-    def test_two_vms_vlan_and_pool_mirror(self):\n-        self.setup_2vm_prerequisite_flag = 0\n-        self.vm0_testpmd.execute_cmd('vlan set strip on 0')\n-        self.vm1_testpmd.execute_cmd('vlan set strip on 0')\n-        port_id_0 = 0\n-        vlan_id = 3\n-        vf_mask = '0x2'\n-        packet_num = 10\n-\n-        self.host_testpmd.execute_cmd(\n-            'rx_vlan add %d port %d vf %s' % (vlan_id, port_id_0, vf_mask))\n-        self.set_port_pool_mirror(port_id_0, '0x1 dst-pool 1 on')\n-        self.set_port_vlan_mirror(port_id_0, '%d dst-pool 0 on' % vlan_id)\n-\n-        vm1_start_stats = self.vm1_testpmd.get_pmd_stats(port_id_0)\n-        self.send_packet(\n-            self.vm_dut_0,\n-            self.vm0_dut_ports,\n-            port_id_0,\n-            count=packet_num)\n-        vm1_end_stats = self.vm1_testpmd.get_pmd_stats(port_id_0)\n-\n-        vm1_ret_stats = self.calculate_stats(vm1_start_stats, vm1_end_stats)\n-\n-        self.verify(vm1_ret_stats['RX-packets'] == packet_num and\n-                    vm1_ret_stats['TX-packets'] == packet_num,\n-                    \"Pool mirror failed between VM0 and VM1 when set vlan and pool mirror!\")\n-\n-        vm0_start_stats = self.vm0_testpmd.get_pmd_stats(port_id_0)\n-        ether_ip = {}\n-        ether_ip['vlan'] = {'vlan': '%d' % vlan_id}\n-        self.send_packet(\n-            self.vm_dut_1,\n-            self.vm1_dut_ports,\n-            port_id_0,\n-            count=10 *\n-                  packet_num,\n-            **ether_ip)\n-        vm0_end_stats = self.vm0_testpmd.get_pmd_stats(port_id_0)\n-\n-        vm0_ret_stats = self.calculate_stats(vm0_start_stats, vm0_end_stats)\n-\n-        self.host_testpmd.execute_cmd(\n-            'rx_vlan rm %d port %d vf %s' % (vlan_id, port_id_0, vf_mask))\n-        self.reset_port_all_mirror_rule(port_id_0)\n-        self.verify(self.vm0_testpmd.check_tx_bytes(vm0_ret_stats['RX-packets'], 10 * packet_num),\n-                    \"Vlan mirror failed between VM0 and VM1 when set vlan and pool mirror!\")\n-\n-    def test_two_vms_uplink_and_downlink_mirror(self):\n-        \"\"\"\n-        Test Case7: Mirror Traffic between 2VMs with up link mirroring & down link mirroring\n-        \"\"\"\n-        port_id_0 = 0\n-        packet_num = 10\n-\n-        # set up common 2VM prerequisites\n-        self.setup_two_vm_common_prerequisite(fwd0=\"mac\", fwd1=\"rxonly\")\n-\n-        # set mirror rule\n-        self.set_port_downlink_mirror(port_id_0, 'dst-pool 1 on')\n-        self.set_port_uplink_mirror(port_id_0, 'dst-pool 1 on')\n-\n-        # get vm1 port stats\n-        vm1_start_stats = self.vm1_testpmd.get_pmd_stats(port_id_0)\n-\n-        # send packets\n-        self.send_packet(self.vm_dut_0, self.vm0_dut_ports, port_id_0, count=packet_num)\n-\n-        # get vm1 port stats\n-        vm1_end_stats = self.vm1_testpmd.get_pmd_stats(port_id_0)\n-\n-        # verify vm1 receive packets\n-        vm1_ret_stats = self.calculate_stats(vm1_start_stats, vm1_end_stats)\n-        try:\n-            self.verify(vm1_ret_stats['RX-packets'] == packet_num * 2, \"failed\")\n-        except:\n-            self.reset_port_all_mirror_rule(port_id_0)\n-            raise (\"Set uplink and downlink mirror failed!\")\n-\n-    def test_two_vms_vlan_and_pool_and_uplink_and_downlink(self):\n-        \"\"\"\n-        Test Case8: Mirror Traffic between 2VMs with Vlan & with up link mirroring & down link mirroring\n-        \"\"\"\n-        port_id_0 = 0\n-        vlan_id = random.randint(1, 4095)\n-        vf_mask = '0x2'\n-        packet_num = 1\n-\n-        # set up common 2VM prerequisites\n-        self.setup_two_vm_common_prerequisite(fwd0=\"mac\", fwd1=\"rxonly\")\n-\n-        # set mirror rule\n-        self.set_port_pool_mirror(port_id_0, '0x1 dst-pool 1 on')\n-        self.set_port_downlink_mirror(port_id_0, 'dst-pool 1 on')\n-\n-        if self.nic.startswith('niantic') or self.nic.startswith('sage') or self.nic.startswith('twinpond'):\n-            self.set_port_uplink_mirror(port_id_0, 'dst-pool 1 on')\n-\n-            # get vm port stats\n-            vm1_start_stats = self.vm1_testpmd.get_pmd_stats(port_id_0)\n-            vm0_start_stats = self.vm0_testpmd.get_pmd_stats(port_id_0)\n-\n-            # send packets\n-            self.vm0_testpmd.execute_cmd('stop')\n-            self.vm0_testpmd.execute_cmd('set fwd rxonly')\n-            self.vm0_testpmd.execute_cmd('start tx_first')\n-\n-            # get vm port stats\n-            vm0_end_stats = self.vm0_testpmd.get_pmd_stats(port_id_0)\n-            vm1_end_stats = self.vm1_testpmd.get_pmd_stats(port_id_0)\n-\n-            # verify vm1 receive packets\n-            vm0_ret_stats = self.calculate_stats(vm0_start_stats, vm0_end_stats)\n-            vm1_ret_stats = self.calculate_stats(vm1_start_stats, vm1_end_stats)\n-\n-            self.verify(vm1_ret_stats['RX-packets'] == vm0_ret_stats['TX-packets'], \"uplink &downlink mirror failed between VM0 and VM1\")\n-\n-        # set vlan mirror rule\n-        self.host_testpmd.execute_cmd(\"rx_vlan add %d port %d vf %s\" % (vlan_id, port_id_0, vf_mask))\n-        self.set_port_vlan_mirror(port_id_0, '%d dst-pool 0 on' % vlan_id)\n-\n-        # get vm port stats\n-        vm0_start_stats = self.vm0_testpmd.get_pmd_stats(port_id_0)\n-        vm1_start_stats = self.vm1_testpmd.get_pmd_stats(port_id_0)\n-\n-        # send packets\n-        ether_ip = {}\n-        ether_ip['vlan'] = {'vlan': '%d' % vlan_id}\n-        self.send_packet(\n-            self.vm_dut_1,\n-            self.vm1_dut_ports,\n-            port_id_0,\n-            count=packet_num,\n-            **ether_ip)\n-        # get vm port stats\n-        vm0_end_stats = self.vm0_testpmd.get_pmd_stats(port_id_0)\n-        vm1_end_stats = self.vm1_testpmd.get_pmd_stats(port_id_0)\n-\n-        # verify vm1 receive packets\n-        vm0_ret_stats = self.calculate_stats(vm0_start_stats, vm0_end_stats)\n-        vm1_ret_stats = self.calculate_stats(vm1_start_stats, vm1_end_stats)\n-\n-        try:\n-            if self.nic.startswith('niantic') or self.nic.startswith('sage') or self.nic.startswith('twinpond'):\n-                self.verify(vm0_ret_stats['RX-packets'] == packet_num and vm1_ret_stats['RX-packets'] == packet_num,\n-                            \"vlan mirror failed between VM0 and VM1\")\n-            else:\n-                self.verify(vm0_ret_stats['RX-packets'] == packet_num and vm1_ret_stats['RX-packets'] == 2 * packet_num,\n-                            \"vlan&downlink mirror failed between VM0 and VM1\")\n-        except:\n-            self.host_testpmd.execute_cmd(\"rx_vlan rm %d port %d vf %s\" % (vlan_id, port_id_0, vf_mask))\n-            raise (\"vlan mirror or downlink mirror failed between VM0 and VM1\")\n-\n-        # get vm port stats\n-        vm0_start_stats = self.vm0_testpmd.get_pmd_stats(port_id_0)\n-        vm1_start_stats = self.vm1_testpmd.get_pmd_stats(port_id_0)\n-        # send packets\n-        self.send_packet(\n-            self.vm_dut_0,\n-            self.vm0_dut_ports,\n-            port_id_0,\n-            count=packet_num)\n-        # get vm port stats\n-        vm0_end_stats = self.vm0_testpmd.get_pmd_stats(port_id_0)\n-        vm1_end_stats = self.vm1_testpmd.get_pmd_stats(port_id_0)\n-\n-        # reset pf vlan\n-        self.host_testpmd.execute_cmd(\"rx_vlan rm %d port %d vf %s\" % (vlan_id, port_id_0, vf_mask))\n-\n-        # verify vm1 receive packets\n-        vm0_ret_stats = self.calculate_stats(vm0_start_stats, vm0_end_stats)\n-        vm1_ret_stats = self.calculate_stats(vm1_start_stats, vm1_end_stats)\n-        self.verify(vm0_ret_stats['RX-packets'] == packet_num and vm1_ret_stats['RX-packets'] == packet_num,\n-                    \"uplink mirror failed between VM0 and VM1\")\n-\n     def test_two_vms_add_multi_exact_mac_on_vf(self):\n         port_id_0 = 0\n         vf_num = 0\n@@ -1182,36 +782,8 @@ class TestSriovKvm(TestCase):\n                             \"Disable RX broadcast failed between VM0 and VM1 \" +\n                             \"when enable or pause TX queues on VF!\")\n \n-    def test_two_vms_negative_input_commands(self):\n-        for command in [\"set port 0 vf 65 tx on\",\n-                        \"set port 2 vf -1 tx off\",\n-                        \"set port 0 vf 0 rx oneee\",\n-                        \"set port 0 vf 0 rx offdd\",\n-                        \"set port 0 vf 64 rxmode BAM on\",\n-                        \"set port 0 vf 64 rxmode BAM off\",\n-                        \"set port 0 uta 00:11:22:33:44 on\",\n-                        \"set port 7 uta 00:55:44:33:22:11 off\",\n-                        \"set port 0 vf 34 rxmode ROPE on\",\n-                        \"mac_addr add port 0 vf 65 00:55:44:33:22:11\",\n-                        \"mac_addr add port 5 vf 0 00:55:44:88:22:11\",\n-                        \"set port 0 mirror-rule 256 uplink-mirror dst-pool 1 on\",\n-                        \"set port 0 mirror-rule 0 downlink-mirror 0xf dst-pool 2 off\",\n-                        \"reset port 0 mirror-rule 4\",\n-                        \"reset port 0xff mirror-rule 0\"]:\n-            output = self.host_testpmd.execute_cmd(command)\n-            error = False\n-\n-            for error_regx in [r'Bad', r'bad', r'failed', r'-[0-9]+', r'error', r'Invalid']:\n-                ret_regx = re.search(error_regx, output)\n-                if ret_regx and ret_regx.group():\n-                    error = True\n-                    break\n-            self.verify(\n-                error, \"Execute command '%s' successfully, it should be failed!\" % command)\n-\n     def tear_down(self):\n         port_id_0 = 0\n-        self.reset_port_all_mirror_rule(port_id_0)\n         self.vm0_testpmd.execute_cmd('clear port stats all')\n         self.vm1_testpmd.execute_cmd('clear port stats all')\n         self.vm0_testpmd.execute_cmd('stop')\n",
    "prefixes": [
        "V1",
        "1/2"
    ]
}