<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" xmlns:ns0="hxxp://schemas.microsoft.com/office/2004/12/omml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<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:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
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="EN-US" link="#0563C1" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal">>Hello <br>
><br>
>I am working on a PoC for a new LND which need to use a 16 bytes NID address<br>
>I am currently facing issues adding a 16byte NID to Lnet selftest since it only handles 4 byte NIDs<br>
><br>
>Are there any patches or WIP to add 16 byte NID support to LST ? <br>
<br>
<o:p></o:p></p>
<p class="MsoNormal">Yes, there is but it’s under current development. To try it out you need the latest Lustre code plus a bunch of patches.<o:p></o:p></p>
<p class="MsoNormal">You can see where we are at this link <a href="https://jira.whamcloud.com/browse/LU-10391">
https://jira.whamcloud.com/browse/LU-10391</a>.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Since going through the tickets is going to be a lot, I can give you a quick summary. The basic infrastructure is in the<o:p></o:p></p>
<p class="MsoNormal">core LNet code but the big changes needed are the wire protocol headers and user land interface tools. Note having<o:p></o:p></p>
<p class="MsoNormal">Lustre using large NIDS is another set of tickets which are not there yet. It doesn’t sound like you are looking for<o:p></o:p></p>
<p class="MsoNormal">a functional file system on top of your interconnect at this point.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">For the user land tools we need to update them to support large NID addressing.  The main functionality we need<o:p></o:p></p>
<p class="MsoNormal">is support of setup of the local NI, peers, and pings. We do need routers as well but it’s not a hard requirement at<o:p></o:p></p>
<p class="MsoNormal">this point. A patch to support large NID for local NID is in the master-next branch so if our gate keeper is happy<o:p></o:p></p>
<p class="MsoNormal">it will land in the coming week. The patch is at<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><a href="https://review.whamcloud.com/c/fs/lustre-release/+/48814">https://review.whamcloud.com/c/fs/lustre-release/+/48814</a><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">With this patch you can run lctl list_nids and see that large NIDs you setup. Note I haven’t finish lnetctl net show<o:p></o:p></p>
<p class="MsoNormal">support since it gives more in-depth info compared to lctl list_nids. I have a unfinished patch for that work. I also<o:p></o:p></p>
<p class="MsoNormal">have a lctl ping / lnetctl ping patch to support large NIDs in the work. It has a few bugs I need to work out but its<o:p></o:p></p>
<p class="MsoNormal">somewhat working. LNet selftest also needs to be reworked to support large NIDs. I have a patch to start this<o:p></o:p></p>
<p class="MsoNormal">support.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><a href="https://review.whamcloud.com/c/fs/lustre-release/+/43298">https://review.whamcloud.com/c/fs/lustre-release/+/43298</a><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I also have a local patch for lnet selftest group handling that is not finished. With the ability to set up local NI<o:p></o:p></p>
<p class="MsoNormal">we can then allow selftest group setup. <o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">For the wire protocol we need to support pings and transfers i.e PUT, GET etc. Ping has been heavily worked<o:p></o:p></p>
<p class="MsoNormal">on and I have been testing it with my incomplete large NID ping tool update. The patch series is here:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><a href="https://review.whamcloud.com/c/fs/lustre-release/+/44635">https://review.whamcloud.com/c/fs/lustre-release/+/44635</a><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">You will see in gerrit the patch set needed to get pings working. The rest of LNet data transfer protocol<o:p></o:p></p>
<p class="MsoNormal">will require setting up the proper wire header. The new wire headers already exist but are not sent over<o:p></o:p></p>
<p class="MsoNormal">the wire at this point. <o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">At this point the goal will be to get lnet selftest to do ping test over the wire between two large NID. If<o:p></o:p></p>
<p class="MsoNormal">you are interested in this work let me know. It would be great if you can be an early tester. It would be<o:p></o:p></p>
<p class="MsoNormal">nice to get feedback on this work. We have a slack channel where we have discussions on the progress<o:p></o:p></p>
<p class="MsoNormal">of this work. You will have questions about the changes needed to properly support your LND driver the
<o:p></o:p></p>
<p class="MsoNormal">slack channel is the best place to ask those. Feel free to ask here as well if you prefer. Someone will
<o:p></o:p></p>
<p class="MsoNormal">answer. Let me know if you want to join the slack channel.<o:p></o:p></p>
</div>
</body>
</html>