Manual Chapter : Implementing Hardware-optimized FIX Low Latency (FIX LL) Electronic Trading

Applies To:

Show Versions Show Versions

BIG-IP DNS

  • 14.1.2, 14.1.0, 14.0.0

BIG-IP Analytics

  • 14.1.2, 14.1.0, 14.0.0

BIG-IP AFM

  • 14.1.2, 14.1.0, 14.0.0

BIG-IP PEM

  • 14.1.2, 14.1.0, 14.0.0

BIG-IP ASM

  • 14.1.2, 14.1.0, 14.0.0

BIG-IP AAM

  • 14.1.2, 14.1.0, 14.0.0

BIG-IP APM

  • 14.1.2, 14.1.0, 14.0.0

BIG-IP LTM

  • 14.1.2, 14.1.0, 14.0.0
Manual Chapter

Implementing Hardware-optimized FIX Low Latency (FIX LL) Electronic Trading

About configuring BIG-IP systems for hardware-optimized FIX LL

You can configure BIG-IP 10000 and 12000 Series systems that are running BIG-IP software version 12.1.0 to use a customized firmware to manage traffic for hardware-optimized, low-latency electronic trading. This FIX low latency (FIX LL) solution provides enhanced collision handling.
The FIX LL firmware does not support hardware SYN cookies. Be sure to enable software SYN cookie protection.

Task summary for implementing hardware-optimized FIX low-latency electronic trading

There are several tasks you can perform to implement hardware-optimized FIX low-latency electronic trading.

Licensing low-latency electronic trading functionality

In order to use a BIG-IP system to manage low-latency electronic trading functionality, you must first acquire a specific license. The license must enable both of the following features:
  • Advanced LTM Protocols
  • FIX Low Latency
Please contact your F5 Networks support representative to acquire the necessary license.

Selecting a firmware to use for hardware-optimized FIX LL

You can use the TMOS Shell (
tmsh
) to choose whether to use the FIX low latency (FIX LL) firmware.
  1. Connect to the system using the serial console.
  2. Log in to the command-line interface of the system using the root account.
  3. Open the TMOS Shell (
    tmsh
    ).
    tmsh
  4. Enable the FIX LL firmware.
    modify sys db pva.fix.lowlatency value enable
  5. Reboot the system to update the FPGA.
    reboot
    If you are switching to the FIX LL firmware for the first time, the system performs an HSB update to load the new firmware. Do not interrupt the progress of the firmware update. When the firmware update completes, the system reboots, and then you will be able to use the FIX LL firmware.
  6. To switch back to the default firmware:
    1. Disable the FIX LL firmware.
      modify sys db pva.fix.lowlatency value disable
    2. Reboot the system to update the FPGA.
      reboot

Creating a custom Fast L4 profile for hardware-optimized FIX LL

You can create a custom Fast L4 profile to manage Layer 4 traffic for FIX low latency (FIX LL).
  1. On the Main tab, click
    Local Traffic
    Profiles
    Protocol
    Fast L4
    .
    The Fast L4 screen opens.
  2. Click
    Create
    .
    The New Fast L4 profile screen opens.
  3. In the
    Name
    field, type a unique name for the profile.
  4. Select the
    Custom
    check box.
  5. From the
    PVA Acceleration
    list, select
    Dedicated
    .
  6. Select the
    PVA Flow Aging
    and
    PVA Flow Evict
    check boxes.
  7. For the
    PVA Offload Dynamic
    setting, retain the default value (
    Enabled
    ).
  8. For the
    PVA Dynamic Client Packets
    setting, retain the default value (
    1
    ).
  9. For the
    PVA Dynamic Server Packets
    setting, retain the default value (
    0
    ).
  10. Select the
    Loose Close
    check box only for a one-arm virtual server configuration.
  11. Set the
    TCP Close Timeout
    setting, according to the type of traffic that the virtual server will process.
  12. Select the
    Software SYN Cookie Protection
    check box.
  13. Click
    Finished
    .
