Index: /branches/rel_apv_10_7/usr/click/lib/libca_snmp_mib/CA-SNMP-MIB.txt
===================================================================
--- /branches/rel_apv_10_7/usr/click/lib/libca_snmp_mib/CA-SNMP-MIB.txt	(revision 38915)
+++ /branches/rel_apv_10_7/usr/click/lib/libca_snmp_mib/CA-SNMP-MIB.txt	(working copy)
@@ -5250,9 +5250,9 @@
 		linkUpTime	DisplayString,
 		linkDownTime    DisplayString,
 		linkDownCount	Integer32,
-		linkBandwidIn	DisplayString,
-		linkBandwidOut	DisplayString,
-		linkThresh	DisplayString,
+		linkBandwidIn	Integer32,
+		linkBandwidOut	Integer32,
+		linkThresh	Integer32,
 		linkHits	Integer32,
 		linkConn	Integer32,
 		linkUsage	Integer32,
@@ -5312,22 +5312,22 @@
 		DESCRIPTION "Link route down event." 
 		::= { linkStatsEntry 9 } 
 linkBandwidIn   OBJECT-TYPE
-		SYNTAX	       DisplayString
+		SYNTAX	       Integer32
 		MAX-ACCESS     read-only
 		STATUS	       current
-		DESCRIPTION "Link avg. bandwidth in."
+		DESCRIPTION "Link avg. bandwidth (kbps) in."
 		::= { linkStatsEntry 10 }
 linkBandwidOut   OBJECT-TYPE
-		SYNTAX	       DisplayString
+		SYNTAX	       Integer32
 		MAX-ACCESS     read-only
 		STATUS	       current
-		DESCRIPTION "Link avg. bandwidth out."
+		DESCRIPTION "Link avg. bandwidth (kbps) out."
 		::= { linkStatsEntry 11 }
 linkThresh      OBJECT-TYPE
-		SYNTAX	       DisplayString
+		SYNTAX	       Integer32
 		MAX-ACCESS     read-only
 		STATUS	       current
-		DESCRIPTION "Link route max threshold."
+		DESCRIPTION "Link route max threshold (kbps)"
 		::= { linkStatsEntry 12 }
 linkHits        OBJECT-TYPE
 		SYNTAX	       Integer32
Index: /branches/rel_apv_10_7/usr/click/lib/libca_snmp_mib/CA-SNMP-MIB_foreign.txt
===================================================================
--- /branches/rel_apv_10_7/usr/click/lib/libca_snmp_mib/CA-SNMP-MIB_foreign.txt	(revision 38915)
+++ /branches/rel_apv_10_7/usr/click/lib/libca_snmp_mib/CA-SNMP-MIB_foreign.txt	(working copy)
@@ -5250,6 +5250,12 @@
 		linkUpTime	DisplayString,
 		linkDownTime    DisplayString,
 		linkDownCount	Integer32,
+		linkBandwidIn	Integer32,
+		linkBandwidOut	Integer32,
+		linkThresh	Integer32,
+		linkHits	Integer32,
+		linkConn	Integer32,
+		linkUsage	Integer32,
 		linkDownEvent	DisplayString} 
 linkIndex	OBJECT-TYPE 
 		SYNTAX	       Integer32
@@ -5305,6 +5311,42 @@
 		STATUS	       current
 		DESCRIPTION "Link route down event." 
 		::= { linkStatsEntry 9 } 
+linkBandwidIn   OBJECT-TYPE
+		SYNTAX	       Integer32
+		MAX-ACCESS     read-only
+		STATUS	       current
+		DESCRIPTION "Link avg. bandwidth (kbps) in."
+		::= { linkStatsEntry 10 }
+linkBandwidOut   OBJECT-TYPE
+		SYNTAX	       Integer32
+		MAX-ACCESS     read-only
+		STATUS	       current
+		DESCRIPTION "Link avg. bandwidth (kbps) out."
+		::= { linkStatsEntry 11 }
+linkThresh      OBJECT-TYPE
+		SYNTAX	       Integer32
+		MAX-ACCESS     read-only
+		STATUS	       current
+		DESCRIPTION "Link route max threshold (kbps)"
+		::= { linkStatsEntry 12 }
+linkHits        OBJECT-TYPE
+		SYNTAX	       Integer32
+		MAX-ACCESS     read-only
+		STATUS	       current
+		DESCRIPTION "Link route hits."
+		::= { linkStatsEntry 13 }
+linkConn        OBJECT-TYPE
+		SYNTAX	       Integer32
+		MAX-ACCESS     read-only
+		STATUS	       current
+		DESCRIPTION "Link route connection."
+		::= { linkStatsEntry 14 }
+linkUsage       OBJECT-TYPE
+		SYNTAX	       Integer32
+		MAX-ACCESS     read-only
+		STATUS	       current
+		DESCRIPTION "Link route usage."
+		::= { linkStatsEntry 15 }
 -- End of LLB MIB
 ---
 --- The statistics of arrayNetworks' orchestrator MIB
