<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html;
      charset=windows-1252">
  </head>
  <body>
    Hi Nainar,<br>
    <br>
    What do you mean by "controllers do not support recycling of Tx
    buffers"?<br>
    MNP provides a transmit buffer to SNP (and with EDK2's SNP also to
    UNDI) and at this point it is considered owned by SNP/UNDI.<br>
    After UNDI/SNP successfully transmits the packet, it is expected to
    give it back via UNDI->GetStatus().<br>
    <br>
    Adding network controller (NIC) and UNDI into the picture.<br>
    <br>
    1. UNDI->Transmit() gets a single Tx buffer to put on the wire.<br>
    2. If a NIC has a pre-allocated region for Tx buffers and cannot
    dynamically swap them out, UNDI->Transmit() should copy the Tx
    buffer into appropriate region. UNDI driver should also store that
    Tx buffer somewhere within the driver, where it will be accessible
    by UNDI->GetStatus() function.<br>
    3. After successful transmit of Tx buffer, on next
    UNDI->GetStatus() with PXE_OPFLAGS_GET_TRANSMITTED_BUFFERS
    OpFlag, driver should put that Tx buffer address in PXE_CDB.DBAddr
    provided to UNDI->GetStatus() as a parameter.<br>
    <br>
    Summing the above - Tx buffer recycling is purely a SW feature. I do
    not understand your request nor find it valid.<br>
    <br>
    Thanks,<br>
    Maciej<br>
    <br>
    <div class="moz-cite-prefix">On 24-Nov-20 15:30, Sivaraman Nainar
      wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:B4DE137BDB63634BAC03BD9DE765F19702B4B9B3AA@VENUS1.in.megatrends.com">
      <meta http-equiv="Content-Type" content="text/html;
        charset=windows-1252">
      <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;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";}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]-->
      <div class="WordSection1">
        <p class="MsoNormal">Hello all:<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">MNPDxe supported with the Recycle buffer
          support from the below git commit,<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal"><a
href="https://github.com/tianocore/edk2/commit/0507449955c5c629cec196b62986afbb91203ed9#diff-fb5b97ad38efea22f5ddd745f6e43ebdb509dc4a5aef81997ba53af5f918a47b"
            moz-do-not-send="true">https://github.com/tianocore/edk2/commit/0507449955c5c629cec196b62986afbb91203ed9#diff-fb5b97ad38efea22f5ddd745f6e43ebdb509dc4a5aef81997ba53af5f918a47b</a><o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">But many network controllers does not
          support the Recycling Tx Buffers which will cause the PXE
          Download failure or HTTP Boot failure.
          <o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Can this feature can be controlled by a
          Dynamic PCD so that the same code can work for controller
          which does not support Tx Buffer Recycling.<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Thanks<o:p></o:p></p>
        <p class="MsoNormal">Siva<o:p></o:p></p>
      </div>
      
    </blockquote>
    <br>
  </body>
</html>


 <div width="1" style="color:white;clear:both">_._,_._,_</div> <hr> Groups.io Links:<p>   You receive all messages sent to this group.    <p> <a target="_blank" href="https://edk2.groups.io/g/devel/message/68025">View/Reply Online (#68025)</a> |    |  <a target="_blank" href="https://groups.io/mt/78477824/1813853">Mute This Topic</a>  | <a href="https://edk2.groups.io/g/devel/post">New Topic</a><br>    <a href="https://edk2.groups.io/g/devel/editsub/1813853">Your Subscription</a> | <a href="mailto:devel+owner@edk2.groups.io">Contact Group Owner</a> |  <a href="https://edk2.groups.io/g/devel/unsub">Unsubscribe</a>  [edk2-devel-archive@redhat.com]<br> <div width="1" style="color:white;clear:both">_._,_._,_</div>