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

  • 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).

     

  • 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