<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:57:28 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-6130] Number of LNET NI&apos;s limited </title>
                <link>https://jira.whamcloud.com/browse/LU-6130</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;While investigating the number of maximum possible NI&apos;s that can be added with DLC, I found that the structure lnet_ping_info_t is only expected to have a maximum of 16 entries in pi_ni.&lt;/p&gt;

&lt;p&gt;./lnet/include/lnet/lib-types.h:460&lt;/p&gt;

&lt;p&gt;typedef struct {&lt;br/&gt;
       __u32                   pi_magic;&lt;br/&gt;
       __u32                   pi_features;&lt;br/&gt;
       lnet_pid_t              pi_pid;&lt;br/&gt;
       __u32                   pi_nnis;&lt;br/&gt;
       lnet_ni_status_t        pi_ni&lt;span class=&quot;error&quot;&gt;&amp;#91;0&amp;#93;&lt;/span&gt;;&lt;br/&gt;
} WIRE_ATTR lnet_ping_info_t;&lt;/p&gt;

&lt;p&gt;/* router checker data, per router */&lt;br/&gt;
#define LNET_MAX_RTR_NIS   16&lt;br/&gt;
#define LNET_PINGINFO_SIZE offsetof(lnet_ping_info_t, pi_ni&lt;span class=&quot;error&quot;&gt;&amp;#91;LNET_MAX_RTR_NIS&amp;#93;&lt;/span&gt;)&lt;/p&gt;

&lt;p&gt;Following the call chain from adding a new NI with DLC....&lt;/p&gt;

&lt;p&gt;./lnet/utils/lnetconfig/liblnetconfig.c:&lt;br/&gt;
l_ioctl(LNET_DEV_ID, IOC_LIBCFS_ADD_NET, &amp;amp;data)&lt;/p&gt;

&lt;p&gt;./lnet/lnet/module.c:&lt;br/&gt;
l_ioctl() -&amp;gt; lnet_dyn_configure() -&amp;gt; lnet_dyn_add_ni()&lt;/p&gt;

&lt;p&gt;lnet/lnet/api-ni.c:&lt;br/&gt;
lnet_dyn_add_ni() -&amp;gt; lnet_ping_info_setup() -&amp;gt; lnet_ping_info_create()&lt;/p&gt;

&lt;p&gt;This is where the pi_ni array mentioned above is used:&lt;/p&gt;

