the same as TLV, because we don't have packed-structures
in the internal protocol. And the internal protocol doesn't use
protocol-specific encodings. It uses the internal encodings
/*
* Structural types
+ *
+ * STRUCTs are encoded as TLVs, because the struct
+ * packing only applies to the original protocol, and not
+ * to our internal encoding.
*/
case FR_TYPE_TLV:
+ case FR_TYPE_STRUCT:
if (unlikely(tainted)) goto bad_tainted;
slen = internal_decode_tlv(ctx, out, da, &work_dbuff, decode_ctx);
/*
* Children of TLVs are encoded in the context
* of the TLV.
+ *
+ * STRUCTs are encoded as TLVs, because the struct
+ * packing only applies to the original protocol, and not
+ * to our internal encoding.
*/
case FR_TYPE_TLV:
+ case FR_TYPE_STRUCT:
/*
* We've done the complete stack.
* Hopefully this TLV has some