diff --git a/conf/app_name.cfg b/conf/app_name.cfg
index 5d3244da..84f65c92 100644
--- a/conf/app_name.cfg
+++ b/conf/app_name.cfg
@@ -37,7 +37,6 @@ l2fwd-event=target/examples/dpdk-l2fwd-event
 l2fwd-jobstats=target/examples/dpdk-l2fwd-jobstats
 l2fwd-keepalive=target/examples/dpdk-l2fwd-keepalive
 l3fwd=target/examples/dpdk-l3fwd
-l3fwd-acl=target/examples/dpdk-l3fwd-acl
 l3fwd-power=target/examples/dpdk-l3fwd-power
 link_status_interrupt=target/examples/dpdk-link_status_interrupt
 ntb=target/examples/dpdk-ntb
@@ -68,4 +67,4 @@ node=target/examples/dpdk-efd_node
 server=target/examples/dpdk-efd_server
 testpmd_vf=target/app/dpdk-testpmd-vf
 vm_power_manager=target/examples/dpdk-vm_power_manager
-guest_cli=target/examples/dpdk-guest_cli
\ No newline at end of file
+guest_cli=target/examples/dpdk-guest_cli
diff --git a/tests/TestSuite_l3fwdacl.py b/tests/TestSuite_l3fwdacl.py
index 0876b978..ebaa80ea 100644
--- a/tests/TestSuite_l3fwdacl.py
+++ b/tests/TestSuite_l3fwdacl.py
@@ -355,7 +355,7 @@ class TestL3fwdacl(TestCase):
             extra_args = '--alg="scalar"'
 
         cmdline = (
-            '%s %s -- -p %s --config="(%d,0,2),(%d,0,3)" --rule_ipv4="%s" --rule_ipv6="%s" %s'
+            '%s %s -- -p %s --lookup acl --config="(%d,0,2),(%d,0,3)" --rule_ipv4="%s" --rule_ipv6="%s" %s --parse-ptype'
             % (
                 self.app_l3fwd_acl_path,
                 self.eal_para,
@@ -447,6 +447,9 @@ class TestL3fwdacl(TestCase):
         """
         tx_interface = self.tester.get_interface(tx_port)
         rx_interface = self.tester.get_interface(rx_port)
+        # wait tester's interface up
+        for intfx in [tx_interface, rx_interface]:
+            self.tester.is_interface_up(intf=intfx)
         if rule["sIpAddr"] != "ALL":
             rule["sIpAddr"] = self.create_ipv4_ip_not_match(rule["sIpAddr"])
         if rule["dIpAddr"] != "ALL":
@@ -478,6 +481,9 @@ class TestL3fwdacl(TestCase):
         """
         tx_interface = self.tester.get_interface(tx_port)
         rx_interface = self.tester.get_interface(rx_port)
+        # wait tester's interface up
+        for intfx in [tx_interface, rx_interface]:
+            self.tester.is_interface_up(intf=intfx)
         if rule["sIpAddr"] != "ALL":
             rule["sIpAddr"] = self.create_ipv6_ip_not_match(rule["sIpAddr"])
         if rule["dIpAddr"] != "ALL":
@@ -499,7 +505,6 @@ class TestL3fwdacl(TestCase):
         pkt = packet.Packet()
         pkt.append_pkt(ethernet_str)
         pkt.send_pkt(crb=self.tester, tx_port=tx_interface, timeout=30)
-
         out = self.remove_dhcp_from_revpackets(inst)
         return len(out)
 
@@ -509,6 +514,9 @@ class TestL3fwdacl(TestCase):
         """
         tx_interface = self.tester.get_interface(tx_port)
         rx_interface = self.tester.get_interface(rx_port)
+        # wait tester's interface up
+        for intfx in [tx_interface, rx_interface]:
+            self.tester.is_interface_up(intf=intfx)
         etherStr = self.create_ipv4_rule_string(rule, "Ether")
 
         dst_filter = {"layer": "ether", "config": {"dst": "not ff:ff:ff:ff:ff:ff"}}
@@ -526,6 +534,9 @@ class TestL3fwdacl(TestCase):
         """
         tx_interface = self.tester.get_interface(tx_port)
         rx_interface = self.tester.get_interface(rx_port)
+        # wait tester's interface up
+        for intfx in [tx_interface, rx_interface]:
+            self.tester.is_interface_up(intf=intfx)
         etherStr = self.create_ipv6_rule_string(rule, "Ether")
 
         fil = [{"layer": "ether", "config": {"dst": "not ff:ff:ff:ff:ff:ff"}}]
@@ -533,7 +544,6 @@ class TestL3fwdacl(TestCase):
         pkt = packet.Packet()
         pkt.append_pkt(etherStr)
         pkt.send_pkt(crb=self.tester, tx_port=tx_interface, timeout=30)
-
         out = self.remove_dhcp_from_revpackets(inst)
         return len(out)
 
@@ -807,7 +817,7 @@ class TestL3fwdacl(TestCase):
         self.create_acl_ipv4_db(rule_list)
 
         cmdline = (
-            '%s %s -- -p %s --config="(%d,0,2),(%d,0,3)" --rule_ipv4="%s" --rule_ipv6="%s"'
+            '%s %s -- -p %s --lookup acl --config="(%d,0,2),(%d,0,3)" --rule_ipv4="%s" --rule_ipv6="%s" --parse-ptype'
             % (
                 self.app_l3fwd_acl_path,
                 self.eal_para,
@@ -834,7 +844,7 @@ class TestL3fwdacl(TestCase):
         self.create_acl_ipv6_db(rule_list)
 
         cmdline = (
-            '%s %s -- -p %s --config="(%d,0,2),(%d,0,3)" --rule_ipv4="%s" --rule_ipv6="%s"'
+            '%s %s -- -p %s --lookup acl --config="(%d,0,2),(%d,0,3)" --rule_ipv4="%s" --rule_ipv6="%s" --parse-ptype'
             % (
                 self.app_l3fwd_acl_path,
                 self.eal_para,
@@ -867,14 +877,17 @@ class TestL3fwdacl(TestCase):
         cores = self.get_core_list()
         self.verify(cores is not None, "Insufficient cores for speed testing")
 
-        self.eal_para = self.dut.create_eal_parameters(
-            cores=self.get_core_list(), other_eal_param="force-max-simd-bitwidth"
-        )
+        self.eal_para = self.dut.create_eal_parameters(cores=self.get_core_list())
         self.core_mask = utils.create_mask(cores)
         print("Core mask: %s" % self.core_mask)
-
-        if self.dut.dpdk_version >= "20.11.0":
-            self.eal_para += " --force-max-simd-bitwidth=0"
+        # When execution.cfg set rx_mode=xxx, it should have priority.
+        if "force-max-simd-bitwidth" in self.eal_para:
+            print("eal_para".format(self.eal_para))
+            pass
+        else:
+            # DTS commit 68bb1b92("tests/l3fwdacl: try to use highest available method") when dpdk > 20.11.0 by konstantin.ananyev@intel.com
+            if self.dut.dpdk_version >= "20.11.0":
+                self.eal_para += " --force-max-simd-bitwidth=0"
 
         valid_ports = [port for port in ports if self.tester.get_local_port(port) != -1]
         self.verify(
@@ -889,11 +902,8 @@ class TestL3fwdacl(TestCase):
 
         TestL3fwdacl.default_rule["Port"] = self.dut_ports[1]
 
-        # compile l3fwd-acl
-        out = self.dut.build_dpdk_apps("examples/l3fwd-acl")
-        self.app_l3fwd_acl_path = self.dut.apps_name["l3fwd-acl"]
-        self.verify("Error" not in out, "compilation error 1")
-        self.verify("No such file" not in out, "compilation error 2")
+        # dpdk22.07-rc1 commit 6de0ea50("examples/l3fwd: merge l3fwd-acl example"), compile l3fwd example.
+        self.app_l3fwd_acl_path = self.dut.build_dpdk_apps("examples/l3fwd")
 
     def test_l3fwdacl_acl_rule(self):
         """
@@ -1025,8 +1035,7 @@ class TestL3fwdacl(TestCase):
             TestL3fwdacl.lpm_rule_list_ipv6[1], tx_port, rx_port
         )
 
-        self.dut.send_expect("^C", "#", 20)
-
+        self.dut.send_expect("^C", "#", 30)
         self.verify(out1 >= 1, "Rx port0 not receive expected packet")
         self.verify(out2 >= 1, "Rx port1 not receive expected packet")
 
@@ -1103,7 +1112,7 @@ class TestL3fwdacl(TestCase):
         self.create_acl_ipv4_db(rule_list_ipv4)
 
         cmdline = (
-            '%s %s -- -p %s --config="(%d,0,2),(%d,0,3)" --rule_ipv4="%s" --rule_ipv6="%s" --alg="scalar"'
+            '%s %s -- -p %s --lookup acl --config="(%d,0,2),(%d,0,3)" --rule_ipv4="%s" --rule_ipv6="%s" --alg="scalar" --parse-ptype'
             % (
                 self.app_l3fwd_acl_path,
                 self.eal_para,
@@ -1123,7 +1132,7 @@ class TestL3fwdacl(TestCase):
         self.create_acl_ipv6_db(rule_list_ipv6)
 
         cmdline = (
-            '%s %s -- -p %s --config="(%d,0,2),(%d,0,3)" --rule_ipv4="%s" --rule_ipv6="%s" --alg="scalar"'
+            '%s %s -- -p %s --lookup acl --config="(%d,0,2),(%d,0,3)" --rule_ipv4="%s" --rule_ipv6="%s" --alg="scalar" --parse-ptype'
             % (
                 self.app_l3fwd_acl_path,
                 self.eal_para,
