<div dir="ltr"><div><div><div><div>Hi Salvatore,<br><br></div>I can see that there is no warning / error, but do we really need one? The compiler knows what the maximum length of a field is, so in theory a table could match on this field. The compiler allocates for the worst case and the match will compare the values, independently of the actual bit width of the extracted field. Do you see any issue with this? Note that the software switch on p4lang does not support variable length field (not even their extraction).<br><br></div>The TODO at line 923 probably refers to doing more checks on the size attributes (what if max_size and min_size and size are specified), but I am not sure. Probably just needs to be removed at this point...<br><br></div>Best,<br><br></div>Antonin<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Aug 4, 2015 at 3:12 PM, Salvatore Signorello <span dir="ltr"><<a href="mailto:salvatore.signorello@uni.lu" target="_blank">salvatore.signorello@uni.lu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi all,<br>
<br>
I've realized that the actual front-end doesn't generate any<br>
warning/error if a table defines a field_match using a variable-length<br>
header field.<br>
<br>
There is a TODO at line 923 of the semantic_check.py (hlir module)<br>
suggesting that this check has been voluntarily skipped. Could please<br>
someone shed light on this?<br>
<br>
Best,<br>
Salvatore<br>
<br>
<br>
_______________________________________________<br>
P4-dev mailing list<br>
<a href="mailto:P4-dev@p4.org">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/listinfo/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/p4-dev_p4.org/</a><br>
</blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature"><div dir="ltr">Antonin<br></div></div>
</div>