BIGTCP::release_flow

Description

This iRules command allows a flow to start in layer 7, perform pool member selection based on tags in a FIX message, then transition to FastL4 to manage all subsequent trading traffic.

Syntax

BIGTCP::release_flow

Examples

when CLIENT_ACCEPTED {
    log local0. "Enable client side flow migration after server side is connected."
    BIGTCP::release_flow
}
when FIX_MESSAGE {
    set sender [FIX::tag get 49]
    set msg_type [FIX::tag get 35]
    set target [FIX::tag get 56]
    if {$sender eq "client2"}{
        if {$msg_type eq "A"}{
            log local0. "Logon successfully: $sender-$msg_type-$target"
            pool fix_pool2_13976
        }
        if {$msg_type eq "F"}{
            set tags [list 35 11 21 55 54 38 40 44]
            foreach i $tags {
               set tagv [FIX::tag get $i]
               append tagF $tagv "-"
            }
            log local0. "Query F: $tagF"
        }
    }
}
# If explicit flow migration is enabled then notify BIGTCP when to migrate the flow.
when SERVER_CONNECTED {
    log local0. "Migrate flow to ePVA once server side is connected."
    BIGTCP::release_flow
}

when CLIENT_ACCEPTED {
   log local0. "Enable client side flow migration after server side is connected."
   BIGTCP::release_flow
}
when FIX_MESSAGE {
    set sender [FIX::tag get 49]
    set msg_type [FIX::tag get 35]
    set target [FIX::tag get 56]
    if {$sender eq "client1"}{
        if {$msg_type eq "A"}{
            log local0. "Logon successfully: $sender-$msg_type-$target"
            pool fix_pool1_13976
        }
    }
}
when SERVER_CONNECTED {
    log local0. "Server side is connected."
}