-
Notifications
You must be signed in to change notification settings - Fork 50
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MAC address is not persistent on Rebooting the system. #69
Comments
Does your machine have configured a place to store the MAC? Or are you expecting it to be saved in u-boot? |
The MAC address we assign was persistent on reboot in earlier builds, this issue we are noticing is only on recent builds. |
Specifically, what version of phosphor-networkd are you using? |
Also, did you possibly enable https://github.com/openbmc/phosphor-networkd/blob/master/meson_options.txt#L13 in your config? |
We are using the lastest networkd. @raviteja-b @sunharis Can you please answer Wak's questions. |
yes, enabled persist-mac meson flag. |
Are you sure you have 9caa64d |
yes @wak-google |
Have you checked the u-boot environment to see if the MAC has been set? |
Do we have any update here? We are expecting MAC address to be persistent on reboot like earlier. |
Seems likely no one has further ideas and you will need to debug and fix it? |
I'd love to fix, need some info why the earlier function is changed? which commit has introduced this issue? as we are seeing this issue very recently. |
If we knew this, the fix would probably be obvious. You’re welcome to experiment with |
Have you performed any of the troubleshooting i suggested to help isolate which step might be failing? What were the results? |
@prkatti1, how recently did you notice the behavior change? We did recently (OpenBMC incorporated it in this kernel update) add this patch affecting the ftgmac100 MAC-address initialization path; I'm not sure offhand if/how it could be causing the problem you're seeing, but it might be worth testing a revert to see if it changes anything? |
We are seeing this issue from April onwards. @zevweiss |
MAC address was persistent on rebooting the system for the past 7 years, seeing this change only from April onwards @zevweiss |
Okay, well that's significantly before the patch I linked went in, so presumably not the cause (for @swe12345 at least -- does your "we" also include @prkatti1? Not sure if you're at the same employer). As suggested above, investigating with |
After rebooting the machine seeing that printenv in uboot environment is updated with the original value and not the new changed MAC address. ===On setting the MAC address Error: "eth2addr" not definedast# ====After reboot Error: "eth2addr" not definedast# |
So the u-boot environment is not being updated when the change is made (it's not reverting back much more likely it's not being set, unless there is a mismatched size causing a checksum error and revert to b side) Next suggested debug step is confirm the u-boot environment with After that it's trace phosphor-networkd invoking |
@zevweiss @mdmillerii =====On rebooting the system |
Check if either your u-boot or a script is extracting it from vpd even when already set. You can read at u-boot prompt after setting before reboot. |
On changing the MAC address seeing that the VPD is not updated with the updated value. And on rebooting the system too the MAC remains same(original MAC) in the VPD. |
There is no code I'm aware of to update VPD for a MAC change. It's expected that any such change from shell or redfish would be administratively assigned and not the manufacturer assigned address which would be expected in the VPD. I suppose the recent change to support the kernel to read the MAC from nvmem eg I2C exposes we don't have a path to record the administrator override address in phosphor networkd. Systemd networkd can use a .link file to store the permanent and desired MAC address to use but code will need to be submitted to gerrit to manage to manage the file. If you have a script taking the value from vpd and assigning the Mac then it needs to be written with only once logic. Note I don't recall seeing which platform you are building throughout this issue. Also, please review the markdown syntax when posting log or code snippets. The documentation is linked just under the editor text box {Markdown is supported.](https://docs.github.com/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax) |
On rebooting the system expecting that the newly assigned MAC address must persist
Steps:
curl -k -H "X-Auth-Token:${bmc_token}" -X PATCH -D patch.txt -d '{"MACAddress":"xx:xx:xx:xx:xx:xx"}' https://$bmc/redfish/v1/Managers/bmc/EthrnetInterfaces/eth0
curl -k -H "X-Auth-Token:${bmc_token}" -X GET https://${bmc}/redfish/v1/Managers/bmc/EthernetInterfaces/eth0
Expectation:
Expecting that the MAC address should persist on rebooting the system.
@sunharis @raviteja-b
The text was updated successfully, but these errors were encountered: