Manual Chapter : Implementing FIX Low Latency Mode

Applies To:

Show Versions Show Versions

BIG-IP LTM

  • 21.0.0, 17.5.1, 17.5.0, 17.1.3, 17.1.2, 17.1.1, 17.1.0, 17.0.0, 16.1.6, 16.1.5, 16.1.4, 16.1.3, 16.1.2, 16.1.1, 16.1.0, 16.0.1, 16.0.0, 15.1.10, 15.1.9, 15.1.8, 15.1.7, 15.1.6, 15.1.5, 15.1.4, 15.1.3, 15.1.2, 15.1.0, 15.0.1, 15.0.0, 14.1.5, 14.1.4, 14.1.3, 14.1.2, 14.1.0, 14.0.1, 14.0.0
Manual Chapter

Implementing FIX Low Latency Mode

Configuring hardware

Selecting a firmware to use for hardware-optimized FIX Low Latency for iSeries

You can use the TMOS Shell (tmsh) to choose whether to use the FIX low latency firmware. To use a BIG-IP system to manage low latency electronic trading functionality, you must first obtain a specific license. The license must enable the FIX Low Latency feature.
  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 Low Latency 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 Low Latency firmware.
  6. To switch back to the default firmware:
    1. Disable the FIX Low Latency firmware.
      modify sys db pva.fix.lowlatency value disable
    2. Reboot the system to update the FPGA.
      reboot

Enabling FIX Low Latency using CLI for rSeries

F5 r5000, r10000, and r12000 systems provide support for Financial Information eXchange (FIX) protocol connections for electronic trading between financial institutions. This enables tenants running on the system to manage electronic trading traffic for both low latency and intelligent load balancing.
To use a BIG-IP system to manage low latency electronic trading functionality, you must first obtain a specific license. The license must enable the FIX Low Latency feature.
rSeries does not support v16.x as per F5OS hardware/software support matrix.
If your software license includes the FIX Low Latency add-on keys, they are activated for tenants on your F5 r5000, r10000, and r12000 Series systems automatically, when you initially register the license. If you purchase these add-on keys later, you can install the keys from the CLI or via API or via webUI.  An example of installation using CLI,
  1. Connect using SSH to the management IP address.
  2. Log in to the command line interface (CLI) of the F5 rSeries system using an account with admin access. When you log in to the system, you are in user (operational) mode.
  3. Change to config mode.configThe CLI prompt changes to include (config).
  4. Install the add-on keys.
    appliance-1(config)# system licensing install add-on-keys [ C123456-7890123 ]
    Proceed? [yes/no]: yes
    This license installation triggers a system reboot; data-plane and management connectivity will be disrupted.
    Result: License installed successfully.
    The system shows a message confirming that the installed license enables the add-on keys, and the system reboots automatically.

Creating a custom Fast L4 profile for hardware-optimized FIX Low Latency

You can create a custom Fast L4 profile to manage Layer 4 traffic for FIX Low Latency.
  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. Clear the
    PVA Flow Aging
    and
    PVA Flow Evict
    check boxes.
  7. For the
    PVA Offload Dynamic
    PVA Offload Dynamic
    setting, retain the default value
    Enabled
    .
  8. For the
    PVA Dynamic Client Packets
    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. Click
    Finished
    .
The custom Fast L4 profile appears in the list of Fast L4 profiles.

Creating a FIX profile for low latency electronic trading

You can create the FIX profile for low latency electronic trading with FIX load balancing.
  1. On the Main tab, click
    Local Traffic
    >
    Profiles
    >
    Services
    >
    FIX.
    The FIX profile list screen opens.
  2. Click
    Create
    . The new FIX Profile screen opens.
  3. In the
    Name
    field, type a unique name for the profile.
  4. From the
    Parent Profile
    list, select a parent profile.
  5. Select the
    Custom
    check box.
  6. From the
    Report Log Publisher
    list, select the publisher for error messages and status reports.
  7. Click
    Finished
    .
The FIX profile is configured for low latency electronic trading with FIX load balancing.
However, when this profile is created for Late Binding, a virtual server can choose a server pool based on the contents of the FIX connection’s initial packet. The Late Binding feature allows combining ‌load balancing with low latency.
This is a simplified FIX profile. The low latency path goes through ‌ePVA hardware, which does not examine the contents of each FIX packet. The only packet the BIG-IP software examines is the logon packet, which the BIG-IP system uses to choose a server pool. Therefore, most of the features in the FIX-profile screen (such as tag substitution) are ignored for low latency trading.

Creating a sever pool

Use this task to create a pool of servers with pool members. The pool identifies the servers to which the virtual server must send ‌client requests. As an option, you can identify the servers by their FQDNs instead of their IP addresses. In this way, the system automatically updates pool members whenever you make changes to their corresponding server IP addresses on your network.
  1. On the Main tab, click
    Local Traffic
    >
    Pools
    . The Pool List screen opens.
  2. Click
    Create
    . The New Pool screen opens.
  3. In the
    Name
    field, type a unique name for the pool.
  4. For the
    Health Monitors
    setting, from the Available list, select a monitor and move the monitor to the Active list.
    A pool containing nodes represented by FQDNs cannot be monitored by
    inband
    or
    sasp
    monitors.
  5. From the
    Load Balancing Method
    list, select how the system can distribute traffic to members of this pool. The default is
    Round Robin
    .
  6. For the
    New Members
    setting, add each server that you want to include in the pool:
    1. Select
      New Node
      or
      New FQDN Node
      .
    2. (Optional) In the
      Node Name
      field, type a name for the node.
    3. If you chose
      New Node
      , then in the
      Address
      field, type the IP address of the server. If you chose
      New FQDN Node
      , then in the
      FQDN
      field, type the FQDN of the server.
      If you want to use FQDNs instead of IP addresses, you should still type at least one IP address. Typing one IP address ensures that the system can find a pool member if a DNS server is not available.
    4. For the
      Service Port
      option, pick a service from the list.
    5. If you are using FQDNs for the server names, then for
      Auto Populate
      , keep the default value of Enabled. When you leave
      Auto Populate
      turned on, the system creates an ephemeral node for each IP address returned as an answer to a DNS query. Also, when a DNS answer shows that the IP address of an ephemeral node no longer exists, the system deletes the ephemeral node.
    6. Click
      Add
      .
    7. Do this step again for each node.
  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
    Create
    . 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. In the
    Service Port
    field, specify a port number or select a type from the port list to listen to a virtual server.
    • You can select ‘*’ to listen to all the ports.
    • You can direct ‌traffic to different pools using iRule based on the port number to listen to multiple ports.
  7. From the
    Configuration
    list, select
    Advanced
    .
  8. From the
    Protocol
    list, select
    TCP
    .
  9. From the
    Protocol Profile (Client)
    list, select the custom Fast L4 profile you defined for low latency FIX trading.
  10. Go to the
    FIX Profile
    list and select the custom FIX profile you defined for low latency trading.
  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. 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 streams to the virtual server’s destination address all receive this low latency service. The virtual server intelligently distributes the streams to different server pools based on information in each stream’s FIX logon packet.