For more information regarding the security incident at F5, the actions we are taking to address it, and our ongoing efforts to protect our customers, click here.

Forum Discussion

Hamish's avatar
Hamish
Icon for Cirrocumulus rankCirrocumulus
Aug 22, 2009

rateclass undefined reference to rate class

 

Has anyone else out there had problems witha ssigning a connection to a rate class from an iRule?

 

 

I have an iRule that does rateclass assignment based on the client IP (Or subnet) and the URI they're hitting. Basically we do a lookup in a datagroup for the client IP. Then check the RUI. If the URI is a certain value, then we assign to a particular rateclass (The class is sepcified in the datagroup).

 

 

usually it works fine. But every now & again, SOME of the client IP's start to get errors, and the logs show the iRule is failing with a TCL error cliaming the rateclass doesn't exist...

 

 

But it does exist... You can do a

 

 

b rateclass

 

 

and get the stats (Which are 0)...

 

 

Removing the rateclass and re-creating it, the iRule works fine. As expected... As a check, I've been trying to create the rateclass BEFORE deleteing it (Just to see if it's my bad typing). But you can't re-create the rateclass without removing it, which shows that it's the iRule execution that seems to be failing (Rather than a mis-spelt entry in the datagroup or iRule logic error, or mis-spelt rate class name).

 

 

Is there a lmiit on the number of rate classes perhaps? When you reach it random ones are dropped from memory?

 

 

H

 

 

4 Replies

  • hoolio's avatar
    hoolio
    Icon for Cirrostratus rankCirrostratus
    Hi Hamish,

     

     

    If the rule and rateclass work at first and fail at some point, I'd guess it's a bug. Have you been able to open a case with F5 Support on this issue? If so, could you post back what they have to say? You might be able to get more information during a failure by ruinning qkview (and specifically 'tmctl -a') to see which objects exist in memory and are attached to the virtual servers.

     

     

    Thanks,

     

    Aaron
  • Hamish's avatar
    Hamish
    Icon for Cirrocumulus rankCirrocumulus
    I have a qkview from when the problem was occuring. It's been uplaoded to the case I opened on saturday. Looking at tmctl -a reveals the class I'm currently having problems with (The problem moves to a new rate class when you delete & re-creating one) isn't in the table 'rate_filter_class_stat' while the rest seem to...

     

     

    I have 202 rate classes... I'm wondering if there's a hard coded limit of 200 rate classes... Based on when it occurs I usually get 2 of the rateclasses erroring, and the 'Table umem' output which shows

     

     

    Table umem

     

    ==========

     

    name allocated max_allocated held size

     

    -------------------------- --------- ------------- ----- -----

     

    rate shaper domain cache 1 1 1 16

     

    rate shaper class cache 176 176 176 200

     

    rate shaper pq cache 0 1 1 8

     

    rate shaper queue cache 176 176 176 3080

     

     

     

    A size of 200 for the 'rate shaper class cache'... Dropping two of the classes at random perhaps? (Pure conjecture there of course).

     

  • hoolio's avatar
    hoolio
    Icon for Cirrostratus rankCirrostratus
    That really does sound like a limitation/bug. Can you reply back with F5 Support's response?

     

     

    Thanks,

     

    Aaron
  • Hamish's avatar
    Hamish
    Icon for Cirrocumulus rankCirrocumulus
    Yep. Just as soon as they get back to me.. (They've only asked questions so far).

     

     

    H