Index: /branches/rel_apv_10_4_0_112_gail/usr/click/lib/libparser/commands.pm
===================================================================
--- /branches/rel_apv_10_4_0_112_gail/usr/click/lib/libparser/commands.pm	(revision 38097)
+++ /branches/rel_apv_10_4_0_112_gail/usr/click/lib/libparser/commands.pm	(working copy)
@@ -53417,7 +53417,7 @@
         },
         {
                 obj_type => "ITEM",
-                name => "session_count",
+                name => "sessioncount",
                 menu => "root_show_qos",
                 cmd_attribute => "CMD_ARRAYOS|CMD_SPROXY|CMD_NORMAL|CMD_GLOBAL|CMD_KERN_API",
                 user_level => "CLI_LEVEL_ENABLE",
Index: /branches/rel_apv_10_4_0_112_gail/usr/src/sys/click/app/qos/qos_classifier.h
===================================================================
--- /branches/rel_apv_10_4_0_112_gail/usr/src/sys/click/app/qos/qos_classifier.h	(revision 38097)
+++ /branches/rel_apv_10_4_0_112_gail/usr/src/sys/click/app/qos/qos_classifier.h	(working copy)
@@ -208,7 +208,7 @@
  * VARIABLE DEFINITIONS
  *************************************************************************/
 extern qos_filter_share_t qos_filter_share;
-
+extern unsigned int current_dyn_q_count;
 /*************************************************************************
  * FUNCTION PROTOTYPES
  *************************************************************************/
Index: /branches/rel_apv_10_4_0_112_gail/usr/src/sys/click/app/qos/qos_classifier.c
===================================================================
--- /branches/rel_apv_10_4_0_112_gail/usr/src/sys/click/app/qos/qos_classifier.c	(revision 38097)
+++ /branches/rel_apv_10_4_0_112_gail/usr/src/sys/click/app/qos/qos_classifier.c	(working copy)
@@ -246,12 +246,13 @@
         
     qos_filter_kern(NULL, f_name, q_name, sip, smask, sport, dip, dmask, dport, "any", 1);
 
-    if (enq_idx == MAX_DYN_QUEUE) {
-        enq_idx = 0;
-    }
     sprintf (q_dynamic_list[enq_idx], "%s", q_name);
     ++enq_idx;
     ++current_dyn_q_count;
+
+    if (enq_idx == MAX_DYN_QUEUE) {
+        enq_idx = 0;
+    }
 }
 
 
Index: /branches/rel_apv_10_4_0_112_gail/usr/src/sys/click/app/qos/qos_subr.c
===================================================================
--- /branches/rel_apv_10_4_0_112_gail/usr/src/sys/click/app/qos/qos_subr.c	(revision 38097)
+++ /branches/rel_apv_10_4_0_112_gail/usr/src/sys/click/app/qos/qos_subr.c	(working copy)
@@ -234,7 +234,9 @@
 
 		app_printf(pcb, "QoS statistics for interface \"%s\" %s %s\n", pQoSIfConf->sIfName, pQoSIfConf->sDir,pQoSIfConf->sBand);
 
-		STAILQ_FOREACH(pQoSQRoot, &qos_queue_root_head, list_entry) {
+
+		if (!current_dyn_q_count) {
+		    STAILQ_FOREACH(pQoSQRoot, &qos_queue_root_head, list_entry) {
 			if(pQoSIfConf->iDir != pQoSQRoot->iDir) {
 				continue;
 			}
@@ -300,6 +302,7 @@
 				}
 
 			}
+		    }
 		}
 	}
 
@@ -913,7 +916,7 @@
     /* QoS session command format */
     char qos_session_conf_cmd[] = "qos session xxxxxx xxx.xxx.xxx.xxx xxxxx xxx.xxx.xxx.xxx xxxxx xxxxxxx xxx";
     char qos_session_status_cmd[] = "qos sessionxxx";
-    char qos_session_tuple_count_cmd[] = "qos set_tuple_count xxxx";
+    char qos_session_tuple_count_cmd[] = "qos sessionpacketcount xxxx";
 
     len = (sizeof (qos_session_conf_cmd) + QOS_SNAME_MAX + 1) * MAX_QOS_SESSION_CONFIG;
     len += sizeof (qos_session_status_cmd) + 1;
@@ -934,7 +937,7 @@
     else
         cur += sprintf (cur, "qos sessionoff\n");
 
-    cur += sprintf (cur, "qos set_tuple_count %u\n", repeat_segment_num);
+    cur += sprintf (cur, "qos sessionpacketcount %u\n", repeat_segment_num);
 
     STAILQ_FOREACH(dyn_qos_conf_run, &dyn_session_qos_conf_head, list_entry) {
         cur += sprintf (cur, "qos session \"%s\" %s %u.%u.%u.%u %u %u.%u.%u.%u %u %s %s\n",
