<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <p><br>
    </p>
    <div class="moz-forward-container"><br>
      <br>
      -------- Forwarded Message --------
      <table class="moz-email-headers-table" border="0" cellpadding="0"
        cellspacing="0">
        <tbody>
          <tr>
            <th align="RIGHT" nowrap="nowrap" valign="BASELINE">Subject:
            </th>
            <td>Re: [P4-design] P4_14 changes</td>
          </tr>
          <tr>
            <th align="RIGHT" nowrap="nowrap" valign="BASELINE">Date: </th>
            <td>Tue, 27 Sep 2016 23:11:11 -0700</td>
          </tr>
          <tr>
            <th align="RIGHT" nowrap="nowrap" valign="BASELINE">From: </th>
            <td>Changhoon Kim <a class="moz-txt-link-rfc2396E" href="mailto:chang@barefootnetworks.com"><chang@barefootnetworks.com></a></td>
          </tr>
          <tr>
            <th align="RIGHT" nowrap="nowrap" valign="BASELINE">To: </th>
            <td><a class="moz-txt-link-abbreviated" href="mailto:p4-design@lists.p4.org">p4-design@lists.p4.org</a> <a class="moz-txt-link-rfc2396E" href="mailto:p4-design@lists.p4.org"><p4-design@lists.p4.org></a></td>
          </tr>
          <tr>
            <th align="RIGHT" nowrap="nowrap" valign="BASELINE">CC: </th>
            <td>Amin Vahdat <a class="moz-txt-link-rfc2396E" href="mailto:vahdat@google.com"><vahdat@google.com></a></td>
          </tr>
        </tbody>
      </table>
      <br>
      <br>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <div dir="ltr">Team,
        <div><br>
        </div>
        <div>We haven't had time to discuss these changes at our last
          meeting. Gordon, Peter, and a few other told me they're in
          favor of these tidying-up changes for P4_14. Please give me a
          holler in a day or two if you oppose to these. Otherwise, I'll
          publish these changes via P4.org late Friday.</div>
        <div><br>
        </div>
        <div>Thanks.</div>
        <div><br>
        </div>
        <div>-- Chang</div>
        <div class="gmail_extra"><br>
          <div class="gmail_quote">On Thu, Sep 22, 2016 at 10:03 AM,
            Peter Newman (petenewm) <span dir="ltr"><<a
                moz-do-not-send="true" href="mailto:petenewm@cisco.com"
                target="_blank">petenewm@cisco.com</a>></span> wrote:<br>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <div style="word-wrap:break-word">
                Chang,
                <div><br>
                </div>
                <div>Thanks for tidying this up. I had noticed that the
                  primitive actions in switch.p4 did not exactly agree
                  with the spec. This looks fine.</div>
                <div><br>
                </div>
                <div>—Peter</div>
                <div><br>
                </div>
                <div><br>
                  <div>
                    <div>
                      <div class="h5">
                        <div>On Sep 20, 2016, at 6:11 PM, Changhoon Kim
                          <<a moz-do-not-send="true"
                            href="mailto:chang@barefootnetworks.com"
                            target="_blank">chang@barefootnetworks.com</a>>
                          wrote:</div>
                        <br>
                      </div>
                    </div>
                    <div>
                      <div>
                        <div class="h5">
                          <div dir="ltr">Hi P4 designers,
                            <div><br>
                            </div>
                            <div>While we're all working busily to
                              review the P4_16 proposal and trying to
                              solidify it, I'd like to make a couple
                              proposals related to a completely
                              different topic: P4_14.</div>
                            <div><br>
                            </div>
                            <div>1) The currently widely adopted P4_14
                              spec is the v1.0.2 version. All the public
                              p4lang code out there is largely based on
                              this spec, and I expect that this version
                              will continue to be used for a while, as
                              we'll phase into P4_16. Unfortunately
                              there are a few minor discrepancies
                              between the v1.0.2 spec and what's
                              actually implemented in p4lang/p4-hlir and
                              BMv2, causing confusion to P4 beginners
                              and writers right now. I think it'll be
                              very helpful for the P4 community if we
                              fix those discrepancies quickly. The
                              attached draft -- which is tentatively
                              versioned v1.0.3, but could be officially
                              named P4_14 -- is an attempt to fix those
                              issues. The extent of change is minimal,
                              and the following list summarizes it.
                              There's a revision history in the Appendix
                              as well. I suggest we review this version
                              quickly and publish it, replacing the
                              v1.0.2 spec.</div>
                            <div>
                              <ul style="font-size:12.8px">
                                <li style="margin-left:15px"><span
                                    style="font-size:12.8px">Page 29:
                                    removed register layout in register
                                    declaration.</span><br>
                                </li>
                                <li style="margin-left:15px"><span
                                    style="font-size:12.8px">removed
                                    bracket-based register referencing
                                    from </span><br>
                                  <ul>
                                    <span>
                                      <li style="margin-left:15px"><span
                                          style="font-size:12.8px">the
                                          parameters of modify_field,
                                          add_to_field and add
                                          primitives</span></li>
                                    </span>
                                  </ul>
                                </li>
                                <li style="margin-left:15px"><span
                                    style="font-size:small">Page 27,
                                    Section 7 intro.</span></li>
                                <li style="margin-left:15px"><span
                                    style="font-size:small">Page 47,
                                    9.1.2 Parameter Binding</span></li>
                                <li style="margin-left:15px"><span
                                    style="font-size:small">page 87,
                                    example code: Use
                                    register_read/write primitives
                                    instead.</span></li>
                              </ul>
                              <li style="margin-left:15px"><span
                                  style="font-size:12.8px">page 32:
                                  fixed execute_meter, <span
                                    style="font-size:12.8px">modify_field_wi<wbr>th_hash_based_</span><span
                                    style="font-size:12.8px">offset, </span></span><span
                                  style="font-size:12.8px">added
                                  register_read/write</span></li>
                              <li style="margin-left:15px"><span
                                  style="font-size:12.8px">pages 37: </span><span
                                  style="font-size:12.8px">fixed the
                                  name,</span><span
                                  style="font-size:12.8px"> description
                                  and parameter ordering of </span><span
                                  style="font-size:12.8px">modify_field_with_hash_base<wbr>d_</span><span
                                  style="font-size:12.8px">offset.</span></li>
                              <li style="margin-left:15px"><span
                                  style="font-size:12.8px">pages 40, 41:
                                  fixed execute_meter and </span><span
                                  style="font-size:12.8px">added
                                  register_read/write primitives.</span></li>
                              <li style="margin-left:15px">Changed
                                optional parameters of push, pop,
                                resubmit, recirculate, clone_*
                                primitives to mandatory parameters.
                                Revised pop/push descriptions
                                accordingly. </li>
                            </div>
                            <div>2) The v1.1 spec is currently in a
                              pre-release review state. It hasn't gotten
                              much traction, and we weren't able to
                              secure the necessary code contributions
                              that fully realize this version either.
                              Meanwhile P4_16 offers language features
                              addressing all the goals we wanted to
                              achieve with v1.1, including extern types,
                              stronger type, expression support, etc.,
                              and even more. Given that we'll publish
                              P4_16 soon, I suggest we withdraw the v1.1
                              spec. That way, we'll avoid proliferation
                              of spec variations and minimize
                              confusion. <br>
                            </div>
                            <div><br>
                            </div>
                            <div>Let me know your thought on this. If
                              there's no strong objection, I'll go ahead
                              and make these changes by next week.</div>
                            <div><br>
                            </div>
                            <div>Thanks.</div>
                            <div><br>
                            </div>
                            <div>-- Chang<br>
                              <div><br>
                              </div>
                              <div><br>
                              </div>
                            </div>
                          </div>
                        </div>
                      </div>
                      <span><p4_14_v1.0.3-draft.pdf></span>______<wbr>______________________________<wbr>___________<br>
                      P4-design mailing list<br>
                      <a moz-do-not-send="true"
                        href="mailto:P4-design@lists.p4.org"
                        target="_blank">P4-design@lists.p4.org</a><br>
                      <a moz-do-not-send="true"
                        href="http://lists.p4.org/mailman/listinfo/p4-design_lists.p4.org"
                        target="_blank">http://lists.p4.org/mailman/<wbr>listinfo/p4-design_lists.p4.<wbr>org</a><br>
                      <br>
                    </div>
                  </div>
                  <br>
                </div>
              </div>
            </blockquote>
          </div>
          <br>
        </div>
      </div>
    </div>
  
<br /><br />
<hr style='border:none; color:#909090; background-color:#B0B0B0; height: 1px; width: 99%;' />
<table style='border-collapse:collapse;border:none;'>
        <tr>
                <td style='border:none;padding:0px 15px 0px 8px'>
                        <a href="https://www.avast.com/antivirus">
                                <img border=0 src="http://static.avast.com/emails/avast-mail-stamp.png" alt="Avast logo" />
                        </a>
                </td>
                <td>
                        <p style='color:#3d4d5a; font-family:"Calibri","Verdana","Arial","Helvetica"; font-size:12pt;'>
                                Ezt az e-mailt az Avast víruskereső szoftver átvizsgálta.
                                <br><a href="https://www.avast.com/antivirus">www.avast.com</a>
                        </p>
                </td>
        </tr>
</table>
<br />
</body>
</html>