The custom Fast L4 profile appears in the list of Fast L4 profiles.

Creating a pool

Ensure that at least one virtual server exists in the configuration before you start to create a load balancing pool.
Create a pool to which the system can load balance global traffic.
  1. On the Main tab, click
    DNS
    GSLB
    Pools
    .
    The Pools list screen opens.
  2. Click
    Create
    .
    The New Pool screen opens.
  3. In the General Properties area, in the
    Name
    field, type a name for the pool.
    Names must begin with a letter, and can contain only letters, numbers, and the underscore (_) character.
    The pool name is limited to 63 characters.
  4. From the
    Type
    list, depending on the type of the system (IPv4 or IPv6), select either an
    A
    or
    AAAA
    pool type.
  5. In the Configuration area, for the
    Health Monitors
    setting, in the
    Available
    list, select a monitor type, and move the monitor to the
    Selected
    list.
    Hold the Shift or Ctrl key to select more than one monitor at a time.
  6. In the Members area, for the
    Member List
    setting, add virtual servers as members of this load balancing pool.
    The system evaluates the virtual servers (pool members) in the order in which they are listed. A virtual server can belong to more than one pool.
    1. Select a virtual server from the
      Virtual Server
      list.
    2. Click
      Add
      .
  7. Click
    Finished
    .

Creating a virtual server for low-latency electronic trading

After you create a server pool, profile(s), and (optionally) iRule, you need to create a virtual server that references those components.
  1. On the Main tab, click
    Local Traffic
    Virtual Servers
    .
    The Virtual Server List screen opens.
  2. Click the
    Create
    button.
    The New Virtual Server screen opens.
  3. In the
    Name
    field, type a unique name for the virtual server.
  4. From the
    Type
    list, select
    Performance (Layer 4)
    .
  5. In the
    Destination Address
    field, type the IP address in CIDR format. This is the address to which the FIX clients send their FIX transmissions.
    The supported format is address/prefix, where the prefix length is in bits. For example, an IPv4 address/prefix is
    10.0.0.1
    or
    10.0.0.0/24
    , and an IPv6 address/prefix is
    ffe1::0020/64
    or
    2001:ed8:77b5:2:10:10:100:42/64
    . When you use an IPv4 address without specifying a prefix, the BIG-IP system automatically uses a
    /32
    prefix.
    The IP address you type must be available and not in the loopback network.
  6. From the
    Configuration
    list, select
    Advanced
    .
  7. From the
    Protocol
    list, select
    TCP
    .
  8. From the
    Protocol Profile (Client)
    list, select the custom Fast L4 profile you defined for low-latency FIX trading.
  9. Go to the
    FIX Profile
    list and select the custom FIX profile you defined for low-latency trading.
  10. For the
    Address Translation
    setting, clear the
    Enabled
    check box to implement direct server return (DSR) functionality.
  11. For the
    Port Translation
    setting, clear the
    Enabled
    check box.
    Clearing the
    Enabled
    check box disables network address translation (NAT) functionality. If you require NAT, you must select the
    Enabled
    check box.
  12. In the Resources area of the screen, from the
    Default Pool
    list, select the pool name for FIX streams.
    This pool is for streams that do not match your iRule(s).
  13. For the
    iRules
    setting, from the
    Available
    list, select the name of the iRule that you created for the Late Binding feature and move it to the
    Enabled
    list.
    The iRule enables load balancing based on the Layer-7 (FIX) fields at the head of each stream.
  14. Click
    Finished
    .
The virtual server is configured to use the specified Fast L4 profile and pool. If a client initiates a FIX connection with this virtual server, the connection uses the Fast L4 (ePVA) hardware.

Implementation result

This implementation configures a BIG-IP® system to manage low-latency electronic trading functionality, optimizing the system for predictable latency and jitter. Clients who send FIX packets to the virtual server's Destination address all receive this low-latency service.