Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 17 Apr 2025 09:02:14 +0000
From:      =?iso-8859-1?Q?Jakobsen=2C_Bj=F6rn?= <Bjoern.Jakobsen@lrz.de>
To:        "freebsd-net@FreeBSD.org" <freebsd-net@FreeBSD.org>
Subject:   Adding Compilation option for VTNET Driver
Message-ID:  <61807fb0963049b3bcdea2875a688ad9@lrz.de>

next in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
Hello,

i hope this is the right mailing list. I wanted to add an compilation Option, and small change to the VTNET (VirtIO Networking) Driver, and wanted to know if this is fine to submit. The Problem is, that i need an ALTQ capable kernel, and that the VTNET Interfaces are multiqueue capable. This isn't possible, as the source for the VTNET Driver contains this check:

"""
#ifdef ALTQ
#define VTNET_LEGACY_TX
#endif
"""

Which causes it to not be Multiqueue capable, and instead being ALTQ capable. I would like to add an option, called "VTNET_NO_ALTQ" or "VTNET_FORCE_MULTIQUEUE", and modify the check above to be:

"""
#if defined ALTQ && ! defined VTNET_NO_ALTQ
#define VTNET_LEGACY_TX
#endif
"""

So that it is possible, to have a Kernel with ALTQ, but that the VTNET Driver is not ALTQ capable, and instead Multiqueue capable.

Thanks.

[-- Attachment #2 --]
<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">;
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif;
	mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:#0563C1;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:#954F72;
	text-decoration:underline;}
span.E-MailFormatvorlage17
	{mso-style-type:personal-compose;
	font-family:"Calibri",sans-serif;
	color:windowtext;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-family:"Calibri",sans-serif;
	mso-fareast-language:EN-US;}
@page WordSection1
	{size:612.0pt 792.0pt;
	margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="DE" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">Hello,<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal"><span lang="EN-US">i hope this is the right mailing list. I wanted to add an compilation Option, and small change to the VTNET (VirtIO Networking) Driver, and wanted to know if this is fine to submit. The Problem is, that i need an ALTQ
 capable kernel, and that the VTNET Interfaces are multiqueue capable. This isn&#8217;t possible, as the source for the VTNET Driver contains this check:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">&#8220;&#8221;&#8221;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">#ifdef ALTQ<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">#define VTNET_LEGACY_TX<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">#endif<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">&#8220;&#8221;&#8221;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Which causes it to not be Multiqueue capable, and instead being ALTQ capable. I would like to add an option, called &#8220;VTNET_NO_ALTQ&#8221; or &#8220;VTNET_FORCE_MULTIQUEUE&#8221;, and modify the check above to be:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">&#8220;&#8221;&#8221;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">#if defined ALTQ &amp;&amp; ! defined VTNET_NO_ALTQ<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">#define VTNET_LEGACY_TX<br>
#endif<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">&#8220;&#8221;&#8221;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">So that it is possible, to have a Kernel with ALTQ, but that the VTNET Driver is not ALTQ capable, and instead Multiqueue capable.
<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Thanks.<o:p></o:p></span></p>
</div>
</body>
</html>

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