From 52fcf6fa2e37230a8f3144414daf6c202cc3ca41 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Vlad-Andrei=20B=C4=82DOIU?= Date: Tue, 31 Mar 2020 17:39:45 +0300 Subject: [PATCH] Use if_nametoindex and if_nametoindex from lwip MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 Reviewed-by: Felipe Huici --- 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 - -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 #include #include +#include #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.39.5