<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 03:18:39 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-15478] Regression in 005bd7075c LU-10391 lnet: Change lnet_send() to take large-addr nids</title>
                <link>https://jira.whamcloud.com/browse/LU-15478</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;Routed, source-any sends were broken by &lt;a href=&quot;https://review.whamcloud.com/43599&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/43599&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;lnet_handle_find_routed_path() calls lnet_find_route_locked() passing LNET_NID_NET(src_nid) as an argument.&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;                best_route = lnet_find_route_locked(best_rnet,
                                                    LNET_NID_NET(src_nid),
                                                    sd-&amp;gt;sd_best_lpni,
                                                    &amp;amp;last_route, &amp;amp;gwni);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This network ID is in turn passed to lnet_find_best_lpni() where it is compared against LNET_NET_ANY:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;static inline struct lnet_peer_ni *
lnet_find_best_lpni(struct lnet_ni *lni, lnet_nid_t dst_nid,
                    struct lnet_peer *peer, __u32 net_id)
{
        struct lnet_peer_net *peer_net;

        /* find the best_lpni on any local network */
        if (net_id == LNET_NET_ANY) {
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Where&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;#define LNET_NET_ANY LNET_NIDNET(LNET_NID_ANY)
 == LNET_NIDNET(-1)
 == 0xffffffff
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;In the case where a source NID was not specified, the network id passed to lnet_find_best_lpni() is equal to&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;LNET_NID_NET(LNET_ANY_NID)
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Where:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;static inline __u32 LNET_NID_NET(const struct lnet_nid *nid)
{
        return LNET_MKNET(nid-&amp;gt;nid_type, __be16_to_cpu(nid-&amp;gt;nid_num));
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;I think we need an &quot;extended nid&quot; version of LNET_NET_ANY (call it LNET_ANY_NET) such that&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;#define LNET_ANY_NET LNET_NID_NET(&amp;amp;LNET_ANY_NID)
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;or LNET_NID_NET could be modified to check for LNET_ANY_NID and return LNET_NET_ANY. &lt;/p&gt;</description>
                <environment></environment>
        <key id="68184">LU-15478</key>
            <summary>Regression in 005bd7075c LU-10391 lnet: Change lnet_send() to take large-addr nids</summary>
                <type id="1" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="1" iconUrl="https://jira.whamcloud.com/images/icons/priorities/blocker.svg">Blocker</priority>
                        <status id="5" iconUrl="https://jira.whamcloud.com/images/icons/statuses/resolved.png" description="A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.">Resolved</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="1">Fixed</resolution>
                                        <assignee username="hornc">Chris Horn</assignee>
                                    <reporter username="hornc">Chris Horn</reporter>
                        <labels>
                            <label>IPv6</label>
                    </labels>
                <created>Mon, 24 Jan 2022 20:48:07 +0000</created>
                <updated>Sun, 7 Jan 2024 18:07:29 +0000</updated>
                            <resolved>Mon, 31 Jan 2022 04:41:45 +0000</resolved>
                                    <version>Lustre 2.15.0</version>
                                    <fixVersion>Lustre 2.15.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>5</watches>
                                                                            <comments>
                            <comment id="323745" author="gerrit" created="Mon, 24 Jan 2022 22:09:58 +0000"  >&lt;p&gt;&quot;Chris Horn &amp;lt;chris.horn@hpe.com&amp;gt;&quot; uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/46292&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/46292&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-15478&quot; title=&quot;Regression in 005bd7075c LU-10391 lnet: Change lnet_send() to take large-addr nids&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-15478&quot;&gt;&lt;del&gt;LU-15478&lt;/del&gt;&lt;/a&gt; lnet: Check LNET_NID_IS_ANY in LNET_NID_NET&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 7e21df0eaaf29326e51a2dc5dfccff1689adb9e1&lt;/p&gt;</comment>
                            <comment id="324522" author="gerrit" created="Mon, 31 Jan 2022 01:43:46 +0000"  >&lt;p&gt;&quot;Oleg Drokin &amp;lt;green@whamcloud.com&amp;gt;&quot; merged in patch &lt;a href=&quot;https://review.whamcloud.com/46292/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/46292/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-15478&quot; title=&quot;Regression in 005bd7075c LU-10391 lnet: Change lnet_send() to take large-addr nids&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-15478&quot;&gt;&lt;del&gt;LU-15478&lt;/del&gt;&lt;/a&gt; lnet: Check LNET_NID_IS_ANY in LNET_NID_NET&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: fbbc1258a057ff718dd9ba41dc32faf2aadc3a90&lt;/p&gt;</comment>
                            <comment id="324543" author="pjones" created="Mon, 31 Jan 2022 04:41:45 +0000"  >&lt;p&gt;Landed for 2.15&lt;/p&gt;</comment>
                            <comment id="324629" author="hornc" created="Mon, 31 Jan 2022 19:36:18 +0000"  >&lt;p&gt;Test report for &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-15478&quot; title=&quot;Regression in 005bd7075c LU-10391 lnet: Change lnet_send() to take large-addr nids&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-15478&quot;&gt;&lt;del&gt;LU-15478&lt;/del&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Build w/o the fix:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;[hornc@ct7-adm lustre-filesystem]$ git reset --hard 78be823f33
HEAD is now at 78be823f33 LU-15218 quota: delete unused quota ID
[hornc@ct7-adm lustre-filesystem]$ make -j 32
...
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Show bug:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;[root@ct7-adm tests]# lctl list_nids
10.73.10.10@tcp
[root@ct7-adm tests]# lctl show_route
net               tcp1 hops 4294967295 gw                  10.73.10.11@tcp up pri 0
[root@ct7-adm tests]# lctl ping 10.73.10.12@tcp1
failed to ping 10.73.10.12@tcp1: Input/output error
[root@ct7-adm tests]# dmesg | tail
[11269.739430] Lustre: DEBUG MARKER: == sanity-lnet test complete, duration 7 sec ============= 01:17:25 (1643419045)
[11270.753951] LNet: Removed LNI 10.73.10.10@tcp
[11271.691683] LNet: Removed LNI 10.73.10.10@tcp1
[12797.050427] LNet: HW NUMA nodes: 1, HW CPU cores: 2, npartitions: 1
[12797.066287] alg: No test for adler32 (adler32-zlib)
[12797.853703] Lustre: DEBUG MARKER: Starting lnet
[12797.902831] LNet: Added LNI 10.73.10.10@tcp [8/256/0/180]
[12797.903911] LNet: Accept secure, port 988
[12797.920874] LNet: 30464:0:(router.c:798:lnet_add_route()) Use hops = 1 for a single-hop route when avoid_asym_router_failure feature is enabled
[12815.937019] LNetError: 30522:0:(lib-move.c:2285:lnet_handle_find_routed_path()) no route to 10.73.10.12@tcp1 from &amp;lt;?&amp;gt;
[root@ct7-adm tests]#
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Apply fix:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;[hornc@ct7-adm lustre-filesystem]$ git reset --hard fbbc1258a0
HEAD is now at fbbc1258a0 LU-15478 lnet: Check LNET_NID_IS_ANY in LNET_NID_NET
[hornc@ct7-adm lustre-filesystem]$ make -j 32
...
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;


&lt;p&gt;Now ping works as expected:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;[root@ct7-adm tests]# lctl ping 10.73.10.12@tcp1
12345-0@lo
12345-10.73.10.12@tcp1
[root@ct7-adm tests]#
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="13182">LU-10391</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </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|i02fzr:</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>
                                                                                            <customfield id="customfield_10060" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Severity</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10022"><![CDATA[3]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        </customfields>
    </item>
</channel>
</rss>