Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 27 Feb 2023 18:15:49 GMT
From:      Dmitry Chagin <dchagin@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org
Subject:   git: 8fd0f86abdfa - releng/13.2 - linux(4): Move use_real_names knob to the linux.c
Message-ID:  <202302271815.31RIFnL2033737@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch releng/13.2 has been updated by dchagin:

URL: https://cgit.FreeBSD.org/src/commit/?id=8fd0f86abdfa8b98facb22649cb03545d0cf0df6

commit 8fd0f86abdfa8b98facb22649cb03545d0cf0df6
Author:     Dmitry Chagin <dchagin@FreeBSD.org>
AuthorDate: 2023-02-14 14:46:32 +0000
Commit:     Dmitry Chagin <dchagin@FreeBSD.org>
CommitDate: 2023-02-27 18:15:25 +0000

    linux(4): Move use_real_names knob to the linux.c
    
    MI linux.[c|h] are the module independent in terms of the Linux emulation
    layer (ie, intended for both ISA - 32 & 64 bit), analogue of MD linux.h.
    There must be a code here that cannot be placed into the corresponding by
    common sense MI source and header files, i.e., code is machine independent,
    but ISA dependent.
    For the use_real_names knob, the code must be placed into the
    linux_socket.[c|h], however linux_socket is ISA dependent.
    
    Approved by:            re (cperciva)
    MFC after:              2 weeks
    
    (cherry picked from commit 32fdc75fe7276083d446964055b0de0e29970b7c)
    (cherry picked from commit 884ea80d4ebbd2d8ff03d56eddc1dc64d49be908)
---
 sys/compat/linux/linux.c      | 12 ++++++++++++
 sys/compat/linux/linux.h      | 10 ++++++++++
 sys/compat/linux/linux_util.c | 15 ---------------
 sys/compat/linux/linux_util.h |  9 ---------
 4 files changed, 22 insertions(+), 24 deletions(-)

diff --git a/sys/compat/linux/linux.c b/sys/compat/linux/linux.c
index 5351575ed6e1..bf0479b89588 100644
--- a/sys/compat/linux/linux.c
+++ b/sys/compat/linux/linux.c
@@ -59,6 +59,11 @@ __FBSDID("$FreeBSD$");
 
 CTASSERT(LINUX_IFNAMSIZ == IFNAMSIZ);
 
+static bool use_real_ifnames = false;
+SYSCTL_BOOL(_compat_linux, OID_AUTO, use_real_ifnames, CTLFLAG_RWTUN,
+    &use_real_ifnames, 0,
+    "Use FreeBSD interface names instead of generating ethN aliases");
+
 static int bsd_to_linux_sigtbl[LINUX_SIGTBLSZ] = {
 	LINUX_SIGHUP,	/* SIGHUP */
 	LINUX_SIGINT,	/* SIGINT */
@@ -726,3 +731,10 @@ bsd_to_linux_poll_events(short bev, short *lev)
 
 	*lev = bits;
 }
+
+bool
+linux_use_real_ifname(const struct ifnet *ifp)
+{
+
+	return (use_real_ifnames || !IFP_IS_ETH(ifp));
+}
diff --git a/sys/compat/linux/linux.h b/sys/compat/linux/linux.h
index 40e563014fde..a8cdab07a70b 100644
--- a/sys/compat/linux/linux.h
+++ b/sys/compat/linux/linux.h
@@ -286,6 +286,16 @@ struct l_statx {
 	ktrstruct("l_sigset_t", (s), l)
 #endif
 
+/*
+ * Criteria for interface name translation
+ */
+#define	IFP_IS_ETH(ifp)		((ifp)->if_type == IFT_ETHER)
+#define	IFP_IS_LOOP(ifp)	((ifp)->if_type == IFT_LOOP)
+
+struct ifnet;
+
+bool linux_use_real_ifname(const struct ifnet *);
+
 void linux_netlink_register(void);
 void linux_netlink_deregister(void);
 
diff --git a/sys/compat/linux/linux_util.c b/sys/compat/linux/linux_util.c
index e41c505425ee..ad6ad8f26261 100644
--- a/sys/compat/linux/linux_util.c
+++ b/sys/compat/linux/linux_util.c
@@ -50,10 +50,6 @@ __FBSDID("$FreeBSD$");
 #include <sys/systm.h>
 #include <sys/vnode.h>
 
-#include <net/if.h>
-#include <net/if_var.h>
-#include <net/if_types.h>
-
 #include <machine/stdarg.h>
 
 #include <compat/linux/linux_dtrace.h>
@@ -86,11 +82,6 @@ SYSCTL_STRING(_compat_linux, OID_AUTO, emul_path, CTLFLAG_RWTUN,
     linux_emul_path, sizeof(linux_emul_path),
     "Linux runtime environment path");
 
-static bool use_real_ifnames = false;
-SYSCTL_BOOL(_compat_linux, OID_AUTO, use_real_ifnames, CTLFLAG_RWTUN,
-    &use_real_ifnames, 0,
-    "Use FreeBSD interface names instead of generating ethN aliases");
-
 /*
  * Search an alternate path before passing pathname arguments on to
  * system calls. Useful for keeping a separate 'emulation tree'.
@@ -324,9 +315,3 @@ linux_device_unregister_handler(struct linux_device_handler *d)
 
 	return (EINVAL);
 }
-
-bool
-linux_use_real_ifname(const struct ifnet *ifp)
-{
-	return (use_real_ifnames || !IFP_IS_ETH(ifp));
-}
diff --git a/sys/compat/linux/linux_util.h b/sys/compat/linux/linux_util.h
index 6f7b55be8123..d751267e6d54 100644
--- a/sys/compat/linux/linux_util.h
+++ b/sys/compat/linux/linux_util.h
@@ -120,15 +120,6 @@ int	linux_vn_get_major_minor(const struct vnode *vn, int *major, int *minor);
 char	*linux_get_char_devices(void);
 void	linux_free_get_char_devices(char *string);
 
-/*
- * Criteria for interface name translation
- */
-#define	IFP_IS_ETH(ifp)		((ifp)->if_type == IFT_ETHER)
-#define	IFP_IS_LOOP(ifp)	((ifp)->if_type == IFT_LOOP)
-
-struct ifnet;
-bool	linux_use_real_ifname(const struct ifnet *ifp);
-
 #if defined(KTR)
 
 #define	KTR_LINUX				KTR_SUBSYS



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202302271815.31RIFnL2033737>