Index: /branches/rel_apv_10_7_3_25_HSOL/usr/src/sys/click/netinet/click_input.c
===================================================================
--- /branches/rel_apv_10_7_3_25_HSOL/usr/src/sys/click/netinet/click_input.c	(revision 39792)
+++ /branches/rel_apv_10_7_3_25_HSOL/usr/src/sys/click/netinet/click_input.c	(working copy)
@@ -1831,6 +1831,13 @@
 	bound_pcb = click_hash_insearch(l7popen_hash_table, &hash_pcb, CLICK_HASH_NOINSERT, NULL, NULL, 0);
 	uhi_rte_rwlock_read_unlock(&l7popen_rwlock);
 
+	// update timer for ftp data channel.
+	if (sport == 0 && bound_pcb) {
+		uhi_rte_rwlock_read_lock(&l7popen_rwlock);
+		TIMER_RESET(bound_pcb, &l7popen_timh, app_timer);
+		uhi_rte_rwlock_read_unlock(&l7popen_rwlock);
+	}
+
 #if 0
 /*for cmcc2020 performence*/
 	if(bound_pcb){
@@ -1873,6 +1880,14 @@
 	uhi_rte_rwlock_read_lock(&l7popen_rwlock6);	
 	bound_pcb = click_hash_insearch(l7popen_hash_table6, &hash_pcb, CLICK_HASH_NOINSERT, NULL, NULL, 1);
 	uhi_rte_rwlock_read_unlock(&l7popen_rwlock6);
+
+	// update timer for ftp data channel.
+	if (sport == 0 && bound_pcb) {
+		uhi_rte_rwlock_read_lock(&l7popen_rwlock6);
+		TIMER_RESET(bound_pcb, &l7popen_timh6, app_timer);
+		uhi_rte_rwlock_read_unlock(&l7popen_rwlock6);
+	}
+
 #if 0
 /*for cmcc2020 performence*/
 	if(bound_pcb){
