<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    I think that the implementation is complex for me and maybe
    reviewer.<br>
    Could you propose devref like vlan-aware-vms[1]?<br>
    <br>
    [1]: <a class="moz-txt-link-freetext" href="https://review.openstack.org/#/c/318317/">https://review.openstack.org/#/c/318317/</a><br>
    <br>
    Thanks,<br>
    Hirofumi<br>
    <br>
    <div class="moz-cite-prefix">On 2016/06/24 18:10, Alonso Hernandez,
      Rodolfo wrote:<br>
    </div>
    <blockquote
cite="mid:09EBCA665F44B041A902CBA49CF348CF1EE52AC9@IRSMSX101.ger.corp.intel.com"
      type="cite">
      <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:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@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;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;
        color:black;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";
        color:black;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0cm;
        margin-right:0cm;
        margin-bottom:0cm;
        margin-left:36.0pt;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;
        color:black;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;
        color:black;}
span.EmailStyle20
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
span.EmailStyle21
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:774637843;
        mso-list-type:hybrid;
        mso-list-template-ids:1570538366 -1616727178 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
        {mso-level-start-at:0;
        mso-level-number-format:bullet;
        mso-level-text:-;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-font-family:Calibri;
        mso-bidi-font-family:"Times New Roman";}
@list l0:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:"Courier New";}
@list l0:level3
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Wingdings;}
@list l0:level4
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Symbol;}
@list l0:level5
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:"Courier New";}
@list l0:level6
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Wingdings;}
@list l0:level7
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Symbol;}
@list l0:level8
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:"Courier New";}
@list l0:level9
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Wingdings;}
ol
        {margin-bottom:0cm;}
ul
        {margin-bottom:0cm;}
