<div dir="ltr">Hi Sahil,<div><br></div><div>Following are the answers:</div><div>1. Counters are typically not available for access to dataplane packets. But you can implement a counter using a register. In that case, answer to your question is "yes". You can first read the register value in a metadata field and have that metadata field in the key part of the match-action tables.</div><div>2. Registers are externs and implemented by target architectures. Some architectures like v1model should allow you to update a register value in an action. So the answer is "mostly yes".</div><div>3. For hardcoded value, you could just use the control plane to add the hardcoded value match into your table and make sure you don't change it (so that it remains hardcoded). OR you can even hardcode a value in a register. Then read it in a metadata field and compare the metadata field with your packet header field. Some architectures can allow you to directly compare a header field value with a hardcoded register value. So, in general the answer is "yes".</div><div><br clear="all"><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">-- Raj</div></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, May 6, 2020 at 8:50 AM Sahil Gupta <<a href="mailto:sg5414@rit.edu">sg5414@rit.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hi all,<br><br>Is it possible:<br>1.  to read/match register or counters in key parts of match-action tables?<div>2. to update register value in the action field?</div><div>3. to match any field of header packet to arbitrary hardcoded value or value of some register in P4?</div><div><br></div><div><br></div><div>Regards</div><div>Sahil Gupta</div><div><br><br><br><br></div><br><div id="gmail-m_3682011688345242349mt-signature">
        <table border="0" cellpadding="8" cellspacing="0">
            <tbody><tr>
                <td>
                    <a href="https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality5&" style="text-decoration:none" target="_blank">
                        <img src="https://s3.amazonaws.com/mailtrack-signature/sender_notified.gif" alt="Mailtrack" width="32" height="32">
                    </a>
                </td>
                <td>
                    <span style="color:rgb(119,119,119)">Sender notified by</span> <br>
                    <a href="https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality5&" style="color:rgb(67,116,247)" target="_blank">Mailtrack</a>
                    <span style="color:transparent;font-size:0px">05/05/20, 11:17:09 PM</span>
                </td>
                <td>
                    
                </td>
            </tr>
        </tbody></table>
    </div><img width="0" height="0" alt="" style="display: flex;" src="https://mailtrack.io/trace/mail/29a62512491d959b24bdab6de810e4ed0abd6f59.png?u=1052462"></div>
_______________________________________________<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>