Florian Westphal <fw@xxxxxxxxx> wrote: > > From userdata path it should be possible to check for this special > > internal queue_datatype then encode the queue number type in the TLV. > > I have no idea how to do any of this. I don't even know what a "queue number > type" is. > > How on earth do i flip the data type on postprocessing without any idea > what "2 octets worth of data" is? You seem to dislike EXPR_TYPE; I tried to sketch something but i would turn EXPR_VALUE into EXPR_TYPE, including EXPR_TYPEOF_NFQUEUE_ID and the udata build/parse functions, with the addition of a /* Dummy alias of integer_type for nf_queue id numbers */ const struct datatype integer_queue_type = { that has no actual function except to override what constant_expr_print() ends up doing. TL;DR I give up.