<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 03:02:51 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-13625] socklnd can select the wrong IP address to bind socket to</title>
                <link>https://jira.whamcloud.com/browse/LU-13625</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;In choose_ipv4_src() it doesn&apos;t matter which IP address you bind to as long as you bind to the interface. The reasoning is that the only important thing is you bind to the interface to make sure traffic goes out the NIC you expect.&lt;br/&gt;
However, I see a drawback with not binding to an IP address. I&apos;ll mention two tests I did to show the drawback. The first one is on the nose test:&lt;br/&gt;
TEST ONE&lt;br/&gt;
1. I configure 2 IP addresses on one interface. &lt;br/&gt;
2. I add a REJECT rule on the second IP address. such that all traffic using the second IP address is dropped&lt;br/&gt;
3. I configure LNet to use that interface.&lt;br/&gt;
4. All LNet traffic binds against the second address and all traffic is dropped&lt;br/&gt;
TEST TWO&lt;br/&gt;
1. I configure routing and rules such that anything using the first IP address on the interfaces egress the desired NIC&lt;br/&gt;
2. Run an lnet self test and monitor traffic via &quot;netstat -i&quot;&lt;br/&gt;
3. Since the socket is being bound to the second IP on the interfaces the rules are not being hit and traffic is not distributed as expected&lt;/p&gt;

&lt;p&gt;From the below stats, only eth0 is being using for TXs&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
Kernel Interface table
Iface      MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0      1500   115139      0   1840 0       1025644      0      0      0 BMRU
eth1      1500   115627      0   3597 0            24      0      0      0 BMRU
eth2      1500   179972      0    132 0            23      0      0      0 BMRU
lo       65536      372      0      0 0           372      0      0      0 LRU&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;LNet is a virtual networking layer on top of the physical network. The admin should have control over not only the interface LNet uses, but also the IP address. I admit, that currently our user space tools only bind to the interface (although ip2nets allows specifying IP ranges). However, I see situations, especially as ethernet becomes more widely used on sites, that admins might want the control to configure multiple IP addresses, route packets using each IP address differently and have Lustre go over one of the specific routes, while dealing with applications using the second IP address differently.&lt;/p&gt;</description>
                <environment></environment>
        <key id="59418">LU-13625</key>
            <summary>socklnd can select the wrong IP address to bind socket to</summary>
                <type id="7" iconUrl="https://jira.whamcloud.com/images/icons/issuetypes/task_agile.png">Technical task</type>
                            <parent id="61315">LU-14064</parent>
                                    <priority id="4" iconUrl="https://jira.whamcloud.com/images/icons/priorities/minor.svg">Minor</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="ashehata">Amir Shehata</reporter>
                        <labels>
                    </labels>
                <created>Tue, 2 Jun 2020 15:55:08 +0000</created>
                <updated>Sun, 9 May 2021 15:02:34 +0000</updated>
                                                                                <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                            <comments>
                            <comment id="271790" author="gerrit" created="Tue, 2 Jun 2020 22:43:49 +0000"  >&lt;p&gt;Amir Shehata (ashehata@whamcloud.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/38812&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/38812&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-13625&quot; title=&quot;socklnd can select the wrong IP address to bind socket to&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-13625&quot;&gt;LU-13625&lt;/a&gt; socklnd: bind socket to correct IP addr&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 54f92a4d0228d8b8eea6e30585a033872dafc575&lt;/p&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|i011sv:</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>