<div dir="ltr">Hello Andy,<div><br></div><div>Thanks for your response.</div><div><br></div><div>1) I am using mininet(simple_switch.cpp) to be my environment, </div><div>    so I want to know where should I implement my C/C++ code? (<span style="font-size:12.8px">primitives.cpp?</span>)</div><div><br></div><div>2) Is there anything I should pay special attention to? ( like: restrictions of compiler )</div><div><br></div><div><div style="font-size:12.8px">Thank you.</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">Best regards,</div><div style="font-size:12.8px">Abbie</div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Apr 3, 2017 at 8:35 AM, Andy Fingerhut <span dir="ltr"><<a href="mailto:andy.fingerhut@gmail.com" target="_blank">andy.fingerhut@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">The P4 language is focused on parsing and manipulating packet headers, not payloads.<div><br></div><div>One could write a custom extension that could search for patterns in a payload, but it would be non-portable, and would have to be implemented in a target-specific language, e.g. C/C++ for a software model, Verilog for an ASIC or FPGA, etc.  It would be similar to having a library written in assembler and calling it from C, with the assembler implemented anew for each target processor.</div><div><br></div><div>Andy</div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5">On Mon, Mar 27, 2017 at 9:13 AM, yunchen chang <span dir="ltr"><<a href="mailto:y2924uki@gmail.com" target="_blank">y2924uki@gmail.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"><div dir="ltr"><div>Hello everyone,</div><div><br></div><div>I am doing an experiment for DPI in P4.</div><div>(detect packet label in data plane, not in controller)</div><div><br></div><div>I need some complex funtcions like lookup the host name of payload.</div><div>Example:</div><div>host_name: <a href="http://tw.yahoo.com" target="_blank">tw.yahoo.com</a></div><div>mtach_key: .yahoo.</div><div><br></div><div>I plan to write function in "primitives.cpp" at first.</div><div><br></div><div>But after I read this posted : [<a href="http://lists.p4.org/pipermail/p4-dev_lists.p4.org/2016-August/000449.html" target="_blank">http://lists.p4.org/pipermail<wbr>/p4-dev_lists.p4.org/2016-<wbr>August/000449.html</a>], it pointed that P4 can't implement "pattern matching".</div><div><br></div><div>I want to know is there any solution in current P4?</div><div>(or any suggestion)</div><div><br></div><div>Thank you.</div><div><br></div><div>Best regards,</div><div>Abbie</div></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>
</blockquote></div><br></div>