it has to take an attribute reference, because it manually parses
the input as a tmpl_attr.
We arguably need to update the xlat function arguments to indicate
whether or not the argument expects to see a cursor. And if so,
perhaps put a pointer to the cursor into a box of FR_TYPE_VOID.
which then lets functions like this either take a cursor of things
to encode, OR a string which is then parsed into a list of things
to encode.
[source,unlang]
----
-%dhcpv4.encode("Relay-Agent-Information.Circuit-Id = 0xabcdef, Relay-Agent-Information.Remote-Id = 0x010203040506")
-%radius.encode("User-Name = 'ABCD'")
-Tmp-Octets-1 := %dhcpv4.encode(request.Relay-Agent-Information.[*])
+octets data
+
+reply := {
+ User-Name = 'ABCD'
+}
+
+data = %radius.encode(reply)
----
.Output
```
-0x520d0103abcdef0206010203040506
0x010641424344
```