Commit 2eb72d4b authored by Alex Fluter's avatar Alex Fluter Committed by Greg Kroah-Hartman

Tools: hv: kvp: configurable external scripts path

error when running hypervkvpd:
$ sudo ./hv_kvp_daemon -n

sh: hv_get_dns_info: command not found
sh: hv_get_dhcp_info: command not found
sh: hv_get_dns_info: command not found
sh: hv_get_dhcp_info: command not found

The external scripts are not installed in system path,
adding a configurable macro.
Signed-off-by: default avatarAlex Fluter <afluter@yandex.com>
Signed-off-by: default avatarK. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 95096f2f
...@@ -93,6 +93,10 @@ static struct utsname uts_buf; ...@@ -93,6 +93,10 @@ static struct utsname uts_buf;
#define KVP_CONFIG_LOC "/var/lib/hyperv" #define KVP_CONFIG_LOC "/var/lib/hyperv"
#ifndef KVP_SCRIPTS_PATH
#define KVP_SCRIPTS_PATH "/usr/libexec/hypervkvpd/"
#endif
#define MAX_FILE_NAME 100 #define MAX_FILE_NAME 100
#define ENTRIES_PER_BLOCK 50 #define ENTRIES_PER_BLOCK 50
...@@ -818,7 +822,7 @@ static void kvp_get_ipconfig_info(char *if_name, ...@@ -818,7 +822,7 @@ static void kvp_get_ipconfig_info(char *if_name,
* . * .
*/ */
sprintf(cmd, "%s", "hv_get_dns_info"); sprintf(cmd, KVP_SCRIPTS_PATH "%s", "hv_get_dns_info");
/* /*
* Execute the command to gather DNS info. * Execute the command to gather DNS info.
...@@ -835,7 +839,7 @@ static void kvp_get_ipconfig_info(char *if_name, ...@@ -835,7 +839,7 @@ static void kvp_get_ipconfig_info(char *if_name,
* Enabled: DHCP enabled. * Enabled: DHCP enabled.
*/ */
sprintf(cmd, "%s %s", "hv_get_dhcp_info", if_name); sprintf(cmd, KVP_SCRIPTS_PATH "%s %s", "hv_get_dhcp_info", if_name);
file = popen(cmd, "r"); file = popen(cmd, "r");
if (file == NULL) if (file == NULL)
...@@ -1341,7 +1345,8 @@ static int kvp_set_ip_info(char *if_name, struct hv_kvp_ipaddr_value *new_val) ...@@ -1341,7 +1345,8 @@ static int kvp_set_ip_info(char *if_name, struct hv_kvp_ipaddr_value *new_val)
* invoke the external script to do its magic. * invoke the external script to do its magic.
*/ */
snprintf(cmd, sizeof(cmd), "%s %s", "hv_set_ifconfig", if_file); snprintf(cmd, sizeof(cmd), KVP_SCRIPTS_PATH "%s %s",
"hv_set_ifconfig", if_file);
if (system(cmd)) { if (system(cmd)) {
syslog(LOG_ERR, "Failed to execute cmd '%s'; error: %d %s", syslog(LOG_ERR, "Failed to execute cmd '%s'; error: %d %s",
cmd, errno, strerror(errno)); cmd, errno, strerror(errno));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment