Forum Discussion
Class match with starts_with - Data group matching order
Hello DevCentral,
I need your help today with very basic question which for some reason doesn't really makes senese for me.
I trying searched for such previously asked questions in the boards but couldn't find any.
I use a match class with starts_with operator to check the website url mathch against around 100 records of string based data groups key records - in order to determine the appropriate redirect to apply for this HTTP Requst - the value found inside the data group value.
Becasue of the starts_with operator I have a lot of situations where there are multiple keys inside the Datagroup that match the starts_with condition for the requsted URL.
For example I browse to: www.cnn.com/sports
inside my Datagroup I have both this records:
www.cnn.com -------> www.cnn.com/short
www.cnn.com/sports ------> www.cnn.com/long
in this case beacsue of the starts_with operator both these records match the requested HTTP URI.
I assume the F5 will chose in this case the first record showed inside the data group , this one:
"www.cnn.com -------> www.cnn.com/short"
But in practise after testing I see this is one who gets chosen is the most specfic one
"www.cnn.com/sports ------> www.cnn.com/long"
Meaning I get redirected to this final URL:
I'm not sure if I'm doing something wrong with my tests or if this is the accpted behavior , I couldn't find a clear answer for that.
I will appreciate your kind help with that,
Thanks in advance !
Kind regards,
Adir Z.
Bezeq International
It's "longest match". See https://clouddocs.f5.com/api/irules/class.html
---
Note: When using the equals operator on IP classes, or when using the starts_with or ends_with operators, if multiple possible matches are found in the class, then the longest match is always chosen. This is not true when using the contains operator. See the example below for more details.
---
6 Replies
giltjr I do not see any documentation that specifies specific platforms that support it but I did find that it was introduced in BIG-IP 11.4.0.
- giltjr
Nimbostratus
That's the only thing I have found. We migrated from 2000s to VE and have started experincing a problem dealing with TSO and we are trying to see if we would have had the issue on 2000s.
- PSilvaRet. Employee
While I'm also not sure about the hardware, I did find this about the feature:
K15609: Overview of TCP Segmentation Offload and Large Receive Offload
In addition, this is about VE and about 2/3 of the way down is the TSO info: https://techdocs.f5.com/kb/en-us/products/big-ip_ltm/manuals/product/bigip-ve-setup-vmware-esxi-11-6-0/1.html
About TCP Segmentation Offloading support
If you want to disable support for TCP Segmentation Offloading (TSO), you must submit a tmsh command, because the TSO feature is enabled by default. Note that enabling TSO support also enables support for large receive offload (LRO) and Jumbo Frames.
Configuring a hypervisor for TSO support
You must have the Admin user role to enable or disable TSO support for a hypervisor.
Using the tmsh command sys db, you can turn TSO support on, off, or check to see whether support is currently enabled.- To determine whether TSO support is currently enabled, use the tmsh show command.
show sys db tm.tcpsegmentationoffload
- To enable support for TSO, use the tmsh enable command.
sys db tm.tcpsegmentationoffload enable
- To disable support for TSO, use the tmsh disable command.
sys db tm.tcpsegmentationoffload disable
- To determine whether TSO support is currently enabled, use the tmsh show command.
- giltjr
Nimbostratus
I understand that, but TSO is not actually use unless the network card supports it. I'm trying to figure out if the network cards in the 2000s supported TSO.
Recent Discussions
Related Content
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com