diff --git a/acctonUseDpctl/mpls.py b/acctonUseDpctl/mpls.py
index f62e2bc..1f19006 100755
--- a/acctonUseDpctl/mpls.py
+++ b/acctonUseDpctl/mpls.py
@@ -722,6 +722,18 @@
         self.dataplane.send(input_port, str(input_pkt))
         verify_packet(self, str(output_pkt2), output_port2)
         apply_dpctl_mod(self, config, "port-mod port="+str(output_port)+",conf=0x0,mask=0x1")
+        time.sleep(1)
+        #make sure port link up
+        json_result = apply_dpctl_get_cmd(self, config, "port-desc")
+        result=json_result["RECEIVED"][1]
+        port_up = 0
+        while port_up == 0:
+            for p_desc in result["port"]:
+                if p_desc["no"] == output_port:
+                    if p_desc["config"] != 0x01 : #up
+                        port_up = 1 
+                        time.sleep(1)
+        
 
 
 class decap_mpls_acl(base_tests.SimpleDataPlane):
diff --git a/acctonUseDpctl/nat.py b/acctonUseDpctl/nat.py
index 47f4a63..557837b 100755
--- a/acctonUseDpctl/nat.py
+++ b/acctonUseDpctl/nat.py
@@ -98,7 +98,9 @@
         self.dataplane.send(input_port, str(input_pkt))
         verify_packet(self, str(output_pkt), output_port)
 
-
+"""
+currently this case will fail, due to packet rx SRC IP problem
+"""
 class dnat_ecmp(base_tests.SimpleDataPlane):
     """
     [DNAT ECMP]
@@ -305,7 +307,9 @@
         self.dataplane.send(input_port, str(input_pkt))
         verify_packet(self, str(output_pkt), output_port)
 
-
+"""
+currently this case will fail, due to packet rx src IP problem
+"""
 class snat_ecmp(base_tests.SimpleDataPlane):
     """
     [SNAT ECMP]
diff --git a/acctonUseDpctl/phase1.py b/acctonUseDpctl/phase1.py
index 88d788e..abaeae5 100755
--- a/acctonUseDpctl/phase1.py
+++ b/acctonUseDpctl/phase1.py
@@ -25,7 +25,6 @@
     def runTest(self):
         delete_all_flows(self.controller)
         delete_all_groups(self.controller)
-
         test_ports = sorted(config["port_map"].keys())
 
         input_port = test_ports[0]
diff --git a/acctonUseDpctl/pim_bidr.py b/acctonUseDpctl/pim_bidr.py
index f603c15..8042120 100755
--- a/acctonUseDpctl/pim_bidr.py
+++ b/acctonUseDpctl/pim_bidr.py
@@ -44,7 +44,7 @@
         apply_dpctl_mod(self, config, "group-mod cmd=add,type=ind,group=0x3000"+str(input_port)+" group=any,port=any,weight=0 output="+str(input_port))
         apply_dpctl_mod(self, config, "group-mod cmd=add,type=ind,group=0x58000001 group=any,port=any,weight=0 set_field=eth_src=00:00:01:22:33:55,set_field=vlan_vid=2,group=0x2000"+str(output_port))
         apply_dpctl_mod(self, config, "group-mod cmd=add,type=ind,group=0x58000002 group=any,port=any,weight=0 set_field=eth_src=00:00:02:22:33:55,set_field=vlan_vid=3,group=0x3000"+str(input_port))
-        apply_dpctl_mod(self, config, "group-mod cmd=add,type=all,group=0x60058001 group=any,port=any,weight=1 group=0x58000001 group=any,port=any,weight=1 group=0x58000002")
+        apply_dpctl_mod(self, config, "group-mod cmd=add,type=all,group=0x60058001 group=any,port=any,weight=0 group=0x58000001 group=any,port=any,weight=0 group=0x58000002")
         apply_dpctl_mod(self, config, "flow-mod table=40,cmd=add,prio=401 eth_type=0x800,ip_dst=224.0.0.1 write:group=0x60058001 goto:60")
 
         input_pkt = simple_packet(
@@ -123,7 +123,7 @@
         apply_dpctl_mod(self, config, "group-mod cmd=add,type=ind,group=0x3000"+str(input_port)+" group=any,port=any,weight=0 output="+str(input_port))
         apply_dpctl_mod(self, config, "group-mod cmd=add,type=ind,group=0x58000001 group=any,port=any,weight=0 set_field=eth_src=00:00:01:22:33:55,set_field=vlan_vid=2,group=0x2000"+str(output_port))
         apply_dpctl_mod(self, config, "group-mod cmd=add,type=ind,group=0x58000002 group=any,port=any,weight=0 set_field=eth_src=00:00:02:22:33:55,set_field=vlan_vid=3,group=0x3000"+str(input_port))
-        apply_dpctl_mod(self, config, "group-mod cmd=add,type=all,group=0x60058001 group=any,port=any,weight=1 group=0x58000001 group=any,port=any,weight=1 group=0x58000002")
+        apply_dpctl_mod(self, config, "group-mod cmd=add,type=all,group=0x60058001 group=any,port=any,weight=0 group=0x58000001 group=any,port=any,weight=0 group=0x58000002")
         apply_dpctl_mod(self, config, "flow-mod table=40,cmd=add,prio=401 eth_type=0x86dd,ipv6_dst=ff01::2 write:group=0x60058001 goto:60")
 
         input_pkt = simple_packet(
