Forum Discussion
MBLB connection Question, Please Help!
Hi, I'm using iRule to do MBLB on ISO8583.
But there is an error regarding the server behavior and connection. Here's the picture:
1 Client with source port 57404 send 5 message to BIG IP VS (Profile: TCP, MBLB), and BIG IP distribute those messages via MBLB to the ISO Servers.
But the serverside connection is not multiplexed, BIG IP make 3 connection to ISO Server1 and 2 connection to ISO Server2
Unfortunately the ISO_Servers can only accept ISO message from 1 connection only.
So is there is a way to make BIG IP do multiplexing on the serverside, which is 1 connection to ISO Server1 and 1 connection to ISO Server2? and is this a normal behavior of MBLB?
Thanks!
3 Replies
- nitass
Employee
can you post the virtual server, profile (if not default) and irule configuration?
tmsh list ltm virtual (name) tmsh list ltm profile mblb (name) tmsh list ltm rule (name) - Peter1
Nimbostratus
the vs (snat auto-map, cmp disable) and mblb use default.
when CLIENT_ACCEPTED { LB::context_id "all_clients" TCP::collect }
when CLIENT_DATA { if { [TCP::payload length] >= 4 } { binary scan [TCP::payload] H* iso_msg set msg_len [expr 0x[string range $iso_msg 0 3]] log local0. "Full message in hex: ${iso_msg}" log local0. "ISO message payload length is $msg_len bytes" set msg_len [expr {$msg_len + 2}] log local0. "Full message (header+payload) length is $msg_len bytes"
if { [TCP::payload length] >= $msg_len } { TCP::release $msg_len TCP::notify request } } TCP::collect}
when SERVER_CONNECTED { log local0. "Server Connected !!" TCP::collect }
when SERVER_DATA { TCP::release TCP::notify response TCP::collect }
- Peter1
Nimbostratus
when CLIENT_ACCEPTED { LB::context_id "all_clients" TCP::collect } when CLIENT_DATA { if { [TCP::payload length] >= 4 } { binary scan [TCP::payload] H* iso_msg set msg_len [expr 0x[string range $iso_msg 0 3]] set msg_len [expr {$msg_len + 2}] if { [TCP::payload length] >= $msg_len } { TCP::release $msg_len TCP::notify request } } TCP::collect } when SERVER_CONNECTED { TCP::collect } when SERVER_DATA { TCP::release TCP::notify response TCP::collect }
Help guide the future of your DevCentral Community!
What tools do you use to collaborate? (1min - anonymous)Recent Discussions
Related Content
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com