UDP::hold

Description

This iRules command holds back processing of input packets until UDP::release is called.
In certain use cases, it is desirable to delay processing of UDP input packets until after certain routing, address translation, or load balancing determinations have occured. For example, certain media control protocols embed IP addresses in the payload, which need to be translated from public IP to private IP inbound through a firewall, and vice versa on the way out.
Since this command could introduce some delay, it is advisable to enable some amount of packet buffering in the UDP profile. See the Max Buffer Packets and Max Buffer Bytes settings.
This command holds data back, so it is not compatible with other filters and event handlers that require data to make load balancing decisions, and could find themselves blocked waiting on data that is being held.

Syntax

UDP::hold

Examples

when CLIENT_ACCEPTED {
    UDP::hold
}
when SERVER_CONNECTED {
    UDP::release
}