From nobody Mon Feb 9 12:26:41 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=none dis=none) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1600772336; cv=none; d=zohomail.com; s=zohoarc; b=MNItdnTPfUUDw+FDX9FWJI5hAi9l7N2UUiq9rAsu0JkDeNO/Sj+BWYWsfY2JIxS4W+kGXDk6a5yXHnR0v9f84xENoVEFFt1Nu7UhjRMDYb8QggYkrHL7uIVhMHHC9LYjUlhMSh9nK2o6FHNDkhl2ByN6sFcGsvyuRyp/izDtlT8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1600772336; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=gvV/6AUBRn3iyr7G7MIQr6c1JY593oPOEHum75Oq12E=; b=jediGwR2/ePwotgcQkedueYDGadS1S++6QHa7ZxyJt3Ba5etcGUWlmwwyQ+XoEvARZQVFZudQ3F0hV/1XjhcDvd/+gF0zViN79uX8L/d7L/8dVYaRUVhcTQNbGSMCn/t1Nb6UefKsOaE+Uf5JmfMFZlzG+n/sB8VaUVE0K0RRBs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1600772336647163.2050232895847; Tue, 22 Sep 2020 03:58:56 -0700 (PDT) Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1kKg0M-0002fW-4r; Tue, 22 Sep 2020 10:58:38 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1kKg0K-0002eH-Gn for xen-devel@lists.xenproject.org; Tue, 22 Sep 2020 10:58:36 +0000 Received: from mx2.suse.de (unknown [195.135.220.15]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id a67fb3fc-4d5f-4935-b168-97b0d23d49c5; Tue, 22 Sep 2020 10:58:29 +0000 (UTC) Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id 813F0AE09; Tue, 22 Sep 2020 10:59:05 +0000 (UTC) X-Inumbo-ID: a67fb3fc-4d5f-4935-b168-97b0d23d49c5 X-Virus-Scanned: by amavisd-new at test-mx.suse.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1600772308; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=gvV/6AUBRn3iyr7G7MIQr6c1JY593oPOEHum75Oq12E=; b=fPqa7Nk/C5Rdqdxq00C3hckZjNbLUH41347bJRZu1nmecYQjdOqYr5X05x1ajHVG++9udt WOqN9IJj4cuV1Snbcilg1G2FaA76ZCs4zn+KRVYpebDk5qIgSouYNeSiSoUJJ9p2UPxhRG yIGzlQTIpTdY6H8XM9jotsgB8W0mt9s= From: Juergen Gross To: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org Cc: samuel.thibault@ens-lyon.org, wl@xen.org, Juergen Gross Subject: [PATCH 1/2] mini-os: netfront: retrieve netmask and gateway via extra function Date: Tue, 22 Sep 2020 12:58:25 +0200 Message-Id: <20200922105826.26274-2-jgross@suse.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200922105826.26274-1-jgross@suse.com> References: <20200922105826.26274-1-jgross@suse.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" X-ZohoMail-DKIM: pass (identity @suse.com) Content-Type: text/plain; charset="utf-8" Commit 1b8ed31f4ce40 ("mini-os: netfront: Read netmask and gateway from Xenstore") modified init_netfront() to take two additional parameters. This broke the Xen build as init_netfront() is used in grub stubdom, too. So instead of tightly coupling Mini-OS and Xen build via this interface modification undo this change of init_netfront() and add two other functions for retrieving the netmask and gateway for a network device. Signed-off-by: Juergen Gross Reviewed-by: Samuel Thibault --- include/netfront.h | 4 +++- lwip-net.c | 4 +++- netfront.c | 21 +++++++++++++++------ test.c | 2 +- 4 files changed, 22 insertions(+), 9 deletions(-) diff --git a/include/netfront.h b/include/netfront.h index bc3080e..ec641c8 100644 --- a/include/netfront.h +++ b/include/netfront.h @@ -7,7 +7,9 @@ struct netfront_dev *init_netfront(char *nodename, void (*netif_rx)(unsigned char *data, int len, void* arg), unsigned char rawmac[6], - char **ip, char **mask, char **gw); + char **ip); +char *netfront_get_netmask(struct netfront_dev *dev); +char *netfront_get_gateway(struct netfront_dev *dev); void netfront_xmit(struct netfront_dev *dev, unsigned char* data,int len); void shutdown_netfront(struct netfront_dev *dev); void suspend_netfront(void); diff --git a/lwip-net.c b/lwip-net.c index 80d1c8f..7e0d871 100644 --- a/lwip-net.c +++ b/lwip-net.c @@ -347,7 +347,9 @@ void start_networking(void) =20 tprintk("Waiting for network.\n"); =20 - dev =3D init_netfront(NULL, NULL, rawmac, &ip, &netmask_str, &gw_str); + dev =3D init_netfront(NULL, NULL, rawmac, &ip); + netmask_str =3D netfront_get_netmask(dev); + gw_str =3D netfront_get_gateway(dev); =20 if (ip) { ipaddr.addr =3D inet_addr(ip); diff --git a/netfront.c b/netfront.c index 205484b..9057908 100644 --- a/netfront.c +++ b/netfront.c @@ -65,6 +65,8 @@ struct netfront_dev { =20 void (*netif_rx)(unsigned char* data, int len, void* arg); void *netif_rx_arg; + + struct netfront_dev_list *ldev; }; =20 struct netfront_dev_list { @@ -303,7 +305,7 @@ struct netfront_dev *init_netfront(char *_nodename, void (*thenetif_rx)(unsigned char* data, int len, void* arg), unsigned char rawmac[6], - char **ip, char **mask, char **gw) + char **ip) { char nodename[256]; struct netfront_dev *dev; @@ -347,6 +349,7 @@ struct netfront_dev *init_netfront(char *_nodename, memset(ldev, 0, sizeof(struct netfront_dev_list)); =20 if (_init_netfront(dev, ldev->rawmac, &(ldev->ip), &(ldev->mask), &(ld= ev->gw))) { + dev->ldev =3D ldev; ldev->dev =3D dev; ldev->refcount =3D 1; ldev->next =3D NULL; @@ -376,15 +379,21 @@ out: } if (ip) *ip =3D strdup(ldev->ip); - if (mask) - *mask =3D strdup(ldev->mask); - if (gw) - *gw =3D strdup(ldev->gw); =20 err: return dev; } =20 +char *netfront_get_netmask(struct netfront_dev *dev) +{ + return dev->ldev->mask ? strdup(dev->ldev->mask) : NULL; +} + +char *netfront_get_gateway(struct netfront_dev *dev) +{ + return dev->ldev->gw ? strdup(dev->ldev->gw) : NULL; +} + static struct netfront_dev *_init_netfront(struct netfront_dev *dev, unsigned char rawmac[6], char **ip, char **mask, char **gw) @@ -576,7 +585,7 @@ error: int netfront_tap_open(char *nodename) { struct netfront_dev *dev; =20 - dev =3D init_netfront(nodename, NETIF_SELECT_RX, NULL, NULL, NULL, NUL= L); + dev =3D init_netfront(nodename, NETIF_SELECT_RX, NULL, NULL); if (!dev) { printk("TAP open failed\n"); errno =3D EIO; diff --git a/test.c b/test.c index 2e5f7f9..42a2666 100644 --- a/test.c +++ b/test.c @@ -91,7 +91,7 @@ static struct semaphore net_sem =3D __SEMAPHORE_INITIALIZ= ER(net_sem, 0); =20 static void netfront_thread(void *p) { - net_dev =3D init_netfront(NULL, NULL, NULL, NULL, NULL, NULL); + net_dev =3D init_netfront(NULL, NULL, NULL, NULL); up(&net_sem); } #endif --=20 2.26.2