&lt;p&gt;lnet_ping_info_create(int num_ni)&lt;br/&gt;
...&lt;br/&gt;
       infosz = offsetof(lnet_ping_info_t, pi_ni&lt;span class=&quot;error&quot;&gt;&amp;#91;num_ni&amp;#93;&lt;/span&gt;);&lt;br/&gt;
&#8230;&lt;/p&gt;

&lt;p&gt;This limit would appear designed to apply to routers, but what about an OSS with an arbitrary number (N) of NI&apos;s (e.g. o2ib0&#8230;o2ibN)?&lt;/p&gt;</description>
                <environment></environment>
        <key id="28221">LU-6130</key>
            <summary>Number of LNET NI&apos;s limited </summary>
                <type id="1" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11303&amp;avatarType=issuetype">Bug</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="ashehata">Amir Shehata</assignee>
                                    <reporter username="blakecaldwell">Blake Caldwell</reporter>
                        <labels>
                    </labels>
                <created>Thu, 15 Jan 2015 21:30:44 +0000</created>
                <updated>Thu, 15 Oct 2020 13:35:27 +0000</updated>
                                            <version>Lustre 2.7.0</version>
                                                        <due></due>
                            <votes>0</votes>
                                    <watches>10</watches>
                                                                            <comments>
                            <comment id="103681" author="yujian" created="Thu, 15 Jan 2015 22:03:32 +0000"  >&lt;p&gt;Hi Isaac,&lt;/p&gt;

&lt;p&gt;I saw that &quot;#define LNET_MAX_RTR_NIS   16&quot; was created by you in commit 5e1e6a6756d3b4ca19a0d7e0defcf974dbfed13c. Could you please comment on this ticket?&lt;/p&gt;</comment>
                            <comment id="105062" author="ashehata" created="Thu, 29 Jan 2015 01:58:57 +0000"  >&lt;p&gt;When creating/adjusting the ping info when adding an NI, there is no limit on the size of the ping info.  So it can expand to include all the NIs on the node.&lt;/p&gt;

&lt;p&gt;However, when pinging a node the current code is only interested in the first 16 NIDs of the router.  This could be an issue in the following scenario:&lt;/p&gt;

&lt;p&gt;Router A has 17 NIs, 0 to 16&lt;br/&gt;
Node B has a route to Router A using the NID-16.&lt;br/&gt;
Node B is configured to ping routers to check if they are alive&lt;br/&gt;
Node B pings Router A NID-16&lt;br/&gt;
Router A responds with NIDs 0-15&lt;br/&gt;
Node B iterates all Router A&apos;s NIDs but doesn&apos;t find NID-16, so it considers that Router dead.&lt;/p&gt;

&lt;p&gt;This is a corner scenario, since it requires a router with &amp;gt; 16 NIDs and other nodes have routes to the router using NIDs &amp;gt; 16 as a route.&lt;/p&gt;

&lt;p&gt;This also affect lctl ping, but this is not critical, since lctl ping is only used by sysadmins to ping nodes.  I don&apos;t think it&apos;s a problem since ping response will still be displayed, but only the first 16 NIDs will be displayed.&lt;/p&gt;

&lt;p&gt;The reason for the number 16, is because we have to allocate a specific size to receive ping info.  When we ping a node we don&apos;t know how many NIDs it has so we need to select a size for the buffer to receive the ping info.  16 NIDs seemed like a reasonable number to go with.&lt;/p&gt;

&lt;p&gt;I&apos;m not sure about your concern with regards to the OSS number of NIs.  Could you please explain your concern further.&lt;/p&gt;</comment>
                            <comment id="113189" author="yujian" created="Thu, 23 Apr 2015 06:44:52 +0000"  >&lt;p&gt;Hi Blake,&lt;/p&gt;

&lt;p&gt;Did Amir answer your question? If not, could you please explain your concern further?&lt;/p&gt;</comment>
                            <comment id="113202" author="simmonsja" created="Thu, 23 Apr 2015 13:45:57 +0000"  >&lt;p&gt;Today&apos;s corner cases will be tomorrows default settings. Perhaps we should look at fixing this. Besides LNET_MAX_RTR_NIS also LNET_PINGINFO_SIZE would have to be handled dynamically.&lt;/p&gt;</comment>
                            <comment id="113241" author="blakecaldwell" created="Thu, 23 Apr 2015 17:19:59 +0000"  >&lt;p&gt;Yes, that was a clear explanation. Thank you, Amir. I understand now. So the number of LNET NI&apos;s should not be limited, which strictly speaking, was the original concern of my ticket. Creating more than 16 &quot;flat&quot; NI&apos;s is desirable.  However, as James alluded to, this limitation could be a problem as soon as a router is needed in this configuration (o2ib to tcp, or segmented IB networks).&lt;/p&gt;</comment>
                            <comment id="113261" author="ashehata" created="Thu, 23 Apr 2015 20:55:49 +0000"  >&lt;p&gt;I&apos;ll create a ticket to track this enhancement.  I do agree that we should be stepping away from hard coded static values.&lt;/p&gt;</comment>
                            <comment id="282313" author="jhammond" created="Thu, 15 Oct 2020 13:35:27 +0000"  >&lt;p&gt;More discussion from Andreas on &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-7562&quot; title=&quot;Increase LNET_MAX_INTERFACES&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-7562&quot;&gt;&lt;del&gt;LU-7562&lt;/del&gt;&lt;/a&gt;.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="33716">LU-7562</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="31213">LU-6901</issuekey>
        </issuelink>
                            </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_10490" key="com.atlassian.jira.plugin.system.customfieldtypes:datepicker">
                        <customfieldname>End date</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Fri, 24 Jul 2015 21:30:44 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10390" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hzx43z:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10090" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>17076</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>
                                                                                                                        <customfield id="customfield_10493" key="com.atlassian.jira.plugin.system.customfieldtypes:datepicker">
                        <customfieldname>Start date</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Thu, 15 Jan 2015 21:30:44 +0000</customfieldvalue>

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