net: shell: Add MAC address validation
Validate MAC address before setting, add new helper APIs to cover all cases. Signed-off-by: Krishna T <krishna.t@nordicsemi.no>
This commit is contained in:
parent
6cbe9a0c16
commit
7952197a89
2 changed files with 17 additions and 2 deletions
|
@ -3598,8 +3598,9 @@ static int cmd_net_set_mac(const struct shell *sh, size_t argc, char *argv[])
|
|||
goto err;
|
||||
}
|
||||
|
||||
if (net_bytes_from_str(mac_addr.addr, sizeof(mac_addr), argv[2]) < 0) {
|
||||
PR_WARNING("Invalid MAC address\n");
|
||||
if ((net_bytes_from_str(mac_addr.addr, sizeof(mac_addr), argv[2]) < 0) ||
|
||||
!net_eth_is_addr_valid(&mac_addr)) {
|
||||
PR_WARNING("Invalid MAC address: %s\n", argv[2]);
|
||||
goto err;
|
||||
}
|
||||
|
||||
|
@ -3613,6 +3614,10 @@ static int cmd_net_set_mac(const struct shell *sh, size_t argc, char *argv[])
|
|||
goto err;
|
||||
}
|
||||
|
||||
PR_INFO("MAC address set to %s\n",
|
||||
net_sprint_ll_addr(net_if_get_link_addr(iface)->addr,
|
||||
net_if_get_link_addr(iface)->len));
|
||||
|
||||
return 0;
|
||||
err:
|
||||
return -ENOEXEC;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue