> > > + /* Get mac-address from nvmem. */ > > > + ret = spl2sw_nvmem_get_mac_address(&pdev->dev, port_np, mac_addr); > > > + if (ret) { > > > + dev_info(&pdev->dev, "Generate a random mac address!\n"); > > > + > > > + /* Generate a mac address using OUI of Sunplus Technology > > > + * and random controller number. > > > + */ > > > + mac_addr[0] = 0xfc; /* OUI of Sunplus: fc:4b:bc */ > > > + mac_addr[1] = 0x4b; > > > + mac_addr[2] = 0xbc; > > > + mac_addr[3] = get_random_int() % 256; > > > + mac_addr[4] = get_random_int() % 256; > > > + mac_addr[5] = get_random_int() % 256; > > > > I don't think you can do that. Either you use your OUI and assign the > > address at manufacture or you must use a locally administered address. > > And if locally administered address is used it better be completely > > random to lower the probability of collision to absolute minimum. > > I commented about that in an earlier version of these patches. We probably need a quote > from the 802.1 or 802.3 which says this is O.K. > > Andrew Hi Andrew, I plan to replace above statements with: eth_random_addr(mac_addr); eth_random_addr() generates locally administered (random) address. Do you mean I can keep use the mac address: "OUI + random number"? Only need to add comment for it. What comment should I add? Which one do you recommend? Thank you very much for your review. Best regards, Wells