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.
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."
}