<div dir="ltr">Hi Sarath,<div><br></div><div>I'm glad to hear that you got a working setup.  You basically need to recompile the new p4 source code with p4 compiler. The compiler creates a new json file and you will need to restart the switch with the new json content.<br><br>I'm pushing my experimental work on P4 in following github repo <a href="https://github.com/p4kide" target="_blank">https://github.com/p4kide</a><wbr> . You may find useful MiniP4 project which creates P4 networks based on configuration yaml file using Mininet. The good news for you is that it takes care of compiling the p4 src and many other stuff. So, you can just update your p4 code and restart mnp4.<br><br>The other project is an experimental implementation on Amazon VPC using P4.</div><div><br><br></div><div>Kind regards,</div><div>Jon</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Sep 2, 2016 at 9:57 AM, Sarath Kamisetty <span dir="ltr"><<a href="mailto:sarath.kamisetty@gmail.com" target="_blank">sarath.kamisetty@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Another follow up question on this .. If I make any modifications to the p4src/*.p4 files, what are the steps to re-compile so I can run the unit tests and make sure nothing is broken ? Sorry if this was asked earlier, I couldn't find it in the archives.<br></div><div><br></div><div>Thanks,</div><div>Sarat<div><div class="h5"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Sep 1, 2016 at 4:53 PM, Sarath Kamisetty <span dir="ltr"><<a href="mailto:sarath.kamisetty@gmail.com" target="_blank">sarath.kamisetty@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi,<div><br></div><div>#1. for bmv2, I had to do "make install" at the end (instead of just "make") to install it in the standard location (this was pointed by Antonin as well).</div><div><br></div><div class="gmail_extra">#2. I wasn't aware of "git submodule update --init --recursive" as you pointed out. I ended up doing the hard way ... did git clone manually under the subdirs based on the errors I was seeing for p4-build/ (otherwise it was empty) and also under switchsai/submodules/ to get SAI header files).</div><div class="gmail_extra"><br></div><div class="gmail_extra">Thanks for these consolidated steps, I now have a working setup.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Thanks,</div><div class="gmail_extra">Sarat</div><div class="gmail_extra"><br><div class="gmail_quote"><div><div>On Thu, Sep 1, 2016 at 1:39 PM, Jon Castro <span dir="ltr"><<a href="mailto:castro.jon@gmail.com" target="_blank">castro.jon@gmail.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div><div dir="ltr">Did you execute git submodule update --init --recursive scripts?<br><br>I use following commands to install all modules Ubuntu Trusty:<br><br><div>sudo apt-get update</div><div>sudo apt-get install python-dev python-pip git make -y</div><div>sudo pip install scapy thrift networkx ctypesgen</div><div><br><div>git clone <a href="https://github.com/p4lang/ptf" target="_blank">https://github.com/p4lang/ptf</a></div><div>cd ptf</div><div>sudo python setup.py install</div><div>cd ..</div></div><div><br><div>git clone <a href="https://github.com/p4lang/p4c-bm.git" target="_blank">https://github.com/p4lang/p4c-<wbr>bm.git</a> p4c-bmv2</div><div>cd p4c-bmv2</div><div>sudo pip install -r requirements.txt</div><div>sudo python setup.py install</div><div>cd ..</div></div><div><br><br></div><div>git clone <a href="https://github.com/p4lang/behavioral-model.git" target="_blank">https://github.com/p4lang/beha<wbr>vioral-model.git</a> bmv2</div><div>cd bmv2</div><div>./install_deps.sh</div><div>./autogen.sh</div><div>./configure --with-pdfixed</div><div>make</div><div>cd ..<br><br><div>git clone <a href="https://github.com/p4lang/switch" target="_blank">https://github.com/p4lang/swit<wbr>ch</a></div><div>cd switch</div><div>git submodule update --init --recursive</div><div>./autogen.sh</div><div>./configure --with-bmv2 --with-switchsai</div><div> make</div><br>Kind regards,</div><div>Jon</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Sep 2, 2016 at 2:00 AM,  <span dir="ltr"><<a href="mailto:p4-dev-request@lists.p4.org" target="_blank">p4-dev-request@lists.p4.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Send P4-dev mailing list submissions to<br>
        <a href="mailto:p4-dev@lists.p4.org" target="_blank">p4-dev@lists.p4.org</a><br>
<br>
To subscribe or unsubscribe via the World Wide Web, visit<br>
        <a href="http://lists.p4.org/mailman/listinfo/p4-dev_lists.p4.org" rel="noreferrer" target="_blank">http://lists.p4.org/mailman/li<wbr>stinfo/p4-dev_lists.p4.org</a><br>
or, via email, send a message with subject or body 'help' to<br>
        <a href="mailto:p4-dev-request@lists.p4.org" target="_blank">p4-dev-request@lists.p4.org</a><br>
<br>
You can reach the person managing the list at<br>
        <a href="mailto:p4-dev-owner@lists.p4.org" target="_blank">p4-dev-owner@lists.p4.org</a><br>
<br>
When replying, please edit your Subject line so it is more specific<br>
than "Re: Contents of P4-dev digest..."<br>
<br>
<br>
Today's Topics:<br>
<br>
   1. Installing P4 sample switch (Sarath Kamisetty)<br>
