DataScript: Execution Priority

Introduction

Many DataScript capabilities can be performed via policies or standard features. It is important to understand the order of precedence, as the execution priority will dictate the order that various features, policies, and DataScripts will occur.  For instance, if a policy decides to discard a connection while a DataScript decides to redirect the client, the order of execution is critical to ensuring the intended behavior occurs.

Responses generated by DataScripts or policies (as opposed to responses generated by a server) are not evaluated by DataScripts.  For instance, an HTTP response generated by the HTTP Request Policy cannot be inspected or modified by a DataScript.

More than one DataScript may be applied to a single virtual service. The order of the DataScripts is important, as DataScripts with the same event will be executed in the order established. When adding DataScripts via the UI, use the up and down arrows next to the DataScript to reorder. The DataScript at the top of the list will execute first.

Client Request to Server

Avi Vantage processes client-to-back-end-server traffic in the following order of precedence.

Note: Individual features may be inserted at different points based on the feature’s functionality. For example, even though connection throttling is defined as part of an HTTP application profile, if turned on, connection throttling would occur during step 1 of the client request, not step 5.

HTTP Request Processing

  1. SSL/TLS
  2. WAF
  3. Security policy
  4. Request policy
  5. HTTP application profile
  6. DataScript
  7. Client authentication and authorization (e.g., SAML)
  8. Server selection
  9. Connection reuse or new connection
  10. SSL/TLS re-encryption

HTTP Body Processing

  1. SSL/TLS
  2. WAF
  3. DataScript
  4. SSL/TLS re-encryption

Server Response to Client:

Avi Vantage processes back-end-server-to-client traffic in the following order of precedence:

  1. DataScript response event
  2. HTTP response policy

Multiple DataScripts

More than one DataScript may be applied to a single virtual service.  The order of the DataScripts is important, as DataScripts with the same event will be executed in the order set.  When adding DataScripts via the UI, use the up and down arrows next to the DataScript to reorder.  The DataScript at the top of the list will execute first.