Forum Discussion

Ron_Grass_76885's avatar
Ron_Grass_76885
Icon for Nimbostratus rankNimbostratus
Dec 19, 2006

Session mode irule

Need an irule to load balance sessions based on IP and port. Need to have multiple sessions from the same client to be load balanced and to be treated as seperate entries in the sessions table. Also need to have the session terminate once a FIN or RST packet is detected between a server and client. This is the same as the "Remove Entry in Select Server" that the Radware currently does.
  • Deb_Allen_18's avatar
    Deb_Allen_18
    Historic F5 Account
    It sounds like you want to load balance sessions, but persist within each session.

     

     

    Load balancing happens according to the algorithm you choose when building the config. Persistence is intended to tie all the connections within the same session to the same backend server. Source IP persistence is not going to create a separate session table entry for multiple sessions from the same source IP, so you'll need to find or create some unique data in each session that will be included in all connection requests. Cookie persistence for HTTP is simple and low overhead. Some applications and protocols set their own session identifier that LTM can persist on.

     

     

    You can use an iRule to terminate connections and deny new ones matching a session identifier, but I'm not sure there is a clean way to determine the end of a session unless there is an explicit marker in the data stream. Using a FIN or RST as the trigger won't really work, since a session may consist of multiple connections that open and close naturally during the course of the session.

     

     

    Please post a follow up if you'd like to clarify your goals.

     

     

    HTH

     

    /deb