<br>
<br>
------------------------------<wbr>------------------------------<wbr>----------<br>
<br>
Message: 1<br>
Date: Wed, 31 Aug 2016 19:44:56 -0700<br>
From: Sarath Kamisetty <<a href="mailto:sarath.kamisetty@gmail.com" target="_blank">sarath.kamisetty@gmail.com</a>><br>
To: <a href="mailto:p4-dev@lists.p4.org" target="_blank">p4-dev@lists.p4.org</a><br>
Subject: [P4-dev] Installing P4 sample switch<br>
Message-ID:<br>
        <CANxZJknKss5yNhTV-ybAKmUkh4bd<wbr>NKKRQ4qnz4x62Vx8-8X=<a href="mailto:hQ@mail.gmail.com" target="_blank">hQ@mail.gm<wbr>ail.com</a>><br>
Content-Type: text/plain; charset="utf-8"<br>
<br>
Hi,<br>
<br>
I am trying to follow the instructions posted in<br>
<a href="https://github.com/p4lang/switch" rel="noreferrer" target="_blank">https://github.com/p4lang/swit<wbr>ch</a> to compile and run the switch (switch.p4).<br>
Is there one single script that performs all the steps ? I couldn't find<br>
one. Any other documentation to get this up and running will be helpful.<br>
<br>
I did the following:<br>
<br>
#1) Installed PTF<br>
#2) Installed p4c-bmv2<br>
#3) Compiled bmv2 with --with-pdfixed option. Where do I install this ?<br>
Instructions at <a href="https://github.com/p4lang/behavioral-model" rel="noreferrer" target="_blank">https://github.com/p4lang/beha<wbr>vioral-model</a> only mention how<br>
to compile, not about installing it in any location. It is unclear how this<br>
switch.p4 will use this path I compiled bmv2 in.<br>
<br>
At this point, I did the following under the switch/ directory<br>
<br>
./autogen.sh<br>
 ./configure --with-bmv2 --with-switchsai<br>
 make<br>
<br>
And "make" failed promptly with the following error:<br>
<br>
[saratk@ubuntu:~/Projects/ws1/<wbr>Closet/p4/matrix/apps/switch]m<wbr>ake<br>
make  all-recursive<br>
make[1]: Entering directory<br>
`/home/saratk/Projects/ws1/Clo<wbr>set/p4/matrix/apps/switch'<br>
Making all in p4-build<br>
make[2]: Entering directory<br>
`/home/saratk/Projects/ws1/Clo<wbr>set/p4/matrix/apps/switch/p4-b<wbr>uild'<br>
make[2]: *** No rule to make target `all'.  Stop.<br>
make[2]: Leaving directory<br>
`/home/saratk/Projects/ws1/Clo<wbr>set/p4/matrix/apps/switch/p4-b<wbr>uild'<br>
make[1]: *** [all-recursive] Error 1<br>
make[1]: Leaving directory<br>
`/home/saratk/Projects/ws1/Clo<wbr>set/p4/matrix/apps/switch'<br>
make: *** [all] Error 2<br>
[saratk@ubuntu:~/Projects/ws1/<wbr>Closet/p4/matrix/apps/switch]<br>
<br>
Suspecting something wrong with p4-build/, I followed instructions at<br>
<a href="https://github.com/p4lang/p4-build/" rel="noreferrer" target="_blank">https://github.com/p4lang/p4-b<wbr>uild/</a> under switch/p4-build/ and "configure"<br>
step failed:<br>
<br>
./configure --with-bmv2 P4_NAME=switch<br>
P4_PATH=/home/<user>/p4-apps/s<wbr>witch/p4src/switch.p4<br>
<br>
...<br>
...<br>
checking for vector... yes<br>
checking for p4c-bmv2... /usr/local/bin/p4c-bmv2<br>
*checking bm/pdfixed/pd_common.h usability... no*<br>
*checking bm/pdfixed/pd_common.h presence... no*<br>
*checking for bm/pdfixed/pd_common.h... no*<br>
*configure: error: bmv2 pdfixed headers not found*<br>
*configure: error: ./co**nfigure failed for p4-build*<br>
<br>
However, I do see these files from step 3 in different path. Is there some<br>
environment variable that I need to set so this step succeeds ? Pls. help.<br>
<br>
Thanks,<br>
Sarat<br>
-------------- next part --------------<br>
An HTML attachment was scrubbed...<br>
URL: <<a href="http://lists.p4.org/pipermail/p4-dev_lists.p4.org/attachments/20160831/90309706/attachment-0001.html" rel="noreferrer" target="_blank">http://lists.p4.org/pipermail<wbr>/p4-dev_lists.p4.org/attachmen<wbr>ts/20160831/90309706/attachmen<wbr>t-0001.html</a>><br>
<br>
------------------------------<br>
<br>
Subject: Digest Footer<br>
<br>
______________________________<wbr>_________________<br>
P4-dev mailing list<br>
<a href="mailto:P4-dev@p4.org" target="_blank">P4-dev@p4.org</a><br>
Listinfo - <a href="http://mail.p4.org/mailman/listinfo/p4-dev_p4.org" rel="noreferrer" target="_blank">http://mail.p4.org/mailman/lis<wbr>tinfo/p4-dev_p4.org</a><br>
Archives - <a href="http://mail.p4.org/pipermail/p4-dev_p4.org/" rel="noreferrer" target="_blank">http://mail.p4.org/pipermail/p<wbr>4-dev_p4.org/</a><br>
<br>
<br>
------------------------------<br>
<br>
End of P4-dev Digest, Vol 13, Issue 1<br>
******************************<wbr>*******<br>
</blockquote></div><br></div>
<br></div></div>______________________________<wbr>_________________<br>
P4-dev mailing list<br>
<a href="mailto:P4-dev@lists.p4.org" target="_blank">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/li<wbr>stinfo/p4-dev_lists.p4.org</a><br></blockquote></div><br></div></div>
</blockquote></div><br></div></div></div></div></div>
</blockquote></div><br></div>