<div dir="ltr">The error message says not supported "in parser".  The BMv2 with v1model architecture does not support the use of registers in the parser code.<div><br></div><div>You should be able to achieve success by using registers in a control like ingress or egress.</div><div><br></div><div>Andy</div></div><br><div class="gmail_quote"><div dir="ltr">On Fri, Oct 12, 2018 at 10:26 AM cs.lev <<a href="mailto:cs.lev@gmx.com">cs.lev@gmx.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
On of the main reason I have started to play with P4 is to have<br>
(persistent) states in pipeline which are global states, not just per-<br>
packet states (e.g., metadata).<br>
<br>
I have found some descriptions that registers can be used for this, but<br>
maybe it is not working in BMv2, is it?<br>
I can compile my code with such a declaration:<br>
register<bit<8>>(2) r;<br>
<br>
But, when I want to access it (e.g., m.write(1,1)), the compiler (p4c-<br>
bm2-ss) says:<br>
MethodCallStatement: not supported in parser on this target<br>
<br>
Am I doing something wrong, or persistent states cannot be introduced<br>
in programs for the software switch?<br>
<br>
Is there any other way to do this?<br>
<br>
Maybe storing data in the match-action tables can be some workaround,<br>
but then the table and its content should be modified by the switch<br>
program not the controller. Is there a way to do this?<br>
<br>
Thanks,<br>
cslev<br>
<br>
_______________________________________________<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/listinfo/p4-dev_lists.p4.org</a><br>
</blockquote></div>