<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:52:42 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>Whamcloud Community JIRA</title>
    <link>https://jira.whamcloud.com</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.4.14</version>
        <build-number>940014</build-number>
        <build-date>05-12-2023</build-date>
    </build-info>


<item>
            <title>[LU-12452] lnet: allow setting ToS in ko2iblnd driver</title>
                <link>https://jira.whamcloud.com/browse/LU-12452</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;In Cyfronet we use Ethernet RDMA for accesing Lustre filesystem located 14KM away in a secondary DC.&lt;/p&gt;


&lt;p&gt;RoCEv2 is RDMA over Ethernet implementation which may be used over lossy network. In order to minimize effects of frame drops caused by the network congestion RoCEv2 uses ECN mechanism.&lt;/p&gt;

&lt;p&gt;For&#160; RoCEv2 ECN congestion control to work properly congestion marking has to be enabled on all devices all over the path. Traffic subjected for ECN marking on the network side must be properly tagged by HCA.&lt;br/&gt;
For this purpose DSCP field (part of TOS field) from IP packet is used to differentiate RDMA and RDMA-CNP traffic from other flows. Then ECN marking may be enabled and used only for RDMA traffic when congestion is detected.&lt;/p&gt;

&lt;p&gt;Lustre LNET does not support setting the TOS value in ko2iblnd.&lt;br/&gt;
Currently - the only way to enable tos marking of RDMA traffic is to set default TOS in mlx4/5 drivers using cma_roce_tos script which is part of mOFED distribution. The script is using configfs to set desired value and &lt;b&gt;must be executed before ko2iblnd module is loaded&lt;/b&gt;&lt;/p&gt;


&lt;p&gt;Drawback of current way of setting tos is that it does not allow to have different ToS values in case of having more than one o2ib nets on one HCA (in separate vlans). It is also difficult to verify if proper tos has been properly set for ko2iblnd QPs.&lt;/p&gt;

&lt;p&gt;More convenient and flexible way would be to have ko2iblnd module option for setting tos on per network basis as well as having ToS support in lnetctl for dynamic configuration.&lt;/p&gt;

&lt;p&gt;From technical point of view it is possible to set RDMA TOS on QP basis on API level by using rdma_set_option (RDMA_OPTION_ID_TOS field)&lt;/p&gt;

&lt;p&gt;Please consider enabling tos setting on per-network basis for lustre o2ib networks in ko2iblnd driver.&lt;/p&gt;

&lt;p&gt;Example ko2iblnd parameter could look like this:&lt;/p&gt;

&lt;p&gt;modprobe ko2iblnd tos2nets=&quot;o2ib80(48),o2ib81(0x18)&quot; tos=12&lt;/p&gt;

&lt;p&gt;where&lt;br/&gt;
 tos - default tos, applied when no explicit mapping is given&lt;br/&gt;
 tos2nets - set tos value on per-network basis&lt;/p&gt;

&lt;p&gt;We have proper infrastructure in place we can use for testing and verification if it helps with development.&lt;/p&gt;

&lt;p&gt;Best Regards&lt;br/&gt;
&amp;#8211;&lt;br/&gt;
Lukasz Flis&lt;/p&gt;</description>
                <environment></environment>
        <key id="55988">LU-12452</key>
            <summary>lnet: allow setting ToS in ko2iblnd driver</summary>
                <type id="4" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11310&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="3" iconUrl="https://jira.whamcloud.com/images/icons/priorities/major.svg">Major</priority>
                        <status id="1" iconUrl="https://jira.whamcloud.com/images/icons/statuses/open.png" description="The issue is open and ready for the assignee to start work on it.">Open</status>
                    <statusCategory id="2" key="new" colorName="default"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="cbordage">Cyril Bordage</assignee>
                                    <reporter username="lflis">Lukasz Flis</reporter>
                        <labels>
                    </labels>
                <created>Wed, 19 Jun 2019 10:05:15 +0000</created>
                <updated>Tue, 9 Jan 2024 21:26:41 +0000</updated>
                                            <version>Lustre 2.10.8</version>
                                                        <due></due>
                            <votes>0</votes>
                                    <watches>11</watches>
                                                                            <comments>
                            <comment id="253442" author="gerrit" created="Thu, 22 Aug 2019 16:11:58 +0000"  >&lt;p&gt;&lt;del&gt;James Simmons (jsimmons@infradead.org) uploaded a new patch:&lt;/del&gt; &lt;a href=&quot;https://review.whamcloud.com/35863&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/35863&lt;/a&gt;&lt;br/&gt;
