diff --git a/bcm/bcm.c b/bcm/bcm.c
index 5f323ac36662994c86ddafec02035c8a4ed3f1d7..83aff1e789473c3c5151a5266f224bd2669753be 100644
--- a/bcm/bcm.c
+++ b/bcm/bcm.c
@@ -431,10 +431,8 @@ int bcm_eth_get_rmon_stats(const char *ifname, struct eth_rmon_stats *rmon)
 
 	//data.op = ETHSWDUMPMIB;
 	data.op = ETHSWEMACGET;
-	data.port = port;
-	data.unit = unit;
-	data.queue = rmon->txq < 0 ? -1 : rmon->txq;
-
+	strncpy(data.ifname, ifname, OBJIFNAMSIZ);
+	data.addressing_flag |= (ETHSW_ADDRESSING_DEV);
 
 	ret = eth_ioctl(ifname, SIOCETHSWCTLOPS, &data,
 						sizeof(struct ethswctl_data));