Manual Chapter : BIG-IP Configuration

Applies To:

Show Versions Show Versions

BIG-IP LTM

  • 17.1.0, 17.0.0, 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.1, 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, 13.1.5, 13.1.4, 13.1.3, 13.1.1, 13.1.0
Manual Chapter

BIG-IP Configuration

ltm pool gm_pool { members { 10.1.1.100:1234 { address 10.1.1.100 } } } ltm message-routing generic peer default_peer { pool gm_pool transport-config my_tc } ltm message-routing generic protocol my_gm_proto { app-service none disable-parser yes } ltm message-routing generic route default_route { peers { default_peer } } ltm message-routing generic router my_gm_router { app-service none routes { default_route } } ltm message-routing generic transport-config my_tc { ip-protocol tcp profiles { my_gm_proto { } tcp { } } rules { gm_rule } } ltm virtual gm_vs { destination 10.1.1.50:1234 ip-protocol tcp mask 255.255.255.255 profiles { my_gm_proto { } my_gm_router { } tcp { } } rules { gm_rule } source 0.0.0.0/0 vs-index 2 } ltm rule gm_rule { when CLIENT_ACCEPTED { TCP::respond "What is your name\n" TCP::collect set capture_name 1 } when SERVER_CONNECTED { TCP::respond "What do you wish to be called\n" TCP::collect set capture_name 1 } when CLIENT_DATA { set lines [split [TCP::payload] "\n"] TCP::payload 0 0 foreach line $lines { set line [string trim $line] if { [string length $line] > 0 } { if { $capture_name == 1 } { GENERICMESSAGE::peer name $line set capture_name 0 TCP::respond "Welcome [GENERICMESSAGE::peer name]\n" } else { set tokens [split $line ":"] if {[llength $tokens] > 1} { GENERICMESSAGE::message create [join [lrange $tokens 1 end] ":"] [lindex $tokens 0] } else { GENERICMESSAGE::message create $line } } } } TCP::release TCP::collect } when SERVER_DATA { set lines [split [TCP::payload] "\n"] TCP::payload 0 0 foreach line $lines { set line [string trim $line] if { [string length $line] > 0 } { if { $capture_name == 1 } { GENERICMESSAGE::peer name $line set capture_name 0 TCP::respond "Welcome [GENERICMESSAGE::peer name]\n" } else { set tokens [split $line ":"] if {[llength $tokens] > 1} { GENERICMESSAGE::message create [join [lrange $tokens 1 end] ":"] [lindex $tokens 0] } else { GENERICMESSAGE::message create $line } } } } TCP::release TCP::collect } when GENERICMESSAGE_INGRESS { # TCP::respond "GM_INGRESS is_request [GENERICMESSAGE::message is_request] req_seq_num [GENERICMESSAGE::message request_sequence_number]\n" } when MR_INGRESS { # TCP::respond "MR_INGRESS src: [GENERICMESSAGE::message src] dest [GENERICMESSAGE::message dest] lasthop [MR::message lasthop] nexthop: [MR::message nexthop]\n" } when GENERICMESSAGE_EGRESS { # TCP::respond "GM_EGRESS status: [GENERICMESSAGE::message status] is_request [GENERICMESSAGE::message is_request] req_seq_num [GENERICMESSAGE::message request_sequence_number]\n" TCP::respond "[GENERICMESSAGE::message data]\n" } }