tree 9a6e2dcdb6ade9023493d57b847300fc35277dfd
parent 300ed5cd36106e7e4a607fc8aad85e460a1b2a89
author Asmitha Karunanithi <asmitk01@in.ibm.com> 1641464279 -0600
committer Asmitha Karunanithi <asmitk01@in.ibm.com> 1666861454 -0500

Set static & dhcp sent ntp server ip on ethernet obj

Currently there is no way to differentiate between the Static
and DHCP assigned NTP servers at dbus

This commit adds StaticNTPServers peroperty to hold the static
configuration of NTP servers. This is a read-write property.
The existing NTPServer propery will hold both static and DHCP
assigned NTP servers. This is a read-only property.

The static and dhcp sent ntp server details are present in the
dbus object hosted by systemd-timesyncd service (mentioned in
Tested By section).

In this change, networkd fetches the ntp server details from the
timesyncd dbus object and set the "NTPServers" property with dhcp sent
ip and "StaticNTPServers" will be set from the configuration file.

Tested By:

* Change the ntp server ips in dhcp config file & restart dhcpd
* timesyncd dbus object contains the new list of ips as below:

busctl introspect org.freedesktop.timesync1 /org/freedesktop/timesync1
NAME                                TYPE      SIGNATURE          RESULT/VALUE                             FLAGS
org.freedesktop.DBus.Introspectable interface -                  -                                        -
.Introspect                         method    -                  s                                        -
org.freedesktop.DBus.Peer           interface -                  -                                        -
.GetMachineId                       method    -                  s                                        -
.Ping                               method    -                  -                                        -
org.freedesktop.DBus.Properties     interface -                  -                                        -
.Get                                method    ss                 v                                        -
.GetAll                             method    s                  a{sv}                                    -
.Set                                method    ssv                -                                        -
.PropertiesChanged                  signal    sa{sv}as           -                                        -
org.freedesktop.timesync1.Manager   interface -                  -                                        -
.FallbackNTPServers                 property  as                 4 "time1.google.com" "time2.google.com"… const
.Frequency                          property  x                  0                                        -
.LinkNTPServers                     property  as                 1 "1.1.1.1"                              -
.NTPMessage                         property  (uuuuittayttttbtt) 0 0 0 0 0 0 0 4 0 0 0 0 0 1844453508490… emits-change
.PollIntervalMaxUSec                property  t                  2048000000                               const
.PollIntervalMinUSec                property  t                  32000000                                 const
.PollIntervalUSec                   property  t                  2048000000                               -
.RootDistanceMaxUSec                property  t                  5000000                                  const
.ServerAddress                      property  (iay)              2 4 1 1 1 1                              -
.ServerName                         property  s                  "1.1.1.1"                                -
.SystemNTPServers                   property  as                 0                                        const

* Since network configuration has changed, the service restarts and
ntp server details are loaded from timesyncd dbus object & config file,
and are set in dbus objects hosted by networkd.

command: busctl introspect xyz.openbmc_project.Network /xyz/openbmc_project/network/eth0
         busctl introspect xyz.openbmc_project.Network /xyz/openbmc_project/network/eth1

* Ethernet interface network config files will be updated with NTP=<ip addresses> under [Network]

command: cat /etc/systemd/network/00-bmc-eth0.network
         cat /etc/systemd/network/00-bmc-eth1.network

Signed-off-by: Asmitha Karunanithi <asmitk01@in.ibm.com>
Change-Id: If8b1b3ed2afb531f179e00da173f6f86a1bf0c18
