diff --git a/accton/accton_util.py b/accton/accton_util.py
index f3b2d1d..6a3ea7c 100755
--- a/accton/accton_util.py
+++ b/accton/accton_util.py
@@ -889,7 +889,7 @@
     NETCONF_ACCOUNT="netconfuser"
     NETCONF_PASSWD="netconfuser"
     with manager.connect_ssh(host=switch_ip, port=830, username=NETCONF_ACCOUNT, password=NETCONF_PASSWD, hostkey_verify=False ) as m:
-	    print m.get_config(source='running').data_xml
+	    return m.get_config(source='running').data_xml
 
         
 def print_current_table_flow_stat(ctrl, table_id=0xff):
diff --git a/accton/group_test.py b/accton/group_test.py
index cb706b3..4158db6 100755
--- a/accton/group_test.py
+++ b/accton/group_test.py
@@ -19,7 +19,7 @@
     def byGroupId(stats_entry):
         return stats_entry.group_id
         
-    def byGroupId(stats_entry):
+    def byGroupType(stats_entry):
         return stats_entry.group_type
 
         
@@ -73,7 +73,7 @@
 
         verify_group_stats=sorted(verify_group_stats, key=getkey("group_id")) 
         stats=sorted(stats, key=getkey("group_id")) 
-        self.maxDiff=None        
+        #self.maxDiff=None        
         self.assertEquals(stats, verify_group_stats)
         
 class L2McastGroup(base_tests.SimpleDataPlane):
diff --git a/accton/vxlan_flow_test.py b/accton/vxlan_flow_test.py
index 8977b7a..c066c70 100755
--- a/accton/vxlan_flow_test.py
+++ b/accton/vxlan_flow_test.py
@@ -38,33 +38,34 @@
         network_port_sip="192.168.1.1"
         network_port_dip="192.168.2.1"
 
+        xml_before=get_edit_config(config["switch_ip"])
 		#get datapath_id from feature message
         feature_reply=get_featureReplay(self)	
         next_hop_conf_xml=get_next_hop_config_xml(next_hop_id=next_hop_id_mcast, 
 		                                          dst_mac=dst_mac_mcast, 
 												  phy_port=network_port_phy_port, 
 												  vlan=network_port_vlan)        
-        logging.info("config NextHop %d, DST_MAC %s, PHY %d, VLAN %d", next_hop_id, dst_mac, network_port_phy_port, network_port_vlan);
-        assert(send_edit_config(config["switch_ip"], next_hop_conf_xml) == False)                
+        logging.info("config NextHop %d, DST_MAC %s, PHY %d, VLAN %d", next_hop_id_mcast, dst_mac_mcast, network_port_phy_port, network_port_vlan);
+        assert(send_edit_config(config["switch_ip"], next_hop_conf_xml) == True)                
         
         next_hop_conf_xml=get_next_hop_config_xml(next_hop_id=next_hop_id, 
 		                                          dst_mac=dst_mac, 
 												  phy_port=network_port_phy_port, 
 												  vlan=network_port_vlan)
         logging.info("config NextHop %d, DST_MAC %s, PHY %d, VLAN %d", next_hop_id, dst_mac, network_port_phy_port, network_port_vlan);
-        assert(send_edit_config(config["switch_ip"], next_hop_conf_xml) == False)                                                  
+        assert(send_edit_config(config["switch_ip"], next_hop_conf_xml) == True)                                                  
         
         vni_config_xml=get_vni_config_xml(vni_id=vnid, 
                                           mcast_ipv4=mcast_ipv4, 
                                           next_hop_id=next_hop_id_mcast)
         logging.info("config VNI %lx", vnid);
-        assert(send_edit_config(config["switch_ip"], vni_config_xml) == False)
+        assert(send_edit_config(config["switch_ip"], vni_config_xml) == True)
             
         vtap_conf_xml=get_vtap_lport_config_xml(dp_id=feature_reply.datapath_id, 
                                         lport=access_lport, phy_port=access_phy_port, 
                                         vlan=access_port_vid, vnid=vnid)
         logging.info("config VTAP 0x%lx, PHY %d, VID %d, VNID %lx", access_lport, access_phy_port, access_port_vid, vnid);
-        assert(send_edit_config(config["switch_ip"], vtap_conf_xml) == False)
+        assert(send_edit_config(config["switch_ip"], vtap_conf_xml) == True)
 
         vtep_conf_xml=get_vtep_lport_config_xml(dp_id=feature_reply.datapath_id, 
                                                 lport=network_lport, 
@@ -72,7 +73,7 @@
                                                 next_hop_id=next_hop_id, 
                                                 vnid=vnid)												
         logging.info("config VTEP 0x%lx, SRC_IP %s, DST_IP %s, NEXTHOP_ID %d", network_lport, network_port_sip, network_port_dip, next_hop_id);                                                
-        assert(send_edit_config(config["switch_ip"], vtep_conf_xml) == False)            
+        assert(send_edit_config(config["switch_ip"], vtep_conf_xml) == True)            
             
         get_edit_config(config["switch_ip"])
 
@@ -80,33 +81,34 @@
         vtap_conf_xml=get_vtap_lport_config_xml(dp_id=feature_reply.datapath_id, 
 		                                        lport=access_lport, phy_port=access_phy_port, 
 												vlan=access_port_vid, vnid=vnid, operation="delete")
-        assert(send_edit_config(config["switch_ip"], vtap_conf_xml) == False)
+        assert(send_edit_config(config["switch_ip"], vtap_conf_xml) == True)
         
         vtep_conf_xml=get_vtep_lport_config_xml(dp_id=feature_reply.datapath_id, 
 		                                        lport=network_lport, 
 												src_ip=network_port_sip, dst_ip=network_port_dip, 
 												next_hop_id=next_hop_id, 
 												vnid=vnid, operation="delete")												
-        assert(send_edit_config(config["switch_ip"], vtep_conf_xml) == False)
+        assert(send_edit_config(config["switch_ip"], vtep_conf_xml) == True)
 
         vni_config_xml=get_vni_config_xml(vni_id=vnid, 
                                           mcast_ipv4=mcast_ipv4, 
                                           next_hop_id=next_hop_id_mcast, operation="delete")
-        assert(send_edit_config(config["switch_ip"], vni_config_xml) == False)
+        assert(send_edit_config(config["switch_ip"], vni_config_xml) == True)
 
         next_hop_conf_xml=get_next_hop_config_xml(next_hop_id=next_hop_id, 
 		                                          dst_mac=dst_mac, 
 												  phy_port=network_port_phy_port, 
 												  vlan=network_port_vlan, operation="delete")
-        assert(send_edit_config(config["switch_ip"], next_hop_conf_xml) == False)
+        assert(send_edit_config(config["switch_ip"], next_hop_conf_xml) == True)
 
         next_hop_conf_xml=get_next_hop_config_xml(next_hop_id=next_hop_id_mcast, 
 		                                          dst_mac=dst_mac_mcast, 
 												  phy_port=network_port_phy_port, 
 												  vlan=network_port_vlan, operation="delete")
-        assert(send_edit_config(config["switch_ip"], next_hop_conf_xml) == False)            
+        assert(send_edit_config(config["switch_ip"], next_hop_conf_xml) == True)            
 
-        get_edit_config(config["switch_ip"])
+        xml_after=get_edit_config(config["switch_ip"])
+        assert(xml_before == xml_after)
         
 class OverlayFloodGroup(base_tests.SimpleDataPlane):
     """
