iControl® LX is the foundation of the F5 control plane extensibility layer. iControl LX takes advantage of the capabilities of Node.js to enhance the control plane programmability of a BIG-IP® system or iWorkflow platform. To enhance the programmability aspects of iControl, iControl LX adds a mechanism to create Node.js “extensions” which create new API endpoints for custom configuration behaviors. By writing an iControl extension in JavaScript, you can create a new REST API that exposes a custom URI that you can then call in a RESTful manner.

The iControl LX framework supports iControl LX extensions, iControl REST, and iApps® LX.


The iControl Framework consists of the following components:

  • iControl LX (Framework) - The base layer of the iControl architecture managing access to API components.
  • iControl REST - The BIG-IP/iWorkflow iControl REST control plane APIs.
  • iControl LX Extensions - The extensibility layer for creating extensions to produce custom APIs on the BIG-IP and iWorkflow.
  • Extensions - F5 and end user developed API extensions.
  • iApps LX - Application framework including an iControl Extension service layer along with view and controller features.

For more information about the extension examples shown in the diagram, see iApps LX/iControl LX Examples

When to use iApps LX versus iControl LX?

iApps LX offers you an efficient way to repeatedly apply configuration templates to many different deployments or devices, while iControl LX is best used when you want to customize a specific (usually already existing) configuration. By using block collection task workers, after the initial configuration, an iApps LX extension is “locked” to the user. iApps LX maintains a persistent state. iControl LX is mainly stateless and because it focuses on tweaking configurations, it is open for specific customization.