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

gwieczorek's avatar
gwieczorek
Icon for Altostratus rankAltostratus
May 06, 2024

Big-IP Next 20.2.0-2.375.1+0.0.43 iRule count problem

I have very simple iRule to show the problem:

when HTTP_REQUEST {

    set Client_IP [IP::client_addr]

    if { ($Client_IP starts_with "x.x.x.x") && ([HTTP::uri] equals "/seed") } {
        table set -subtable TABLE "key1" "value1" 30
        table set -subtable TABLE "key2" "value2" 15
        table set -subtable TABLE "key3" "value3" 45
        HTTP::respond 200 content "Done"
        TCP::close
        return
	}

    set key_value "key1"
    set key_value2 "key2"
    set key_value3 "key3"

    set count [table keys -subtable TABLE -count]
    

    HTTP::respond 200 content "
    Remaining timeout / defined timeout for ${key_value} => [table lookup -notouch -subtable TABLE ${key_value}] [table timeout -subtable TABLE -remaining ${key_value}]/[table timeout -subtable TABLE ${key_value}]
    Remaining timeout / defined timeout for ${key_value2} => [table lookup -notouch -subtable TABLE ${key_value2}] [table timeout -subtable TABLE -remaining ${key_value2}]/[table timeout -subtable TABLE ${key_value2}]
    Remaining timeout / defined timeout for ${key_value3} => [table lookup -notouch -subtable TABLE ${key_value3}] [table timeout -subtable TABLE -remaining ${key_value3}]/[table timeout -subtable TABLE ${key_value3}]
    Count TABLE ${count}"
}

 

It looks like table -keys -subtable <tablename> -count don't work properly:

 

    Remaining timeout / defined timeout for key1 => value1 27/30
    Remaining timeout / defined timeout for key2 => value2 12/15
    Remaining timeout / defined timeout for key3 => value3 42/45
    Count TABLE 0

My expected output would be 3 (as it is not timeouted), not 0.

Can someone check if I am correct? Or tell me how I can count not expired entries in table.

4 Replies

    • Lucas_Thompson's avatar
      Lucas_Thompson
      Icon for Employee rankEmployee

      Sorry I can't think of any. We'll have to wait until the engineering team has had a chance to analyze the issue.

      Feel free to open a support ticket if you need a fast or assured response, and mention that ID number and request about possible workarounds.

      • gwieczorek's avatar
        gwieczorek
        Icon for Altostratus rankAltostratus

        I have open case. Date opened: May 06, 2024, 12:01 PM

  • This does seem like a defect, thanks for the detailed writeup. It reproduces correctly: count is correct in BIG-IP 17.x, but 0 in BIG-IP Next 20.2.

    It's now logged as defect ID 1584741.