Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933500Ab2HQBP5 (ORCPT ); Thu, 16 Aug 2012 21:15:57 -0400 Received: from p3plsmtps2ded02.prod.phx3.secureserver.net ([208.109.80.59]:53550 "HELO p3plsmtps2ded02-02.prod.phx3.secureserver.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S932728Ab2HQBPw (ORCPT ); Thu, 16 Aug 2012 21:15:52 -0400 From: "K. Y. Srinivasan" To: gregkh@linuxfoundation.org, linux-kernel@vger.kernel.org, devel@linuxdriverproject.org, virtualization@lists.osdl.org, olaf@aepfle.de, apw@canonical.com, ben@decadent.org.uk Cc: "K. Y. Srinivasan" Subject: [PATCH V3 05/14] Tools: hv: Gather subnet information Date: Thu, 16 Aug 2012 18:32:16 -0700 Message-Id: <1345167145-5513-5-git-send-email-kys@microsoft.com> X-Mailer: git-send-email 1.7.4.1 In-Reply-To: <1345167145-5513-1-git-send-email-kys@microsoft.com> References: <1345167068-5461-1-git-send-email-kys@microsoft.com> <1345167145-5513-1-git-send-email-kys@microsoft.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1989 Lines: 69 Now, gather sub-net information for the specified interface. Signed-off-by: K. Y. Srinivasan Reviewed-by: Haiyang Zhang --- tools/hv/hv_kvp_daemon.c | 31 +++++++++++++++++++++++++++++-- 1 files changed, 29 insertions(+), 2 deletions(-) diff --git a/tools/hv/hv_kvp_daemon.c b/tools/hv/hv_kvp_daemon.c index 13ae098..de1724c 100644 --- a/tools/hv/hv_kvp_daemon.c +++ b/tools/hv/hv_kvp_daemon.c @@ -534,6 +534,7 @@ kvp_get_ip_address(int family, char *if_name, int op, struct ifaddrs *ifap; struct ifaddrs *curp; int offset = 0; + int sn_offset = 0; const char *str; int error = 0; char *buffer; @@ -594,12 +595,38 @@ kvp_get_ip_address(int family, char *if_name, int op, * Gather info other than the IP address. * IP address info will be gathered later. */ - if (curp->ifa_addr->sa_family == AF_INET) + if (curp->ifa_addr->sa_family == AF_INET) { ip_buffer->addr_family |= ADDR_FAMILY_IPV4; - else + /* + * Get subnet info. + */ + error = kvp_process_ip_address( + curp->ifa_netmask, + AF_INET, + (char *) + ip_buffer->sub_net, + length, + &sn_offset); + if (error) + goto gather_ipaddr; + } else { ip_buffer->addr_family |= ADDR_FAMILY_IPV6; + /* + * Get subnet info. + */ + error = kvp_process_ip_address( + curp->ifa_netmask, + AF_INET6, + (char *) + ip_buffer->sub_net, + length, + &sn_offset); + if (error) + goto gather_ipaddr; + } } +gather_ipaddr: error = kvp_process_ip_address(curp->ifa_addr, curp->ifa_addr->sa_family, buffer, -- 1.7.4.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/