<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hi Antonin,<br>
    <br>
    thank you for your reply. Everything works fine until I try to
    configure the switch.<br>
    <br>
    The "./configure --with-bmv2 --with-of" ends with this:<br>
    <font size="-1"><br>
      === configuring in p4-build (/home/tanja/Desktop/switch/p4-build)<br>
      configure: WARNING: no configuration information is in p4-build<br>
      <br>
    </font><font size="-1">switch features recap ......................<br>
      Coverage enabled .............. : no<br>
      With switchlink ............... : no<br>
      With switchsai ................ : no<br>
      With switchapi ................ : yes<br>
      With openflow ................. : yes<br>
      Compile for p4factory ......... : no<br>
      Compile for bmv2 .............. : yes<br>
      PTF found ..................... : yes<br>
      <br>
    </font>thus the "make" does not work:<br>
    <font size="-1"><br>
      make  all-recursive<br>
      make[1]: Entering directory '/home/tanja/Desktop/switch'<br>
      Making all in p4-build<br>
      make[2]: Entering directory '/home/tanja/Desktop/switch/p4-build'<br>
      make[2]: *** No rule to make target 'all'.  Stop.<br>
      make[2]: Leaving directory '/home/tanja/Desktop/switch/p4-build'<br>
      Makefile:469: recipe for target 'all-recursive' failed<br>
      make[1]: *** [all-recursive] Error 1<br>
      make[1]: Leaving directory '/home/tanja/Desktop/switch'<br>
      Makefile:393: recipe for target 'all' failed<br>
      make: *** [all] Error 2</font><br>
    <br>
    Where is my mistake?<br>
    <br>
    Regards,<br>
    Tanja<br>
    <br>
    <br>
    <div class="moz-cite-prefix">Am 08.11.2016 um 18:31 schrieb Antonin
      Bas:<br>
    </div>
    <blockquote
cite="mid:CAFFMnX7i6bGO7iw11Y3U6G_JsjpTyQhR8JH3zT1p=BKmEkASsg@mail.gmail.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <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
                        moz-do-not-send="true"
                        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 moz-do-not-send="true"
                      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 moz-do-not-send="true"
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 moz-do-not-send="true"
                  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 moz-do-not-send="true"
                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 moz-do-not-send="true"
              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
                  moz-do-not-send="true" 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 moz-do-not-send="true" href="mailto:P4-dev@lists.p4.org">P4-dev@lists.p4.org</a><br>
            <a moz-do-not-send="true"
              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>
    </blockquote>
    <br>
  </body>
</html>