Forum Discussion
jobasu_360381
Nimbostratus
Aug 08, 2018Sideband TCP Zero Window
Hi There,
I'm using a sideband connection to copy data to two nodes, but when the sideband is enabled the error comes out, am I missing something in my code?
When I use the command "sys conn all " 30 connections exist, with the sideband enabled it duplicates to 60-63.
The incoming traffic is on average 8 Mbps after the sideband is enabled the traffic drops to 4-6 Mbps.
F5-i2600 tcp-wan-profile
iRule:
when RULE_INIT {
this is the destination for traffic to be replicated to, IPv6 or IPv4 should work.
node1
set static::sideband_node1_address "10.10.43.104"
set static::sideband_node1_port "5588"
node2
set static::sideband_node2_address "10.10.35.107"
set static::sideband_node2_port "4010"
}
CLIENT_ACCEPTED fires once per client connection, after the three way handshake completes
when CLIENT_ACCEPTED {
connection must contain -myaddr [IP::client_addr] -myport [TCP::client_port] to retain original ip/port
if { [active_members sideband1pool] > 0 } {
set connnode1 [connect -protocol TCP -myaddr [IP::client_addr] -timeout 100 -idle 3600 -status conn_status $static::sideband_node1_address $static::sideband_node1_port]
}
if { [active_members sideband2pool] > 0 } {
set connnode2 [connect -protocol TCP -myaddr [IP::client_addr] -timeout 100 -idle 3600 -status conn_status $static::sideband_node2_address $static::sideband_node2_port]
}
collecting the data to clone
TCP::collect
}
CLIENT_DATA fires when new data is received after issuing TCP::COLLECT
when CLIENT_DATA {
Will avoid attempts to send when destination is offline
if { [active_members default_pool] == 0 } {
TCP::respond "Dummy server responding\r\n"
sending data to node1
if { [active_members sideband1pool] > 0 } {
set data [TCP::payload]
TCP::collect
set send_info [send -timeout 3000 -status send_status $connnode1 $data]
}
sending data to node2
if { [active_members sideband2pool] > 0 } {
set data [TCP::payload]
TCP::collect
set send_info [send -timeout 3000 -status send_status $connnode2 $data]
}
TCP::payload replace 0 [TCP::payload length] ""
}
TCP::collect
}
when CLIENT_CLOSED {
attempt to clean up any sideband connection which may be open
set result [catch { close $connnode1}]
set result [catch { close $connnode2}]
}
No RepliesBe the first to reply
Recent Discussions
Related Content
DevCentral Quicklinks
* 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
Discover DevCentral Connects