[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Minios-devel] [UNIKRAFT/LWIP PATCH 1/3] Use if_nametoindex and if_nametoindex from lwip


  • To: minios-devel@xxxxxxxxxxxxx
  • From: Vlad-Andrei BĂDOIU <vlad_andrei.badoiu@xxxxxxxxxxxxxxx>
  • Date: Tue, 31 Mar 2020 17:39:45 +0300
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=stud.acs.upb.ro; dmarc=pass action=none header.from=stud.acs.upb.ro; dkim=pass header.d=stud.acs.upb.ro; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3/d34lAduHEm+F0MrLMshbfEDy17BZQFTrSvDZgnffc=; b=fJEUfPfM2MyqiMLu0e3Ugng5OVrzXuUsaj0xLVeQESHgntnJr8sYQgTpytGNJud6heXb/YgHr1Tcg6TQFf+C0o04cUpUWgKfUR+nrQyqKKuzGUpxSEckyPVYcqDEs27zAXbnEl+BZGZczUkNBSfuHxbBVvLCzethuZTizEe5k3zukBQk9KbmsWKlOxyGNEwsOgOYmxBXLPugYDfeJ4flUujzfn9FBQhINIsDyHD4hLiwTN/cA3QUiCaM1oM+YDtnNqzU2h8oL85hjPRSBe7RF3PeTkexSCg065utKJsbeCt0J1kud3dMLYFajWstUT9v1AyEm/YbcjwH0mmeivARqw==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fd5NhLt9+9PRbYmnjb0jFVYkQdwkALQ8GfwtrmohPCrlE4b/t9qR7CMicF/cfIZ9KU+0CWCPx6p4Ku4jBaH9Vzl5K6UQAikVaQVmJPWEA2Mhp7NENWpEcCY+sUrYrSNRL77YALX9eMUcMWPYWkJLg5I00O1fOKLQ0VRulbS21LpTQwb1pzb4tE1YRD+QhropeZOmDgT1h+o3AUQW1iS/05GgWHtPnZNwRbteJjZ9nnzjzxC/6lY45HbSzTQdhKBJ/QeekodMpqq9kAoPyWCPSIjlCS9HGp/q5a/9hdm1TPk8jE17aU9RU5Fx7ytKVlCa9bjKqEd2UvWVKQA5Y3s2MA==
  • Authentication-results: spf=none (sender IP is ) smtp.mailfrom=vlad_andrei.badoiu@xxxxxxxxxxxxxxx;
  • Cc: felipe.huici@xxxxxxxxx, Vlad-Andrei BĂDOIU <vlad_andrei.badoiu@xxxxxxxxxxxxxxx>
  • Delivery-date: Tue, 31 Mar 2020 14:40:03 +0000
  • List-id: Mini-os development list <minios-devel.lists.xenproject.org>

if_nametoindex and if_nametoindex are currently subbed. We
remove the stubs and use the implementation from lwip.

Signed-off-by: Vlad-Andrei BĂDOIU <vlad_andrei.badoiu@xxxxxxxxxxxxxxx>
---
 Makefile.uk |  2 +-
 ifname.c    | 39 ---------------------------------------
 sockets.c   | 21 +++++++++++++++++++++
 3 files changed, 22 insertions(+), 40 deletions(-)
 delete mode 100644 ifname.c

diff --git a/Makefile.uk b/Makefile.uk
index 5054ef4..d3c6c9c 100644
--- a/Makefile.uk
+++ b/Makefile.uk
@@ -86,7 +86,6 @@ LIBLWIP_SRCS-$(CONFIG_LWIP_THREADS) += 
$(LIBLWIP_BASE)/mutex.c|unikraft
 LIBLWIP_SRCS-$(CONFIG_LWIP_THREADS) += $(LIBLWIP_BASE)/semaphore.c|unikraft
 LIBLWIP_SRCS-$(CONFIG_LWIP_THREADS) += $(LIBLWIP_BASE)/mailbox.c|unikraft
 LIBLWIP_SRCS-$(CONFIG_LWIP_THREADS) += $(LIBLWIP_BASE)/threads.c|unikraft
-LIBLWIP_SRCS-y += $(LIBLWIP_BASE)/ifname.c|unikraft
 LIBLWIP_SRCS-y += $(LIBLWIP_BASE)/init.c|unikraft
 LIBLWIP_SRCS-y += $(LIBLWIP_BASE)/time.c|unikraft
 LIBLWIP_SRCS-y += $(LIBLWIP_BASE)/sendfile.c|unikraft
@@ -120,6 +119,7 @@ LIBLWIP_SRCS-y += $(LIBLWIP_EXTRACTED)/api/netbuf.c
 LIBLWIP_SRCS-y += $(LIBLWIP_EXTRACTED)/api/netdb.c
 LIBLWIP_SRCS-y += $(LIBLWIP_EXTRACTED)/api/netifapi.c
 LIBLWIP_SRCS-y += $(LIBLWIP_EXTRACTED)/api/tcpip.c
+LIBLWIP_SRCS-y += $(LIBLWIP_EXTRACTED)/api/if_api.c
 LIBLWIP_SRCS-$(CONFIG_LWIP_SOCKET) += $(LIBLWIP_EXTRACTED)/api/sockets.c
 
 
################################################################################
diff --git a/ifname.c b/ifname.c
deleted file mode 100644
index f622a3f..0000000
--- a/ifname.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* SPDX-License-Identifier: BSD-3-Clause */
-/*
- * Copyright (c) 2019, NEC Laboratories Europe GmbH, NEC Corporation.
- *                     All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the copyright holder nor the names of its
- *    contributors may be used to endorse or promote products derived from
- *    this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- * THIS HEADER MAY NOT BE EXTRACTED OR MODIFIED IN ANY WAY.
- */
-
-#include <net/if.h>
-
-char *if_indextoname(unsigned index, char *name)
-{
-  return 0;
-}
diff --git a/sockets.c b/sockets.c
index 8fde21a..a013225 100644
--- a/sockets.c
+++ b/sockets.c
@@ -50,6 +50,7 @@
 #include <stdio.h>
 #include <errno.h>
 #include <lwip/sockets.h>
+#include <lwip/if_api.h>
 
 #define SOCK_NET_SET_ERRNO(errcode) \
        (errno = -(errcode))
@@ -899,3 +900,23 @@ int socketpair(int domain, int type, int protocol, int 
sv[2])
        errno = ENOTSUP;
        return -1;
 }
+
+#ifdef LWIP_SOCKET
+unsigned int if_nametoindex(const char *ifname)
+{
+       int ret;
+
+       ret = lwip_if_nametoindex(ifname);
+
+       return ret;
+}
+
+char *if_indextoname(unsigned int ifindex, char *ifname)
+{
+       char *ret;
+
+       ret = lwip_if_indextoname(ifindex, ifname);
+
+       return ret;
+}
+#endif
-- 
2.20.1


_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.