Forum Discussion

anthony_5449's avatar
anthony_5449
Icon for Nimbostratus rankNimbostratus
Jun 02, 2011

How can F5 forward IP fragment to same pool?

Hi,

 

 

If there are 2 pools for load balance, my rule is that if the TCP payload contains the string "ABC" will be to pool A, others to pool B. However, if the data is transfer by serveral fragmented IP packet and only one fragments contains the string "ABC", how to make sure all fragments are transfered to the same pool ?

 

Thanks.
  • complementarity: especially, the TCP data maybe transfer in several IP packages because of the TCP flow control, the key words may be split in different IP package.
  • Will the special string be found in the first packet a client sends? Or do you want to continue collecting packets until you see the string? After you see the first instance of the string, do you want to continue sending packets to the same pool until you see the string again and then select another pool?

     

     

    You can continue to call TCP::collect and TCP::release and make a load balancing decision once you see the string. But I'm not sure exactly what logic you want to implement.

     

     

    Aaron
  • Thanks you for your response.I have a complex case as below:

     

    totally 1000 bytes to transfer with TCP, every 100 bytes means a data unit and contains a key word( "ABC" or "DEF"). For example,the first 100 bytes containing "ABC" is sent to pool A, the 2th 100 bytes containing "DEF" is sent to pool B,...

     

    With TCP::collect 100, I can find the string "ABC", but actually 100+ bytes have been received, then if TCP::release called, the part data of the 2th unit is also sent to pool A. My question is: when TCP:release called, can I define data length to transfer and keep left data until next TCP::release ?

     

     

    Thanks.