kopia lustrzana https://github.com/espressif/esp-idf
system api: Check if Base MAC is a unicast MAC before setting
Closes https://github.com/espressif/esp-idf/issues/4263 Closes IDFGH-2096pull/4345/head
rodzic
a45e998534
commit
912bd03a5c
|
@ -51,7 +51,11 @@ esp_err_t esp_base_mac_addr_set(uint8_t *mac)
|
|||
{
|
||||
if (mac == NULL) {
|
||||
ESP_LOGE(TAG, "Base MAC address is NULL");
|
||||
abort();
|
||||
return ESP_ERR_INVALID_ARG;
|
||||
}
|
||||
if (mac[0] & 0x01) {
|
||||
ESP_LOGE(TAG, "Base MAC must be a unicast MAC");
|
||||
return ESP_ERR_INVALID_ARG;
|
||||
}
|
||||
|
||||
memcpy(base_mac_addr, mac, 6);
|
||||
|
|
|
@ -54,7 +54,11 @@ esp_err_t esp_base_mac_addr_set(uint8_t *mac)
|
|||
{
|
||||
if (mac == NULL) {
|
||||
ESP_LOGE(TAG, "Base MAC address is NULL");
|
||||
abort();
|
||||
return ESP_ERR_INVALID_ARG;
|
||||
}
|
||||
if (mac[0] & 0x01) {
|
||||
ESP_LOGE(TAG, "Base MAC must be a unicast MAC");
|
||||
return ESP_ERR_INVALID_ARG;
|
||||
}
|
||||
|
||||
memcpy(base_mac_addr, mac, 6);
|
||||
|
|
|
@ -161,9 +161,15 @@ void esp_fill_random(void *buf, size_t len);
|
|||
* address with the MAC address which is stored in BLK3 of EFUSE or external storage before initializing
|
||||
* WiFi/BT/Ethernet.
|
||||
*
|
||||
* @note Base MAC must be a unicast MAC (least significant bit of first byte must be zero).
|
||||
*
|
||||
* @note If not using a valid OUI, set the "locally administered" bit
|
||||
* (bit value 0x02 in the first byte) to avoid collisions.
|
||||
*
|
||||
* @param mac base MAC address, length: 6 bytes.
|
||||
*
|
||||
* @return ESP_OK on success
|
||||
* ESP_ERR_INVALID_ARG If mac is NULL or is not a unicast MAC
|
||||
*/
|
||||
esp_err_t esp_base_mac_addr_set(uint8_t *mac);
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue