In regards to using the information in the persistence table...you'll need to use the persist lookup command, like your rule alludes to. It looks like you need a little further clarification on the options of this command.
In a great post unruley made a while back (which you can find by searching for persist lookup in the forums) here
Click here
He outlines the usage of the persist command. I believe the part you're interested in is the second part of the information that follows:
The following instances of the persist command select persist:
NOTE: items marked with are meant to be replaced with some sort of value or evaluated expression. Arguments bracketed by [] are used to note they are optional and should not be confused with Tcl command evaluation.
persist simple [] []
persist source_addr [] []
persist sticky [] []
persist dest_addr [] []
persist ssl []
persist msrdp []
persist cookie [insert [] [] |
rewrite [] [] |
passive [] |
hash [{ [] } []] ]
persist uie []
persist hash []
The following instances of the persist command can be used to manipulate the persistence table directly:
persist add []
persist lookup [all|node|port|pool]
"all" or no specification returns a list containing
the node, port and pool name. Specifying any of the other
return types will return the specified item only.
persist delete
= simple | source_addr | sticky | dest_addr | ssl | uie | hash
= |
{ [any virtual|service|pool] [pool ] }
the latter key specification is used to create/access
persist entries across virtuals, services, or pools.
Hopefully this helps to clear things up. I'll also work on getting this info into the Wiki for future reference.
-Colin