openbmc / phosphor-networkd

Apache License 2.0
18 stars 49 forks source link

Unable to restore IPv6 RA and DHCPv6 client via IPMI Set LAN Config #59

Open Howitzer105mm opened 1 year ago

Howitzer105mm commented 1 year ago

There is a corner case in phosphor-network ethernet_interface.cpp. The failure involves using IPMI commands to assign/deassign IPv6 static addresses. Assigning a static address using ipmitool raw 0xc 1 0x38 0x80 .... succeeds in creating a static IP address, and turning off IPv6RA/DHCPv6Client. Disabling the IP address using ipmitool raw 0xc 1 0x38 0x0 .... enables IPv6RA, but leaves DHCPv6Client=false. Following up and enabling IPv6RA explicitly leaves the NIC w/o the DHCPv6Client assigned true. ipmitool raw 0xc 1 3 0x40 3 The BMC reports that IPv6AcceptRA is asserted, and the network.config file agrees. However, because there is no explicit control over the DHCPv6Client, based on the desired state instead of some portion of the current state, the BMC never recovers a working DHCPv6 configuration that assigns a stateful v6 address.

sunharis commented 1 year ago

@Howitzer105mm Please check if the issues are addressed with the below commits.

https://gerrit.openbmc.org/c/openbmc/phosphor-networkd/+/61997 https://gerrit.openbmc.org/c/openbmc/phosphor-networkd/+/62033 https://gerrit.openbmc.org/c/openbmc/phosphor-networkd/+/61791