<div dir="ltr"><div><div><div><div><div>Hi Vibhaa,<br><br></div>The link you included in your email refers to the original version of the P4 software switch (p4c-behavioral). We are deprecating this code and most of the community is now using the new version, known as bmv2: <a href="https://github.com/p4lang/behavioral-model" target="_blank">https://github.com/p4lang/behavioral-model</a><br></div>It is very easy to add a new hash function in bmv2. Once you get familiar with bmv2 (the README is a good place to start), you can edit this file to include your hash functions: <a href="https://github.com/p4lang/behavioral-model/blob/master/targets/simple_switch/simple_switch.cpp#L62" target="_blank">https://github.com/p4lang/behavioral-model/blob/master/targets/simple_switch/simple_switch.cpp#L62</a>. This file defines 2 example hash functions (called hash_ex and bmv2_hash), from which you can take inspiration. Note that the "standard" hash functions (e.g. crc16) are still available, but they are defined in a different place, which you need not worry about.<br></div>I once wrote a long email to the mailing list about writing your own hash functions. Unfortunately it cannot be found in the p4-dev archives any more (we had a technical issue a few months ago and the archives were lost). I will find it in my inbox and forward it to the list so that you can read it.<br><br></div>Best,<br><br></div>Antonin<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jun 17, 2016 at 1:18 PM, Vibhaalakshmi Sivaraman <span dir="ltr"><<a href="mailto:vibhaa@princeton.edu" target="_blank">vibhaa@princeton.edu</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"><span style="font-size:12.8px">How can we add our own custom hash functions to the existing set of field list calculations?¬†</span><a href="https://github.com/USC-NSL/p4c-behavioral/blob/9a4c17c42a0de05f14aa9a0b9d0abf19b5d6129b/p4c_bm/templates/src/checksums_algos.h" style="font-size:12.8px" target="_blank">Flow Radar</a><span style="font-size:12.8px">¬†seems to have done this, but I am not sure what the procedure for compiling it, which is the right place to make the addition or if there are any restrictions on the format. Any help on this would be great!</span><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">Thanks,</span></div><div><span style="font-size:12.8px">Vibhaa<span class="HOEnZb"><font color="#888888"><br></font></span></span><span class="HOEnZb"><font color="#888888"><div><br></div>-- <br><div data-smartmail="gmail_signature"><div dir="ltr">Vibhaalakshmi Sivaraman<div>Computer Science</div><div>Princeton University '17</div></div></div>
</font></span></div></div>
<br>_______________________________________________<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/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>