Forum Discussion

Tory_90586's avatar
Icon for Nimbostratus rankNimbostratus
May 11, 2011

Invalid action EV_INGRESS_DATA during ST_HTTP_PREPEN

Seeing this more and more in my logs and I don't understand what i'm doing wrong. Or if I'm doing something wrong.



http_process_state_prepend - Invalid action EV_INGRESS_DATA during ST_HTTP_PREPEND_HEADERS Server side: vip=apps.domain.net_80 profile=http pool=Apps




The irule attached to this vip






if { [HTTP::uri] starts_with "/retargeting/displaytracker" } {



if { [active_members [LB::server pool] ] == 0} {


HTTP::respond 200 "Content-Type" "application/javascript" "Connection" "close"










Now I've recently added some rules to a new VIP that if the uri contains X then push to another pool (the pool in question also supports the vip with the _no_members_http rule).



Is there a flaw in what I'm doing or is the F5 just being loud and grumpy about something I can't do anything about?







4 Replies

  • I don't think that your iRule is what is causing your problem.



    There are several discussion threads of people reporting the same messages. There is also a solution for this issue that you might want to take a look at:





    Similar Issues:




  • Hi Tory,


    This is usually caused when a HTTP response is not compliant with the RFC2616 for HTTP 1.1. Here is a SOL article that explains it. Click Here to take you to the SOL article on



    I hope this helps





  • Hi All,



    I'm getting same error, do you have any suggestion to get rid of this error(s) ? I read SOL 5922 but it relates with connection mirroring which we are not using ?



    Also I'm gettin an error like



    "TCL error: Rtsp-iRule - Error: No peer connection established TCP::collect needs an established peer connection! (line 1) invoked from within "TCP::collect" peer expression (line 1) invoked from within "serverside {TCP::collect}""



    Here is an iRule I use;










    when CLIENT_DATA {


    if { [TCP::payload 5] eq "SETUP" } {


    serverside {TCP::collect}











    when SERVER_DATA {


    if { [TCP::payload 15] eq "RTSP/1.0 200 OK" } {


    set backup [TCP::payload]



    set ports [split [findstr $backup "client_port=" 12 ";"] -]



    for {set x [lindex $ports 0]} {$x <= [lindex $ports 1]} {incr x} {


    TCP::payload replace 0 [TCP::payload length] $x


    listen {


    proto 17


    timeout 30


    bind [LINK::vlan_id] [IP::local_addr] [TCP::payload]


    server [clientside {IP::remote_addr}] [TCP::payload]


    allow [IP::remote_addr]






    TCP::payload replace 0 [TCP::payload length] $backup









    We have an version of 10.2.0 Build 1789.0.



    Thanks in advanced,