&lt;del&gt;Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-12452&quot; title=&quot;lnet: allow setting ToS in ko2iblnd driver&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-12452&quot;&gt;LU-12452&lt;/a&gt; handle: discard h_lock.&lt;/del&gt;&lt;br/&gt;
&lt;del&gt;Project: fs/lustre-release&lt;/del&gt;&lt;br/&gt;
&lt;del&gt;Branch: master&lt;/del&gt;&lt;br/&gt;
&lt;del&gt;Current Patch Set: 1&lt;/del&gt;&lt;br/&gt;
&lt;del&gt;Commit: df94ab55bf26fd6866418f5a3bf080e8f65bd87f&lt;/del&gt;&lt;/p&gt;</comment>
                            <comment id="253444" author="lflis" created="Thu, 22 Aug 2019 16:36:12 +0000"  >&lt;p&gt;@James Simmons above patch landed here by mistake i think. It belongs to &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-12542&quot; title=&quot;LDLM improvements form linux lustre client work&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-12542&quot;&gt;&lt;del&gt;LU-12542&lt;/del&gt;&lt;/a&gt; instead&lt;/p&gt;</comment>
                            <comment id="253445" author="simmonsja" created="Thu, 22 Aug 2019 17:23:53 +0000"  >&lt;p&gt;Yes. I just fixed the patch. Sorry.&lt;/p&gt;</comment>
                            <comment id="259509" author="ashehata" created="Tue, 10 Dec 2019 03:18:56 +0000"  >&lt;p&gt;Design&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://wiki.whamcloud.com/x/lpyCBw&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://wiki.whamcloud.com/x/lpyCBw&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="313650" author="gerrit" created="Wed, 22 Sep 2021 12:55:44 +0000"  >&lt;p&gt;&quot;Cyril Bordage &amp;lt;cbordage@whamcloud.com&amp;gt;&quot; uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/45017&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/45017&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-12452&quot; title=&quot;lnet: allow setting ToS in ko2iblnd driver&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-12452&quot;&gt;LU-12452&lt;/a&gt; lnet: allow setting ToS in ko2iblnd&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 76f7caaa3cb5d4d1b06ace52549b88f802263f96&lt;/p&gt;</comment>
                            <comment id="319398" author="cbordage" created="Mon, 29 Nov 2021 21:36:00 +0000"  >&lt;p&gt;Hello &lt;a href=&quot;https://jira.whamcloud.com/secure/ViewProfile.jspa?name=lflis&quot; class=&quot;user-hover&quot; rel=&quot;lflis&quot;&gt;lflis&lt;/a&gt;,&lt;/p&gt;

&lt;p&gt;do you still have a proper infrastructure to make the tests? It could be very helpful to test the first patch we have.&lt;/p&gt;

&lt;p&gt;Thank you.&lt;/p&gt;</comment>
                            <comment id="319410" author="lflis" created="Mon, 29 Nov 2021 22:58:20 +0000"  >&lt;p&gt;Hi,&lt;/p&gt;

&lt;p&gt;I think we can do some testing -&#160; please let me check what options do we have on our side.&lt;/p&gt;

&lt;p&gt;Is this patch back-portable to 2.12?&lt;/p&gt;</comment>
                            <comment id="321663" author="cbordage" created="Wed, 29 Dec 2021 15:25:04 +0000"  >&lt;p&gt;Hello Lukasz,&lt;/p&gt;

&lt;p&gt;You will receive the SRPMs soon.&lt;/p&gt;

&lt;p&gt;The first test is simple, just to check ToS field is modified in the packet.&lt;br/&gt;
For that, you need to use ibdump (&lt;a href=&quot;https://github.com/Mellanox/ibdump&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/Mellanox/ibdump&lt;/a&gt;) to capture the packets and I will check the generated pcap files to see if the values are good.&lt;/p&gt;

&lt;p&gt;Here is the steps to run:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Add &quot;options ko2iblnd tos=&amp;lt;VALUETOSET&amp;gt;&quot; to lnet.conf&lt;/li&gt;
	&lt;li&gt;Configure and load lnet&lt;/li&gt;
	&lt;li&gt;Run ibdump&lt;/li&gt;
	&lt;li&gt;Do a lnet ping to another machine&lt;/li&gt;
	&lt;li&gt;Stop ibdump&lt;/li&gt;
	&lt;li&gt;Run ibdump&lt;/li&gt;
	&lt;li&gt;Mount FS and do some file operations&lt;/li&gt;
	&lt;li&gt;Stop ibdump&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Then, I would need to analyze the 2 generated pcap files.&lt;/p&gt;

&lt;p&gt;Thanks.&lt;/p&gt;</comment>
                            <comment id="399042" author="JIRAUSER17312" created="Tue, 9 Jan 2024 21:26:41 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.whamcloud.com/secure/ViewProfile.jspa?name=cbordage&quot; class=&quot;user-hover&quot; rel=&quot;cbordage&quot;&gt;cbordage&lt;/a&gt; what&apos;s going on with this?&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                                        </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                            <customfield id="customfield_10890" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10390" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i00ifz:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10090" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>