Date: Sun, 27 Feb 2022 13:59:47 +0100 From: Santiago Martinez <sm@codenetworks.net> To: "freebsd-net@freebsd.org" <freebsd-net@freebsd.org> Subject: Current with RSS and EPAIR and without INET6. Message-ID: <5a7afbfc-586e-710d-f3af-c3ab92f1ae4e@codenetworks.net>
next in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.
--------------4oN4QkJ1n9U9on4tya5UZ63n
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Hi Everyone,
While testing RSS and EPAIR I have find out that it is required to have
kernel compiled with INET6 when enabling RSS+EPAIR.
I usually remove everything that i do not use from the kernel, like SCTP
and INET6, etc.
After compiling with "option RSS" i noticed that iocage failed to start,
checking the dmesg buffer clearly showed why.
[321] link_elf_obj: symbol rss_soft_m2cpuid_v6 undefined
[321] linker_load_file: /boot/kernel/if_epair.ko - unsupported file type
I added two ifdef INET6 on the if_epair and solve the issue, still not
sure if completely correct.
Best regards.
Santi
diff --git a/sys/net/if_epair.c b/sys/net/if_epair.c
index 629de981d5b0..235e5098ebd8 100644
--- a/sys/net/if_epair.c
+++ b/sys/net/if_epair.c
@@ -74,6 +74,8 @@__FBSDID("$FreeBSD$");
#ifdef RSS
#include <net/rss_config.h>
#include <netinet/in_rss.h>
+#endif
+#ifdef INET6
#include <netinet6/in6_rss.h>
#endif
#include <net/vnet.h>
@@ -220,9 +222,11 @@epair_menq(struct mbuf *m, struct epair_softc *osc)
case ETHERTYPE_IP:
rss_soft_m2cpuid_v4(m, 0, &bucket);
break;
+#ifdef INET6
case ETHERTYPE_IPV6:
rss_soft_m2cpuid_v6(m, 0, &bucket);
break;
+#endif
default:
bucket = 0;
break;
--------------4oN4QkJ1n9U9on4tya5UZ63n
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Hi Everyone, <br>
</p>
<p>While testing RSS and EPAIR I have find out that it is required
to have kernel compiled with INET6 when enabling RSS+EPAIR.<br>
</p>
<p>I usually remove everything that i do not use from the kernel,
like SCTP and INET6, etc. <br>
</p>
<p>After compiling with "option RSS" i noticed that iocage failed to
start, checking the dmesg buffer clearly showed why.<br>
</p>
<p><span style="font-family:monospace"><span
style="color:#000000;background-color:#ffffff;">[321]
link_elf_obj: symbol rss_soft_m2cpuid_v6 undefined
</span><br>
[321] linker_load_file: /boot/kernel/if_epair.ko - unsupported
file type<br>
</span></p>
<p><span style="font-family:monospace"></span>I added two ifdef
INET6 on the if_epair and solve the issue, still not sure if
completely correct.<br>
</p>
<p>Best regards.</p>
<p>Santi</p>
<p><span style="font-family:monospace"><span
style="font-weight:bold;color:#000000;background-color:#ffffff;">diff
--git a/sys/net/if_epair.c b/sys/net/if_epair.c</span><span
style="color:#000000;background-color:#ffffff;">
</span><br>
<span
style="font-weight:bold;color:#000000;background-color:#ffffff;">index
629de981d5b0..235e5098ebd8 100644</span><span
style="color:#000000;background-color:#ffffff;">
</span><br>
<span
style="font-weight:bold;color:#000000;background-color:#ffffff;">---
a/sys/net/if_epair.c</span><span
style="color:#000000;background-color:#ffffff;">
</span><br>
<span
style="font-weight:bold;color:#000000;background-color:#ffffff;">+++
b/sys/net/if_epair.c</span><span
style="color:#000000;background-color:#ffffff;">
</span><br>
<span style="color:#18b2b2;background-color:#ffffff;">@@ -74,6
+74,8 @@</span><span
style="color:#000000;background-color:#ffffff;">
__FBSDID("$FreeBSD$");
</span><br>
#ifdef RSS
<br>
#include <net/rss_config.h>
<br>
#include <netinet/in_rss.h>
<br>
<span style="color:#18b218;background-color:#ffffff;">+#endif</span><span
style="color:#000000;background-color:#ffffff;">
</span><br>
<span style="color:#18b218;background-color:#ffffff;">+#ifdef
INET6</span><span
style="color:#000000;background-color:#ffffff;">
</span><br>
#include <netinet6/in6_rss.h>
<br>
#endif
<br>
#include <net/vnet.h>
<br>
<span style="color:#18b2b2;background-color:#ffffff;">@@ -220,9
+222,11 @@</span><span
style="color:#000000;background-color:#ffffff;">
epair_menq(struct mbuf *m, struct epair_softc *osc)
</span><br>
case ETHERTYPE_IP:
<br>
rss_soft_m2cpuid_v4(m, 0, &bucket);
<br>
break;
<br>
<span style="color:#18b218;background-color:#ffffff;">+#ifdef
INET6</span><span
style="color:#000000;background-color:#ffffff;">
</span><br>
case ETHERTYPE_IPV6:
<br>
rss_soft_m2cpuid_v6(m, 0, &bucket);
<br>
break;
<br>
<span style="color:#18b218;background-color:#ffffff;">+#endif</span><span
style="color:#000000;background-color:#ffffff;">
</span><br>
default:
<br>
bucket = 0;
<br>
break;<br>
</span></p>
<p><span style="font-family:monospace"></span><br>
<span style="font-family:monospace"></span></p>
<p><br>
</p>
<p><br>
</p>
<span style="font-family:monospace"></span>
<p><br>
<span style="font-family:monospace"></span></p>
</body>
</html>
--------------4oN4QkJ1n9U9on4tya5UZ63n--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5a7afbfc-586e-710d-f3af-c3ab92f1ae4e>
