2014-12-10 10:23:11

by Dexuan Cui

[permalink] [raw]
Subject: [PATCH v2] tools: hv: kvp_daemon: make IPv6-only-injection work

In the case the host only injects an IPv6 address, the dhcp_enabled flag is
true (it's only for IPv4 according to Hyper-V host team), but we still need to
proceed to parse the IPv6 information.

Cc: Vitaly Kuznetsov <[email protected]>
Cc: K. Y. Srinivasan <[email protected]>
Signed-off-by: Dexuan Cui <[email protected]>
---

v2: removed the distro-specific logic as Vitaly suggested.

tools/hv/hv_kvp_daemon.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/tools/hv/hv_kvp_daemon.c b/tools/hv/hv_kvp_daemon.c
index 6a6432a..4b3ee35 100644
--- a/tools/hv/hv_kvp_daemon.c
+++ b/tools/hv/hv_kvp_daemon.c
@@ -1308,16 +1308,17 @@ static int kvp_set_ip_info(char *if_name, struct hv_kvp_ipaddr_value *new_val)
if (error)
goto setval_error;

+ /*
+ * The dhcp_enabled flag is only for IPv4. In the case the host only
+ * injects an IPv6 address, the flag is true, but we still need to
+ * proceed to parse and pass the IPv6 information to the
+ * disto-specific script hv_set_ifconfig.
+ */
if (new_val->dhcp_enabled) {
error = kvp_write_file(file, "BOOTPROTO", "", "dhcp");
if (error)
goto setval_error;

- /*
- * We are done!.
- */
- goto setval_done;
-
} else {
error = kvp_write_file(file, "BOOTPROTO", "", "none");
if (error)
@@ -1345,7 +1346,6 @@ static int kvp_set_ip_info(char *if_name, struct hv_kvp_ipaddr_value *new_val)
if (error)
goto setval_error;

-setval_done:
fclose(file);

/*
--
1.9.1


2014-12-17 01:58:10

by Dexuan Cui

[permalink] [raw]
Subject: RE: [PATCH v2] tools: hv: kvp_daemon: make IPv6-only-injection work

> -----Original Message-----
> From: devel [mailto:[email protected]] On
> Behalf Of Dexuan Cui
> Sent: Wednesday, December 10, 2014 19:33 PM
> To: [email protected]; [email protected]; driverdev-
> [email protected]; [email protected]; [email protected];
> [email protected]; [email protected]; KY Srinivasan
> Cc: Haiyang Zhang
> Subject: [PATCH v2] tools: hv: kvp_daemon: make IPv6-only-injection work
>
> In the case the host only injects an IPv6 address, the dhcp_enabled flag is
> true (it's only for IPv4 according to Hyper-V host team), but we still need to
> proceed to parse the IPv6 information.
>
> Cc: Vitaly Kuznetsov <[email protected]>
> Cc: K. Y. Srinivasan <[email protected]>
> Signed-off-by: Dexuan Cui <[email protected]>
> ---
>
> v2: removed the distro-specific logic as Vitaly suggested.
>
> tools/hv/hv_kvp_daemon.c | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/tools/hv/hv_kvp_daemon.c b/tools/hv/hv_kvp_daemon.c
> index 6a6432a..4b3ee35 100644
> --- a/tools/hv/hv_kvp_daemon.c
> +++ b/tools/hv/hv_kvp_daemon.c
> @@ -1308,16 +1308,17 @@ static int kvp_set_ip_info(char *if_name, struct
> hv_kvp_ipaddr_value *new_val)
> if (error)
> goto setval_error;
>
> + /*
> + * The dhcp_enabled flag is only for IPv4. In the case the host only
> + * injects an IPv6 address, the flag is true, but we still need to
> + * proceed to parse and pass the IPv6 information to the
> + * disto-specific script hv_set_ifconfig.
> + */
> if (new_val->dhcp_enabled) {
> error = kvp_write_file(file, "BOOTPROTO", "", "dhcp");
> if (error)
> goto setval_error;
>
> - /*
> - * We are done!.
> - */
> - goto setval_done;
> -
> } else {
> error = kvp_write_file(file, "BOOTPROTO", "", "none");
> if (error)
> @@ -1345,7 +1346,6 @@ static int kvp_set_ip_info(char *if_name, struct
> hv_kvp_ipaddr_value *new_val)
> if (error)
> goto setval_error;
>
> -setval_done:
> fclose(file);
>
> /*
> --
> 1.9.1

Hi Vitaly,
Can you please ACK the v2 patch?
Or, please let me know if you have new comments.

Thanks,
-- Dexuan