Skip site navigation (1)Skip section navigation (2)
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 &lt;net/rss_config.h&gt;
        <br>
        #include &lt;netinet/in_rss.h&gt;
        <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 &lt;netinet6/in6_rss.h&gt;
        <br>
        #endif
        <br>
        #include &lt;net/vnet.h&gt;
        <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, &amp;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, &amp;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>