Forum Discussion

Sriram_129909's avatar
Sriram_129909
Icon for Nimbostratus rankNimbostratus
Jan 28, 2014

HSL UDP Load Balancing

I have an iRule that logs HSL to a pool - of two servers (A and B). The udp packets are appearing in only server A by default and 0% in server B. When I shut down server A (make it unavailable), then the packers are sent to server B (100%). Even though the pool members are setup to load balance (Round Robin), this is the behavior. Is there a solution for this problem?

BigIP 10.2.4

iRule:

when HTTP_REQUEST {

 set HttpHeader "\r\n" 
 set now [clock format [clock seconds] -format "%D %H:%M:%S %z"]    
 HSL::send $applayer_hsl "<190>\r\n[HTTP::request]HttpKalive:[HTTP::is_keepalive]\r\nHttpVer:[HTTP::version]\r\nF5Addr:[IP::local_addr]\r\nClientIP:[IP::client_addr]\r\nTime:$now\r\nPort:$ClientPort\r\nServer:[LB::server addr]\r\n"

}

when CLIENT_ACCEPTED {

   set applayer_hsl [HSL::open -proto UDP -pool hslog_pool]     
   set ClientPort [TCP::local_port]         

}

1 Reply

  • Hamish's avatar
    Hamish
    Icon for Cirrocumulus rankCirrocumulus

    Yes.

     

    But not unless you're either running 11.4 (.1? sorry, not sure which one it came in) (Using log publishers) or you could run the syslog traffic via another bigip with a clone pool (I haven't tried, but I would be surprised if you could loop the HSL back via a VS on the same bigip to use a clone pool).

     

    HSL itself simply doesn't run that way. It's written to be very fast, very low overhead send to the first available pool member. The second will only be used when the existing 'connection' would start queuing traffic.

     

    H