--></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"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Hello:<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Ichihara,
            thank you for your answer. It was just a test to find out
            how to setup correctly the egress traffic shaping. I was
            facing this situation and I found the problem: I was using
            bridges with datapath_type = netdev, instead of system. That
            was the main problem. Now I can correctly apply a QoS and a
            queue, and assign a traffic to this queue.<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">To
            avoid using veth between bridges, I’m implementing the
            following solution:<o:p></o:p></span></p>
        <p class="MsoListParagraph"
          style="text-indent:-18.0pt;mso-list:l0 level1 lfo2"><!--[if !supportLists]--><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><span
              style="mso-list:Ignore">-<span style="font:7.0pt
                "Times New Roman"">         
              </span></span></span><!--[endif]--><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Create
            a new queue for each min-qos rule applied to a port (the
            same min-qos rule could be applied to several ports, of
            course).<o:p></o:p></span></p>
        <p class="MsoListParagraph"
          style="text-indent:-18.0pt;mso-list:l0 level1 lfo2"><!--[if !supportLists]--><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><span
              style="mso-list:Ignore">-<span style="font:7.0pt
                "Times New Roman"">         
              </span></span></span><!--[endif]--><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Because
            ovs only shapes traffic in the egress direction (ovs point
            of view):<o:p></o:p></span></p>
        <p class="MsoListParagraph"
          style="margin-left:72.0pt;text-indent:-18.0pt;mso-list:l0
          level2 lfo2">
          <!--[if !supportLists]--><span
            style="font-size:11.0pt;font-family:"Courier
            New";color:#1F497D"><span style="mso-list:Ignore">o<span
                style="font:7.0pt "Times New Roman"">  
              </span></span></span><!--[endif]--><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Create
            a qos policy for each port in br-int in the same network of
            the port to apply the qos; then assign the created queue to
            this qos policy.<o:p></o:p></span></p>
        <p class="MsoListParagraph"
          style="margin-left:72.0pt;text-indent:-18.0pt;mso-list:l0
          level2 lfo2">
          <!--[if !supportLists]--><span
            style="font-size:11.0pt;font-family:"Courier
            New";color:#1F497D"><span style="mso-list:Ignore">o<span
                style="font:7.0pt "Times New Roman"">  
              </span></span></span><!--[endif]--><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Create
            a qos policy for the external port in br-tun, and then
            assign the queue<o:p></o:p></span></p>
        <p class="MsoListParagraph"
          style="margin-left:72.0pt;text-indent:-18.0pt;mso-list:l0
          level2 lfo2">
          <!--[if !supportLists]--><span
            style="font-size:11.0pt;font-family:"Courier
            New";color:#1F497D"><span style="mso-list:Ignore">o<span
                style="font:7.0pt "Times New Roman"">  
              </span></span></span><!--[endif]--><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Create
            a qos policy for the external port for the br-phy in the
            same network, and assign the queue<o:p></o:p></span></p>
        <p class="MsoListParagraph"
          style="text-indent:-18.0pt;mso-list:l0 level1 lfo2"><!--[if !supportLists]--><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><span
              style="mso-list:Ignore">-<span style="font:7.0pt
                "Times New Roman"">         
              </span></span></span><!--[endif]--><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">In
            br-int, table 0, enqueue all traffic going into ovs from the
            port with qos policy assigned to the queue created.<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">With
            this implementation, you don’t need to use veth and all
            traffic going from the port with the qos policy assigned to
            other VM or external port (physical bridge, tunnel) will be
            shaped. Of course, this implementation is a bit tangled, so
            please be gentle in the code-review.<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Regards.<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal"><a moz-do-not-send="true"
            name="_MailEndCompose"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></a></p>
        <div>
          <div style="border:none;border-top:solid #E1E1E1
            1.0pt;padding:3.0pt 0cm 0cm 0cm">
            <p class="MsoNormal"><a moz-do-not-send="true"
                name="_____replyseparator"></a><b><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:windowtext">From:</span></b><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:windowtext">
                Hirofumi Ichihara
                [<a class="moz-txt-link-freetext" href="mailto:ichihara.hirofumi@lab.ntt.co.jp">mailto:ichihara.hirofumi@lab.ntt.co.jp</a>]
                <br>
                <b>Sent:</b> Tuesday, June 21, 2016 10:27 AM<br>
                <b>To:</b> OpenStack Development Mailing List (not for
                usage questions)
                <a class="moz-txt-link-rfc2396E" href="mailto:openstack-dev@lists.openstack.org"><openstack-dev@lists.openstack.org></a><br>
                <b>Subject:</b> Re: [openstack-dev] [neutron][qos]
                Egress minimum bandwidth assurance<o:p></o:p></span></p>
          </div>
        </div>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <div>
          <p class="MsoNormal">On 2016/06/15 18:54, Alonso Hernandez,
            Rodolfo wrote:<o:p></o:p></p>
        </div>
        <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
          <p class="MsoNormal"><span
              style="font-size:11.0pt;font-family:"Calibri",sans-serif">Hello:</span><o:p></o:p></p>
          <p class="MsoNormal"><span
              style="font-size:11.0pt;font-family:"Calibri",sans-serif"> </span><o:p></o:p></p>
          <p class="MsoNormal"><span
              style="font-size:11.0pt;font-family:"Calibri",sans-serif">Context:
              try to develop a driver for this feature in OVS.</span><o:p></o:p></p>
          <p class="MsoNormal"><span
              style="font-size:11.0pt;font-family:"Calibri",sans-serif"> </span><o:p></o:p></p>
          <p class="MsoNormal"><span
              style="font-size:11.0pt;font-family:"Calibri",sans-serif">During
              the last week I’ve been testing several scenarios to make
              a POC of this feature.</span><o:p></o:p></p>
          <p class="MsoNormal"><span
              style="font-size:11.0pt;font-family:"Calibri",sans-serif"> </span><o:p></o:p></p>
          <p class="MsoNormal"><span
              style="font-size:11.0pt;font-family:"Calibri",sans-serif">Scenario
              1:</span><o:p></o:p></p>
          <p class="MsoNormal"><span
              style="font-size:11.0pt;font-family:"Calibri",sans-serif">3
              VM connected to br-int, sending traffic through
              br-physical to other host (an external physical machine).</span><o:p></o:p></p>
          <p class="MsoNormal"><span
              style="font-size:11.0pt;font-family:"Calibri",sans-serif">The
              first VM will have a min BW of 15 Mb. The physical port
              will be limited to 20 Mb, so for VM2 and VM3 should be
              only 5 Mb of available BW.</span><o:p></o:p></p>
          <p class="MsoNormal"><span
              style="font-size:11.0pt;font-family:"Calibri",sans-serif">Those
              three VM are using iperf to inject traffic against the
              external host.</span><o:p></o:p></p>
          <p class="MsoNormal"><span
              style="font-size:11.0pt;font-family:"Calibri",sans-serif"> </span><o:p></o:p></p>
          <p class="MsoNormal"><span
              style="font-size:11.0pt;font-family:"Calibri",sans-serif">A)
              One qos policy and queue is created at VM1 port (with
              other_config:{min-rate=15000000}). The traffic is not
              shapped.</span><o:p></o:p></p>
          <p class="MsoNormal"><span
              style="font-size:11.0pt;font-family:"Calibri",sans-serif">B)
              Another qos policy and queue with this minimum BW is
              created at int-phy-patchport. The traffic is not shapped.</span><o:p></o:p></p>
          <p class="MsoNormal"><span
              style="font-size:11.0pt;font-family:"Calibri",sans-serif">C)
              Another qos policy and queue with this minimum BW is
              created at phy-int-phy-patchport. The traffic is not
              shapped.</span><o:p></o:p></p>
          <p class="MsoNormal"><span
              style="font-size:11.0pt;font-family:"Calibri",sans-serif">D)
              Another qos policy and queue with this minimum BW is
              created at physical port. The traffic is still not
              shapped.</span><o:p></o:p></p>
          <p class="MsoNormal"><span
              style="font-size:11.0pt;font-family:"Calibri",sans-serif">In
              OVS all traffic from VM1 is filtered to match the correct
              qos and queues at the ports.</span><o:p></o:p></p>
        </blockquote>
        <p class="MsoNormal">It seems that this scenario doesn't expect
          some scenarios like DVR and multiple NIC. I thought that the
          queue should be set in br-int with veth(instead of patch port)
          between br-int and bt-tun. However, I guess that this may
          occur a issue that traffic cannot turn back in br-int. That
          may happen in Scenario2 case.<br>
          <br>
          Therefore, I think that we should set the queue to physical
          port but we have a problem how do we specify the NIC in some
          cases(vlan, vxlan, DVR mode router and DVR FloatingIP).<br>
          <br>
          <br>
          <br>
          <o:p></o:p></p>
        <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
          <p class="MsoNormal"><span
              style="font-size:11.0pt;font-family:"Calibri",sans-serif"> </span><o:p></o:p></p>
          <p class="MsoNormal"><span
              style="font-size:11.0pt;font-family:"Calibri",sans-serif">Scenario
              2:</span><o:p></o:p></p>
          <p class="MsoNormal"><span
              style="font-size:11.0pt;font-family:"Calibri",sans-serif">Similar
              to scenario 1, but using a fourth VM to act as server. In
              this case, traffic only goes through br-int.</span><o:p></o:p></p>
          <p class="MsoNormal"><span
              style="font-size:11.0pt;font-family:"Calibri",sans-serif">A)
              One qos policy and queue is created at VM1 port (with
              other_config:{min-rate=15000000}). The traffic is not
              shapped.</span><o:p></o:p></p>
          <p class="MsoNormal"><span
              style="font-size:11.0pt;font-family:"Calibri",sans-serif">B)
              Another qos policy and queue with this minimum BW is
              created at output port (VM4 server port). The traffic is
              still not shapped.</span><o:p></o:p></p>
          <p class="MsoNormal"><span
              style="font-size:11.0pt;font-family:"Calibri",sans-serif"><br>
              <br>
            </span><o:p></o:p></p>
        </blockquote>
        <p class="MsoNormal">I think we cannot manage this case because
          we doesn't know MAX bandwidth of traffic in br-int and the
          bandwidth is usually enough.<br>
          We should focus our attention on a case that the traffic goes
          out to other nodes.<br>
          <br>
          Thanks,<br>
          Hirofumi<br>
          <br>
          <br>
          <o:p></o:p></p>
        <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
          <p class="MsoNormal"><span
              style="font-size:11.0pt;font-family:"Calibri",sans-serif">I
              need some help with this implementation, because I’m
              running out of time an ideas!</span><o:p></o:p></p>
          <p class="MsoNormal"><span
              style="font-size:11.0pt;font-family:"Calibri",sans-serif"> </span><o:p></o:p></p>
          <p class="MsoNormal"><span
              style="font-size:11.0pt;font-family:"Calibri",sans-serif">Thank
              you in advance.</span><o:p></o:p></p>
          <p class="MsoNormal"><br>
            <br>
            <br>
            <o:p></o:p></p>
          <pre>__________________________________________________________________________<o:p></o:p></pre>
          <pre>OpenStack Development Mailing List (not for usage questions)<o:p></o:p></pre>
          <pre>Unsubscribe: <a moz-do-not-send="true" href="mailto:OpenStack-dev-request@lists.openstack.org?subject:unsubscribe">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><o:p></o:p></pre>
          <pre><a moz-do-not-send="true" href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><o:p></o:p></pre>
        </blockquote>
        <p class="MsoNormal"><o:p> </o:p></p>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: <a class="moz-txt-link-abbreviated" href="mailto:OpenStack-dev-request@lists.openstack.org?subject:unsubscribe">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a>
<a class="moz-txt-link-freetext" href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>