Wiki: iRulesLX


iRulesLX takes advantage of the capabilities of Node.js to enhance the data plane programmability of a BIG-IPĀ® system. To enhance the programmability aspects of iRules, iRulesLX adds a mechanism to invoke programs in Node.js. Node.js is well-suited to a BIG-IP system, providing a single-threaded environment in which to run programs, taking advantage of asynchronous behavior, and offering a wide range of packages for download. As a developer, the resources of a vast community can help you add functionality to your Node.js applications, while reducing the development effort.

iRules LX has two ways it can be used. The first method, introduced in BIG-IP TMOS 12.1.0, is via RPC where TCL is used to make a call to the Node.js process(es). The second method, introduced in BIG-IP TMOS 13.0.0, is via "streaming" where all data (by default) is sent over to the Node.js process(es).

iRulesLX RPC

BIG-IP systems offer an iRulesLX interface that is similar to RPC, as well as a streaming data interface for Node.js. In the case of the former, the iRulesLX interface lets you call a block of code from a TCL iRule to perform a programmatic function in Node.js, such as writing to a database. This technology is referred to as ILX RPC.

iRulesLX Streaming

By using the streaming data interface, you can receive and modify traffic in a virtual server. TCP, SSL, HTTP Compression and Web Acceleration profiles, or a combination of the protocols, are supported by the ILX profile included with the streaming data interface. This is referred to as iRulesLX streaming data. The two interfaces address distinct and different needs but you can develop a plug-in that uses both interfaces.

Technical References

Supporting Material