openbmc / phosphor-networkd

Apache License 2.0
18 stars 49 forks source link

Support multiple IPv6 Static default gateways #64

Open raviteja-b opened 1 year ago

raviteja-b commented 1 year ago

As per Redfish schemas and RFCs Multiple static default gateways needs to supported on each interface,

Currently Networkd supports only a single IPv6 default gateway on each interface, but Redfish supports IPv6StaticDefaultGateway collection in the EthernetInterface schema

can we add multiple static default gateways support for each each interface?

raviteja-b commented 1 year ago

@wak-google @ratagupt I think we need to support multiple ipv6 static gateway on each interface what do you think?

sunharis commented 1 year ago

@ratagupt @wak-google This is being worked via these below commits.

Dbus: https://gerrit.openbmc.org/c/openbmc/phosphor-dbus-interfaces/+/60517 Networkd: https://gerrit.openbmc.org/c/openbmc/phosphor-networkd/+/63033 Redfish: https://gerrit.openbmc.org/c/openbmc/bmcweb/+/62255

plmanik commented 1 year ago

@sunharis We are not able to see IPv6StaticDefaultGateways in get response and able to use IPv6StaticDefaultGateways in patch request only. IPv6StaticDefaultGateways attribute is not coming in get response of EthernetInterface instance as of now. Hope above changes is returning IPv6StaticDefaultGateways in get response

Thanks, Mani

sunharis commented 1 year ago

@sunharis We are not able to see IPv6StaticDefaultGateways in get response and able to use IPv6StaticDefaultGateways in patch request only. IPv6StaticDefaultGateways attribute is not coming in get response of EthernetInterface instance as of now. Hope above changes is returning IPv6StaticDefaultGateways in get response

Thanks, Mani

Yes Mani. Please try by picking all these commits together. Existing changes in these should give the IPv6StaticDefaultGateways as mentioned in the bmcweb commit message. I am reworking on the bmcweb commit on the outstanding review comments though.

plmanik commented 1 year ago

Thanks @sunharis and we will take changes, check further. Adding one more point from forum(https://redfishforum.com/post/1062/thread) and it applies same for IPv6StaticDefaultGateways

IPv6StaticAddress is the control surface the client can use to request what the static address should be, whereas the IPv6Addresses property shows the actual address of the interface. The reason we have two properties is in case the static address requested by the user cannot be applied at that time, or if there was some fallback condition where a different address was used. Bundling it into a single property could cause confusion where the client PATCHes it to one value, and comes back 5 minutes later to see something else.

Thanks, Mani