On Mon, Dec 16, 2019 at 01:47:49PM +0100, Florian Westphal wrote: > Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> wrote: > > Hi Florian, > > > > This patchset removes the need to self invoke the parser and the > > evaluation to fetch the datatype. Instead, the expression type and > > the expression description are stored into the userdata area. > > > > This patch only supports for the payload expression, but it should be > > relatively easy to extend it to support for other existing expressions > > types. > > > > This patch could be squashed into 06/11 src: add "typeof" print support > > of your patch series, which is actually not just adding support for > > printing but also for building the userdata. > > I had considered that but found that storing netlink data > needs more space in the udata area compared to text and it needs more/extra > parsing for serialize/deserialize, so I abandoned this idea. Yes, it's scratching a bit extra of the userdata area. The listing path should be easier, since it's just parsing the TLVs instead of invoking the nft parsing and evaluation phases. > If you think its the way to go, then ok, I can rework it but > I will be unable to add the extra steps for other expression types > for some time I fear. If you send a v3 including this work, I'll finishing the remaining expressions. One more thing regarding your patchset is: integer,128 If the typeof works for all of the existing selectors, then I think there is not need to expose this raw type, right? Thanks.