Forum Discussion

Rajesh_Pazhyann's avatar
Rajesh_Pazhyann
Icon for Nimbostratus rankNimbostratus
Dec 03, 2014

UDP payload based IP persistence iRule

Hello,

 

I am checking if I can implement an irule to create IP persistence but based on matching payload of UDP. Something like this..

 

  • The UDP Payload (say first 6 bytes) is compared with a value and the traffic is forwarded to an appropriate server and setup an IP persistence rule for this source IP address.

Assuming I can do the above, how many such iRules can I define. I need to potentially define a fairly large number (in the order of 10,000s)

 

thanks

 

Rajesh

 

4 Replies

  • Sure you can create an irule to manage this kind of UDP based persistence.

     

    If you have a huge list of "pattern" you can use a DataGroup to store it and refer it in the irule.

     

    You can do everything with one irule.

     

  • Thanks... Is there a huge performance implication if this dataset is large. For example, if I have to run a search of say 10,000 values.

     

  • A very good article:

     

    https://devcentral.f5.com/articles/-the101-irules-101-datagroups-amp-tables

     

    An extract: "Whether you’re storing 100 or 100,000 entries, queries are roughly the same thanks to the indexed, hashed format of data groups. This makes them far and away the best option for storing large lists of data as well as frequently performed queries that can be represented in a read-only fashion. The bottom line is: If you’re not updating the data in the list, and you’re dealing with more than a handful of items, be it strings, IPs or otherwise, datagroups are likely your best bet."

     

  • Hi Rajesh,

     

    We are trying to setup something very similar. Did you create additional parameters for the iRule to check based on your UDP payload? Also, did you end up creating a data-group? Do you mind posting some examples and whether you were able to successfully implement this feature?

     

    Thank you!