X-Git-Url: https://git.kernelconcepts.de/?p=karo-tx-uboot.git;a=blobdiff_plain;f=doc%2FREADME.enetaddr;h=50e4899787792246face19fcb4561afe0eafca1e;hp=1eaeaf9416efb5c76a81a202390f4bf110b11adc;hb=9d6b51ff1a11b47879e44a83a14c7b49c1893852;hpb=0878222fed3fafbfd0b1f2e5a6b2da90a81e910d diff --git a/doc/README.enetaddr b/doc/README.enetaddr index 1eaeaf9416..50e4899787 100644 --- a/doc/README.enetaddr +++ b/doc/README.enetaddr @@ -15,7 +15,7 @@ Here are the places where MAC addresses might be stored: - board-specific location (eeprom, dedicated flash, ...) Note: only used when mandatory due to hardware design etc... - - environment ("ethaddr", "eth1addr", ...) (see CONFIG_ETHADDR) + - environment ("ethaddr", "eth1addr", ...) Note: this is the preferred way to permanently store MAC addresses - ethernet data (struct eth_device -> enetaddr) @@ -37,6 +37,8 @@ Correct flow of setting up the MAC address (summarized): environment variable will be used unchanged. If the environment variable is not set, it will be initialized from eth_device->enetaddr, and a warning will be printed. + If both are invalid and CONFIG_NET_RANDOM_ETHADDR is defined, a random, + locally-assigned MAC is written to eth_device->enetaddr. 4. Program the address into hardware if the following conditions are met: a) The relevant driver has a 'write_addr' function b) The user hasn't set an 'ethmacskip' environment variable @@ -87,7 +89,7 @@ eth_parse_enetaddr(addr, enetaddr); Look up an environment variable and convert the stored address. If the address is valid, then the function returns 1. Otherwise, the function returns 0. In all cases, the enetaddr memory is initialized. If the env var is not found, -then it is set to all zeros. The common function is_valid_ether_addr() is used +then it is set to all zeros. The common function is_valid_ethaddr() is used to determine address validity. uchar enetaddr[6]; if (!eth_getenv_enetaddr("ethaddr", enetaddr)) {