On Wed, Apr 29, 2020 at 12:04:28AM +0200, Pablo Neira Ayuso wrote: > On Tue, Apr 28, 2020 at 03:51:46PM +0200, michael-dev wrote: > [...] > > table bridge t { > > set s3 { > > typeof meta ibrpvid > > elements = { 2, 3, 103 } > > } > [...] > > } > > > > So I'm unsure if this is a display error when reading back? Or is the wrong > > value written to the kernel? > > Looks like wrong value written to the kernel: > > # nft --debug=netlink -f /tmp/x > s3 t 0 > s3 t 0 > element 00000100 : 0 [end] element 00000200 : 0 [end] element 00000300 : 0 [end] > ^^^^^^^^ > > That should be 00000001 instead. > > where /tmp/x contains: > > table ip t { > set s3 { > typeof meta ibrpvid > elements = { 1, 2, 3 } > } > } > > This seems to be related with the integer_type, that sets the > byteorder to BYTEORDER_INVALID (which is implicitly handled as > BYTEORDER_BIG_ENDIAN). > > Could you give a try to the following patch? > > If this works for you, I'd really appreciate if you could extend > testcases/sets/typeof_sets_0 to include the 'meta ibrpvid' usecase > above. Already included the test update chunk in the patch that I have submitted, no worries: https://patchwork.ozlabs.org/project/netfilter-devel/patch/20200429103817.29918-1-pablo@xxxxxxxxxxxxx/ Thanks.