For TCP, this event fires when new data arrives from the client after you issue the TCP::collect command (use arguments to TCP::collect to control whether this event fires for each TCP segment received or after a specified quantity of data has arrived).
For UDP, this event fires each time a datagram arrives from the client. (Large UDP datagrams may be subject to IP fragmentation at the source or in transit. The BIG-IP will reassemble fragmented datagrams before firing this event, as explained in f5 Solution Note f5 SOL17102.)
NOTE ALSO: Per f5 Solution Note f5 SOL14563 it is better to process UDP datagrams in CLIENT_ACCEPTED than in this event.


  if { [UDP::payload 50] contains "XYZ" } {
    pool xyz_servers
    persist uie "[IP::client_addr]:[UDP::client_port]" 300