hv/hv_kvp_daemon:Support for keyfile based connection profile
authorShradha Gupta <shradhagupta@linux.microsoft.com>
Mon, 9 Oct 2023 10:38:40 +0000 (03:38 -0700)
committerWei Liu <wei.liu@kernel.org>
Tue, 10 Oct 2023 03:42:29 +0000 (03:42 +0000)
commit42999c90461293233de9bb6e6c7d8a2db7281c1e
treec067dca3eef44635d532275970e937289fbbc9d3
parentcfc7461a60e324f75dc9d1beadc07890140ffd29
hv/hv_kvp_daemon:Support for keyfile based connection profile

Ifcfg config file support in NetworkManger is deprecated. This patch
provides support for the new keyfile config format for connection
profiles in NetworkManager. The patch modifies the hv_kvp_daemon code
to generate the new network configuration in keyfile
format(.ini-style format) along with a ifcfg format configuration.
The ifcfg format configuration is also retained to support easy
backward compatibility for distro vendors. These configurations are
stored in temp files which are further translated using the
hv_set_ifconfig.sh script. This script is implemented by individual
distros based on the network management commands supported.
For example, RHEL's implementation could be found here:
https://gitlab.com/redhat/centos-stream/src/hyperv-daemons/-/blob/c9s/hv_set_ifconfig.sh
Debian's implementation could be found here:
https://github.com/endlessm/linux/blob/master/debian/cloud-tools/hv_set_ifconfig

The next part of this support is to let the Distro vendors consume
these modified implementations to the new configuration format.

Tested-on: Rhel9(Hyper-V, Azure)(nm and ifcfg files verified)
Signed-off-by: Shradha Gupta <shradhagupta@linux.microsoft.com>
Reviewed-by: Saurabh Sengar <ssengar@linux.microsoft.com>
Reviewed-by: Ani Sinha <anisinha@redhat.com>
Signed-off-by: Wei Liu <wei.liu@kernel.org>
Link: https://lore.kernel.org/r/1696847920-31125-1-git-send-email-shradhagupta@linux.microsoft.com
tools/hv/hv_kvp_daemon.c
tools/hv/hv_set_ifconfig.sh