radius use type-length-value (TLV) to store attribute and it stores in binary not in clear text. I think you either need to use irule to loop and extract each attribute one by one until you find what you want or search by using binary instead of clear text (see below for the later case).
you might check RFC2865 for complete protocol format.
protocol format for framd-ip-address is
type=8 => 08 in hex
length=6 => 06 in hex
data= (4 bytes IP address)
if IP is 10.12.1.x it should look like this..
10.12.1 => 0a0c01 in hex
hex data that you are looking for becomes
08060a0c01 (ignore last octet of IP)
use binary format to creat binary data
set bdata1 [binary format ccccc 8 6 10 12 1 ]
if { [UDP::payload] contains $bdata1 } {
use pool pool1
log local0. "use pool 1"
}
I think it should work. if not, I will let you know another idea.