[P4-dev] storing metadata while parsing header stacks
mbudiu at barefootnetworks.com
Fri Jul 17 11:24:48 EDT 2015
The valid bits of the header stack can be interpreted as a base 1 encoding of the number you are looking for. If you want it in base 2 you can use a table for converting it.
From: "Salvatore Signorello" <salvatore.signorello at uni.lu>
Sent: 7/17/2015 0:56
To: "p4-dev at p4.org" <p4-dev at p4.org>
Subject: [P4-dev] storing metadata while parsing header stacks
any advice for the following:
Suppose to have an MPLS stack parsed as follows:
#define MPLS_DEPTH 5
header mpls_t mpls[MPLS_DEPTH];
0 : parse_mpls;
1 : parse_mpls_bos;
and that you would like to know (and to store somewhere, like into a metadata block) how many MPLS headers (a number that is likely lower than MPLS_DEPTH) have been parsed at the end of the parsing process. What to do?
Could metadata be used like a kind of counter?
Could register be indexed somehow during the parsing and set through the set_metadata?
Thank you in advance,
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the P4-dev