Forum Discussion

DamonL_356592's avatar
DamonL_356592
Icon for Nimbostratus rankNimbostratus
Mar 28, 2018

Dummy TCP Server Inside F5 Using iRule?

We have an application need to take TCP client data and "mirror" it to UDP and send that data to a different destination and port. I have gotten this to work with a sideband UDP send inside an iRule.

 

Now, I want to deprecate the TCP server the client was talking to, but I don't want to TCP client to break.

 

The current TCP application is a one way IP to serial converter, so the TCP server only sends back an "OK" to the client. The client sends over IP serial data to send out over a serial port. It's a send only serial port.

 

I just need to keep a "dummy" TCP server alive so the client will continue to work. Is it possible to instantiate a "dummy" TCP listener inside an iRule and have it just send back "OK" to each client send?

 

Thank you, Damon

 

1 Reply

  • You could try something like this:

    when CLIENT_ACCEPTED {
        TCP::collect
    }
    when CLIENT_DATA {
        TCP::respond "OK\r\n"
        TCP::collect
    }
    

    Output:

    $ telnet 10.23.98.37 80
    Trying 10.23.98.37...
    Connected to 10.23.98.37.
    Escape character is '^]'.
    data1
    OK
    data2
    OK
    data3
    OK
    ^]
    telnet> quit
    Connection closed.
    $