<div dir="ltr"><div><div><div><div><div><div><div><div><div>Hi Tanja,<br><br></div>Now that switch.p4 is leveraging the P4 "range" match type, it can no longer be compiled for bmv1 (p4c-behavioral), and we should be removing bmv1 from p4lang very soon.<br></div>The "range" match type is supported by the new version of the behavioral-model, aka bmv2 (<a href="https://github.com/p4lang/behavioral-model">https://github.com/p4lang/behavioral-model</a>). You should be able to compile switch.p4 with OF support for bmv2 (outside of p4factory). Unfortunately, I did not find step-by-step instructions, but is should basically be as follows:<br></div>- install bmv2 (<a href="https://github.com/p4lang/behavioral-model">https://github.com/p4lang/behavioral-model</a>). The configure script needs to be run with --with-pdfixed.<br></div>- install the bmv2 compiler (<a href="https://github.com/p4lang/p4c-bm/tree/master/p4c_bm/">https://github.com/p4lang/p4c-bm/tree/master/p4c_bm/</a>)<br></div>- install the OF agent (<a href="https://github.com/p4lang/p4ofagent">https://github.com/p4lang/p4ofagent</a>). You need to export CPPFLAGS=-D_BMV2_ when doing this.<br></div>- compile switch (<a href="https://github.com/p4lang/switch">https://github.com/p4lang/switch</a>). You need to run configure with --with-bmv2 and --with-of. If you are missing any dependency, you should get an error at this point.<br></div>If you run into an issue for one of these steps, please reach out to us.<br><br></div>Thanks,<br><br></div>Antonin<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Nov 8, 2016 at 4:57 AM, Tanja Ulmen <span dir="ltr"><<a href="mailto:tanja.ulmen@rwth-aachen.de" target="_blank">tanja.ulmen@rwth-aachen.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  

    
  
  <div bgcolor="#FFFFFF" text="#000000">
    Hello everyone,<br>
    <br>
    I get an error on building the Soft Switch from the p4factory with
    an Openflow agent. When I run "make bm-p4ofagent PLUGIN_OPENFLOW=1"
    I get the following error:<br>
    <br>
    <font size="-1">...<br>
      Header type security_metadata_t not byte-aligned, adding padding<br>
      Header type fabric_metadata_t not byte-aligned, adding padding<br>
      Header type int_metadata_i2e_t not byte-aligned, adding padding<br>
      Header type meter_metadata_t not byte-aligned, adding padding<br>
      Header type qos_metadata_t not byte-aligned, adding padding<br>
      Generating files in directory
      /home/tanja/Desktop/test/<wbr>p4factory/targets/switch/<wbr>build/bm<br>
      total phv length (in bytes): 2020<br>
      P4_MATCH_RANGE match not yet supported<br>
      Traceback (most recent call last):<br>
        File
"/home/tanja/Desktop/test/<wbr>p4factory/submodules/p4c-<wbr>behavioral/p4c_bm/shell.py",
      line 150, in <module><br>
          main()<br>
        File
"/home/tanja/Desktop/test/<wbr>p4factory/submodules/p4c-<wbr>behavioral/p4c_bm/shell.py",
      line 138, in main<br>
          dump_yaml = args.dump_yaml)<br>
        File
"/home/tanja/Desktop/test/<wbr>p4factory/submodules/p4c-<wbr>behavioral/p4c_bm/smart.py",
      line 1164, in render_dict_create<br>
          render_dict_populate_tables(<wbr>render_dict, hlir)<br>
        File
"/home/tanja/Desktop/test/<wbr>p4factory/submodules/p4c-<wbr>behavioral/p4c_bm/smart.py",
      line 661, in render_dict_populate_tables<br>
          assert(False)<br>
      AssertionError<br>
/home/tanja/Desktop/test/<wbr>p4factory/submodules/p4c-<wbr>behavioral/<a href="http://p4c-bm.mk:96" target="_blank">p4c-bm.mk:96</a>:
      recipe for target 'bm_tenjin_output_oldest' failed<br>
      make: *** [bm_tenjin_output_oldest] Error 1</font><br>
     <br>
    Does anyone know, how to solve it? I use the p4factory repository as
    it is, without any changes.<br>
    <br>
    Regards,<br>
    Tanja<br>
  </div>

<br>______________________________<wbr>_________________<br>
P4-dev mailing list<br>
<a href="mailto:P4-dev@lists.p4.org">P4-dev@lists.p4.org</a><br>
<a href="http://lists.p4.org/mailman/listinfo/p4-dev_lists.p4.org" rel="noreferrer" target="_blank">http://lists.p4.org/mailman/<wbr>listinfo/p4-dev_lists.p4.org</a><br></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">Antonin<br></div></div>
</div>