Index: /branches/rel_apv_10_7/usr/click/lib/libca_snmp_mib/llbMIB.c
===================================================================
--- /branches/rel_apv_10_7/usr/click/lib/libca_snmp_mib/llbMIB.c	(revision 38915)
+++ /branches/rel_apv_10_7/usr/click/lib/libca_snmp_mib/llbMIB.c	(working copy)
@@ -69,13 +69,13 @@
 {LKDOWNEVENT,  ASN_OCTET_STR,  NETSNMP_OLDAPI_RONLY,
  var_linkStatusTable, 5,  { 2,1,2,1,9 }},
 #define LKBANDIN		10
-{LKBANDIN,  ASN_OCTET_STR,  NETSNMP_OLDAPI_RONLY,
+{LKBANDIN,  ASN_INTEGER,  NETSNMP_OLDAPI_RONLY,
  var_linkStatusTable, 5,  { 2,1,2,1,10 }},
 #define LKBANDOUT		11
-{LKBANDOUT,  ASN_OCTET_STR,  NETSNMP_OLDAPI_RONLY,
+{LKBANDOUT,  ASN_INTEGER,  NETSNMP_OLDAPI_RONLY,
  var_linkStatusTable, 5,  { 2,1,2,1,11 }},
 #define LKTHRESH		12
-{LKTHRESH,  ASN_OCTET_STR,  NETSNMP_OLDAPI_RONLY,
+{LKTHRESH,  ASN_INTEGER,  NETSNMP_OLDAPI_RONLY,
  var_linkStatusTable, 5,  { 2,1,2,1,12 }},
 #define LKHITS		13
 {LKHITS,  ASN_INTEGER,  NETSNMP_OLDAPI_RONLY,
@@ -237,23 +237,14 @@
         } 		
         return (u_char *)string;		
     case LKBANDIN:
-        *var_len = llb_mib_get_link_bandwidth_in(idx, string, SPRINT_MAX_LEN);
-        if (*var_len == 0) {
-            return NULL;
-        }
-        return (u_char *)string;
+        long_ret = llb_mib_get_link_bandwidth_in(idx);
+	return (u_char *)&long_ret;
     case LKBANDOUT:
-        *var_len = llb_mib_get_link_bandwidth_out(idx, string, SPRINT_MAX_LEN);
-        if (*var_len == 0) {
-            return NULL;
-        }
-        return (u_char *)string;
+        long_ret = llb_mib_get_link_bandwidth_out(idx);
+	return (u_char *)&long_ret;
     case LKTHRESH:
-        *var_len = llb_mib_get_link_threshold(idx, string, SPRINT_MAX_LEN);
-        if (*var_len == 0) {
-            return NULL;
-        }
-        return (u_char *)string;
+        long_ret = llb_mib_get_link_threshold(idx);
+	return (u_char *)&long_ret;
     case LKHITS:
         long_ret = llb_mib_get_link_hits(idx);
         return (u_char *)&long_ret;
Index: /branches/rel_apv_10_7/usr/click/lib/libllb_hc/llb_snmp.h
===================================================================
--- /branches/rel_apv_10_7/usr/click/lib/libllb_hc/llb_snmp.h	(revision 38915)
+++ /branches/rel_apv_10_7/usr/click/lib/libllb_hc/llb_snmp.h	(working copy)
@@ -3,6 +3,9 @@
 
 long llb_mib_get_link_count(void);
 long llb_mib_get_link_down_count(int id); 
+long llb_mib_get_link_bandwidth_in(int id);
+long llb_mib_get_link_bandwidth_out(int id);
+long llb_mib_get_link_threshold(int id);
 long llb_mib_get_link_hits(int id);
 long llb_mib_get_link_connection(int id);
 long llb_mib_get_link_usage(int id);
@@ -14,9 +17,6 @@
 int llb_mib_get_link_up_time(int id, char *buf, int len);
 int llb_mib_get_link_down_time(int id, char *buf, int len);
 int llb_mib_get_link_down_event(int id, char *buf, int len);
-int llb_mib_get_link_bandwidth_in(int id, char *buf, int len);
-int llb_mib_get_link_bandwidth_out(int id, char *buf, int len);
-int llb_mib_get_link_threshold(int id, char *buf, int len);
 
 
 #endif 
Index: /branches/rel_apv_10_7/usr/click/lib/libllb_hc/llb_snmp.c
===================================================================
--- /branches/rel_apv_10_7/usr/click/lib/libllb_hc/llb_snmp.c	(revision 38915)
+++ /branches/rel_apv_10_7/usr/click/lib/libllb_hc/llb_snmp.c	(working copy)
@@ -240,58 +240,37 @@
 	return idx;
 }
 
-int llb_mib_get_link_bandwidth_in(int id, char *buf, int len)
+long llb_mib_get_link_bandwidth_in(int id)
 {
 	int lk_id;
-	uint64_t bandwidth;
 
 	if ((lk_id = get_nth_link(id)) < 0) {
 		return 0;
 	}
 
-	/* We will get the return values converted to kbps
-	 * if bps value is greater than INT_MAX to prevent overflow
-	 */
-	bandwidth = (uint64_t)llb_get_link_avg_bandwidth_in_kern(llb_mib_config->link[lk_id].name);
-	if (bandwidth*1024 > INT_MAX) {
-		return snprintf(buf, len, "%llukbps", bandwidth);
-	}
-	return snprintf(buf, len, "%llubps", bandwidth);
+	return (uint64_t)llb_get_link_avg_bandwidth_in_kern(llb_mib_config->link[lk_id].name);
 }
 
-int llb_mib_get_link_bandwidth_out(int id, char *buf, int len)
+long llb_mib_get_link_bandwidth_out(int id)
 {
 	int lk_id;
-	uint64_t bandwidth;
 
 	if ((lk_id = get_nth_link(id)) < 0) {
 		return 0;
 	}
 
-	/* We will get the return values converted to kbps
-	 * if bps value is greater than INT_MAX to prevent overflow
-	 */
-	bandwidth = (uint64_t)llb_get_link_avg_bandwidth_out_kern(llb_mib_config->link[lk_id].name);
-	if (bandwidth*1024 > INT_MAX) {
-		return snprintf(buf, len, "%llukbps", bandwidth);
-	}
-	return snprintf(buf, len, "%llubps", bandwidth);
+	return (uint64_t)llb_get_link_avg_bandwidth_out_kern(llb_mib_config->link[lk_id].name); 
 }
 
-int llb_mib_get_link_threshold(int id, char *buf, int len)
+long llb_mib_get_link_threshold(int id)
 {
 	int lk_id;
-	uint64_t max_bandwidth;
 
 	if ((lk_id = get_nth_link(id)) < 0) {
 		return 0;
 	}
 
-	max_bandwidth = (uint64_t)llb_get_link_max_bandwidth_kern(llb_mib_config->link[lk_id].name);
-	if (max_bandwidth*1024 > INT_MAX) {
-		return snprintf(buf, len, "%llukbps", max_bandwidth);
-	}
-	return snprintf(buf, len, "%llubps", max_bandwidth);
+	return (uint64_t)llb_get_link_max_bandwidth_kern(llb_mib_config->link[lk_id].name);
 }
 
 long llb_mib_get_link_hits(int id)
@@ -332,20 +311,8 @@
 	 * if bps value is greater than INT_MAX to prevent overflow
 	 */
 	bandwidth_in = (uint64_t)llb_get_link_avg_bandwidth_in_kern(llb_mib_config->link[lk_id].name);
-	/* check if return value been converted to kbps and
-	 * convert back to bps unit
-	 */
-	if (bandwidth_in * 1024 > INT_MAX) {
-		bandwidth_in*=1024;
-	}
 	bandwidth_out = (uint64_t)llb_get_link_avg_bandwidth_out_kern(llb_mib_config->link[lk_id].name);
-	if (bandwidth_out * 1024 > INT_MAX) {
-		bandwidth_out*=1024;
-	}
 	llb_max_bandwidth = (uint64_t)llb_get_link_max_bandwidth_kern(llb_mib_config->link[lk_id].name);
-	if (llb_max_bandwidth * 1024 > INT_MAX) {
-		llb_max_bandwidth*=1024;
-	}
 	if (bandwidth_in > bandwidth_out) {
 		usage = bandwidth_in * 100 / llb_max_bandwidth;
 	} else {
Index: /branches/rel_apv_10_7/usr/src/sys/click/app/llb/llb_hc.c
===================================================================
--- /branches/rel_apv_10_7/usr/src/sys/click/app/llb/llb_hc.c	(revision 38915)
+++ /branches/rel_apv_10_7/usr/src/sys/click/app/llb/llb_hc.c	(working copy)
@@ -2381,9 +2381,7 @@
 	}
 
 	bandwidth = llb_get_link_avg_bandwidth_in(link_node);
-	if (bandwidth > INT_MAX) {
-		bandwidth/=1024;
-	}
+	bandwidth/=1024;
 	return (int)bandwidth;
 }
 
@@ -2399,9 +2397,7 @@
 	}
 
 	bandwidth = llb_get_link_avg_bandwidth_out(link_node);
-	if (bandwidth > INT_MAX) {
-		bandwidth/=1024;
-	}
+	bandwidth/=1024;
 	return (int)bandwidth;
 }
 
@@ -2447,9 +2443,7 @@
 	}
 
 	llb_max_bandwidth = llb_get_link_max_bandwidth(link_node);
-	if (llb_max_bandwidth > INT_MAX) {
-		llb_max_bandwidth/=1024;
-	}
+	llb_max_bandwidth/=1024;
 	return llb_max_bandwidth;
 }
 
