if (prxattrib->encrypt == _TKIP_) {
                /* calculate mic code */
                if (stainfo) {
-                       if (IS_MCAST(prxattrib->ra)) {
+                       if (is_multicast_ether_addr(prxattrib->ra)) {
                                mickey = &psecuritypriv->dot118021XGrprxmickey[prxattrib->key_index].skey[0];
 
                                if (!psecuritypriv) {
                        if (bmic_err) {
                                /*  double check key_index for some timing issue , */
                                /*  cannot compare with psecuritypriv->dot118021XGrpKeyid also cause timing issue */
-                               if (IS_MCAST(prxattrib->ra) && prxattrib->key_index != pmlmeinfo->key_index)
+                               if (is_multicast_ether_addr(prxattrib->ra) && prxattrib->key_index != pmlmeinfo->key_index)
                                        brpt_micerror = false;
 
                                if ((prxattrib->bdecrypted) && (brpt_micerror)) {
-                                       rtw_handle_tkip_mic_err(adapter, (u8)IS_MCAST(prxattrib->ra));
+                                       rtw_handle_tkip_mic_err(adapter, (u8)is_multicast_ether_addr(prxattrib->ra));
                                        DBG_88E(" mic error :prxattrib->bdecrypted=%d\n", prxattrib->bdecrypted);
                                } else {
                                        DBG_88E(" mic error :prxattrib->bdecrypted=%d\n", prxattrib->bdecrypted);
                                res = _FAIL;
                        } else {
                                /* mic checked ok */
-                               if ((!psecuritypriv->bcheck_grpkey) && (IS_MCAST(prxattrib->ra)))
+                               if (!psecuritypriv->bcheck_grpkey && is_multicast_ether_addr(prxattrib->ra))
                                        psecuritypriv->bcheck_grpkey = true;
                        }
                }
 
        padapter->mlmepriv.LinkDetectInfo.NumRxOkInPeriod++;
 
-       if (!is_broadcast_ether_addr(pattrib->dst) && !IS_MCAST(pattrib->dst))
+       if (!is_broadcast_ether_addr(pattrib->dst) && !is_multicast_ether_addr(pattrib->dst))
                padapter->mlmepriv.LinkDetectInfo.NumRxUnicastOkInPeriod++;
 
        if (sta)
        u8 *mybssid  = get_bssid(pmlmepriv);
        u8 *myhwaddr = myid(&adapter->eeprompriv);
        u8 *sta_addr = NULL;
-       int bmcast = IS_MCAST(pattrib->dst);
+       bool bmcast = is_multicast_ether_addr(pattrib->dst);
 
        if (check_fwstate(pmlmepriv, WIFI_ADHOC_STATE) ||
            check_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE)) {
        } else if (check_fwstate(pmlmepriv, WIFI_AP_STATE)) {
                if (bmcast) {
                        /*  For AP mode, if DA == MCAST, then BSSID should be also MCAST */
-                       if (!IS_MCAST(pattrib->bssid)) {
+                       if (!is_multicast_ether_addr(pattrib->bssid)) {
                                        ret = _FAIL;
                                        goto exit;
                        }
        struct  mlme_priv *pmlmepriv = &adapter->mlmepriv;
        u8 *mybssid  = get_bssid(pmlmepriv);
        u8 *myhwaddr = myid(&adapter->eeprompriv);
-       int bmcast = IS_MCAST(pattrib->dst);
+       bool bmcast = is_multicast_ether_addr(pattrib->dst);
 
        if (check_fwstate(pmlmepriv, WIFI_STATION_STATE) &&
            (check_fwstate(pmlmepriv, _FW_LINKED) ||
        }
 
        if (pattrib->privacy) {
-               GET_ENCRY_ALGO(psecuritypriv, psta, pattrib->encrypt, IS_MCAST(pattrib->ra));
+               GET_ENCRY_ALGO(psecuritypriv, psta, pattrib->encrypt, is_multicast_ether_addr(pattrib->ra));
 
                SET_ICE_IV_LEN(pattrib->iv_len, pattrib->icv_len, pattrib->encrypt);
        } else {
        if (ret == _SUCCESS) {
                /* check if need to enqueue into uc_swdec_pending_queue*/
                if (check_fwstate(mlmepriv, WIFI_STATION_STATE) &&
-                   !IS_MCAST(prxattrib->ra) && prxattrib->encrypt > 0 &&
+                   !is_multicast_ether_addr(prxattrib->ra) && prxattrib->encrypt > 0 &&
                    (prxattrib->bdecrypted == 0 || psecuritypriv->sw_decrypt) &&
                     psecuritypriv->ndisauthtype == Ndis802_11AuthModeWPAPSK &&
                     !psecuritypriv->busetkipkey) {