If you just want to do "persistence-rebalance", I would recommend you write an iRule and use the LB::detach command.
Persistence-rebalance simply does the following on Cisco: it makes a new load balancing decision for each HTTP request that the device receives. The default on Cisco and F5 is to make a load balancing decision for the entire TCP connection, not each individual HTTP request that comes over the connection. But in some cases it is necessary to load balance on each HTTP request. Cisco has persistence-rebalance, but in F5, you will need to do that in an iRule, and you would want something like this:
when HTTP_REQUEST {
LB::detach
}
As others have pointed out, you could try to use OneConnect for this, but OneConnect does much more than the persistence-rebalance command. OneConnect will also try to share backend TCP connections (ie - you may have a bunch of clients on the front end, but all their HTTP requests are place in the same backend TCP connection to the server). While that helps performance, it can also cause problems if you aren't architected for it. NTLM auth in particular has problems with this design if you aren't using NTLM connection pooling. Apps on the server may also get confused if they were written to assume that all traffic in a TCP connection is from the same user (this is the assumption NTLM makes, and why it has problems with OneConnect if you don't use the NTLM connection pool feature).
Therefore, if you simply want to reproduce exactly what Cisco is doing and nothing more, I would recommend you go the iRule route with that LB::detach command.