summaryrefslogtreecommitdiffstats
path: root/src/erec.c
diff options
context:
space:
mode:
authorFlorian Westphal <fw@strlen.de>2022-07-25 21:34:52 +0200
committerFlorian Westphal <fw@strlen.de>2022-08-05 01:46:39 +0200
commitc1c223f1b58188542222ee2d9a4a8cc133d1dc3b (patch)
treecc53436106b88a918cfd1c7a4725a0fe61a6c9a4 /src/erec.c
parent87c3041bfd244aaf39e644d33c0df4fe04079e1c (diff)
src: allow anon set concatenation with ether and vlan
vlan id uses integer type (which has a length of 0). Using it was possible, but listing would assert: python: mergesort.c:24: concat_expr_msort_value: Assertion `ilen > 0' failed. There are two reasons for this. First reason is that the udata/typeof information lacks the 'vlan id' part, because internally this is 'payload . binop(payload AND mask)'. binop lacks an udata store. It makes little sense to store it, 'typeof' keyword expects normal match syntax. So, when storing udata, store the left hand side of the binary operation, i.e. the load of the 2-byte key. With that resolved, delinerization could work, but concat_elem_expr() would splice 12 bits off the elements value, but it should be 16 (on a byte boundary). Signed-off-by: Florian Westphal <fw@strlen.de>
Diffstat (limited to 'src/erec.c')
0 files changed, 0 insertions, 0 deletions