diff --git a/shortcut-fe/sfe_ipv4.c b/shortcut-fe/sfe_ipv4.c
index d83360a..c1b980a 100644
--- a/shortcut-fe/sfe_ipv4.c
+++ b/shortcut-fe/sfe_ipv4.c
@@ -27,11 +27,13 @@
 #include "sfe_cm.h"
 #define PKT_THRESHOLD 10
 #define TIMEOUT 100
+#define AGGR_ON 1
 
 struct sfe_wlan_aggr_params aggr_params[MAX_WLAN_INDEX];
 
 int var_timeout = TIMEOUT;
 int var_thresh = PKT_THRESHOLD;
+int aggr_on = AGGR_ON;
 int threshold_count;
 int timeout_count;
 
@@ -56,6 +58,7 @@
 {
     XDBG_ADD_PROC_ENTRY(XDBG_TIMER_STEP_DBG, "timeout_value", &var_timeout),
     XDBG_ADD_PROC_ENTRY(XDBG_THRESHOLD_STEP_DBG, "threshold", &var_thresh),
+    XDBG_ADD_PROC_ENTRY(XDBG_THRESHOLD_STEP_DBG, "aggr_on", &aggr_on),
     XDBG_ADD_PROC_ENTRY(XDBG_THRESHOLD_STEP_DBG, "threshold_count", &threshold_count),
     XDBG_ADD_PROC_ENTRY(XDBG_THRESHOLD_STEP_DBG, "timeout_count", &timeout_count),
     {0, },
@@ -1525,7 +1528,7 @@
 	/*
 	 * do _aggr is set to true in case we need aggregation to happen
 	 */
-	if (cm->do_aggr )
+	if (cm->do_aggr)
 	{
 		pr_debug("\nUDP_v4-Dowlink");
 
@@ -2831,7 +2834,7 @@
 	/* If the packet destination is wlan0 or wlan1, do aggregation*/
 	if ((strncmp(dest_dev->name, WLAN_INTF1, WLAN_INTF_LEN)  == 0)) 
 	{
-		original_cm->do_aggr = true;
+		original_cm->do_aggr = aggr_on;
 		original_cm->index = SFE_WLAN_LINK_INDEX0;
 		reply_cm->do_aggr = false;
 		reply_cm->index = SFE_WLAN_LINK_INDEX_NONE;
@@ -2841,7 +2844,7 @@
 	}
 	else if ((strncmp(dest_dev->name, WLAN_INTF2, WLAN_INTF_LEN)  == 0 ))
 	{
-		original_cm->do_aggr = true;
+		original_cm->do_aggr = aggr_on;
 		original_cm->index = SFE_WLAN_LINK_INDEX1;
 		reply_cm->do_aggr = false;
 		reply_cm->index = SFE_WLAN_LINK_INDEX_NONE;
diff --git a/shortcut-fe/sfe_ipv6.c b/shortcut-fe/sfe_ipv6.c
index 670211e..f1d7fd2 100644
--- a/shortcut-fe/sfe_ipv6.c
+++ b/shortcut-fe/sfe_ipv6.c
@@ -28,11 +28,13 @@
 
 #define PKT_THRESHOLD 10
 #define TIMEOUT 100
+#define AGGR_ON 1
 
 struct sfe_wlan_aggr_params aggr_params[MAX_WLAN_INDEX];
 
 int var_timeout = TIMEOUT;
 int var_thresh = PKT_THRESHOLD;
+int aggr_on = AGGR_ON;
 int threshold_count;
 int timeout_count;
 bool iface;
@@ -59,6 +61,7 @@
 {
     XDBG_ADD_PROC_ENTRY(XDBG_TIMER_STEP_DBG, "v6_timeout_value", &var_timeout),
     XDBG_ADD_PROC_ENTRY(XDBG_THRESHOLD_STEP_DBG, "v6_threshold", &var_thresh),
+    XDBG_ADD_PROC_ENTRY(XDBG_THRESHOLD_STEP_DBG, "v6_aggr_on", &aggr_on),
     XDBG_ADD_PROC_ENTRY(XDBG_THRESHOLD_STEP_DBG, "v6_threshold_count", &threshold_count),
     XDBG_ADD_PROC_ENTRY(XDBG_THRESHOLD_STEP_DBG, "v6_timeout_count", &timeout_count),
     {0, },
@@ -1570,7 +1573,7 @@
 	/*
 	 * do _aggr is set to true in case we need aggregation to happen
 	 */
-	if (cm->do_aggr )
+	if (cm->do_aggr)
 	{
 		pr_debug("\nUDP_v6-Downlink");
 
@@ -2868,7 +2871,7 @@
 
 	if ((strncmp(dest_dev->name, WLAN_INTF1, WLAN_INTF_LEN)  == 0)) 
 	{
-		original_cm->do_aggr = true;
+		original_cm->do_aggr = aggr_on;
 		original_cm->index = SFE_WLAN_LINK_INDEX0;
 		reply_cm->do_aggr = false;
 		reply_cm->index = SFE_WLAN_LINK_INDEX_NONE;
@@ -2878,7 +2881,7 @@
 	}
 	else if ((strncmp(dest_dev->name, WLAN_INTF2, WLAN_INTF_LEN)  == 0 ))
 	{
-		original_cm->do_aggr = true;
+		original_cm->do_aggr = aggr_on;
 		original_cm->index = SFE_WLAN_LINK_INDEX1;
 		reply_cm->do_aggr = false;
 		reply_cm->index = SFE_WLAN_LINK_INDEX_NONE;
