Commit ca34aceb authored by Alexandre Ferrieux's avatar Alexandre Ferrieux Committed by Paolo Abeni
Browse files

net: sched: u32: Add test case for systematic hnode IDR leaks



Add a tdc test case to exercise the just-fixed systematic leak of
IDR entries in u32 hnode disposal. Given the IDR in question is
confined to the range [1..0x7FF], it is sufficient to create/delete
the same filter 2048 times to fill it up and get a nonzero exit
status from "tc filter add".

Signed-off-by: default avatarAlexandre Ferrieux <alexandre.ferrieux@orange.com>
Acked-by: default avatarJamal Hadi Salim <jhs@mojatatu.com>
Reviewed-by: default avatarVictor Nogueira <victor@mojatatu.com>
Link: https://patch.msgid.link/20241113100428.360460-1-alexandre.ferrieux@orange.com


Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
parent f8d670b1
Loading
Loading
Loading
Loading
+24 −0
Original line number Diff line number Diff line
@@ -329,5 +329,29 @@
        "teardown": [
            "$TC qdisc del dev $DEV1 parent root drr"
        ]
    },
    {
        "id": "1234",
        "name": "Exercise IDR leaks by creating/deleting a filter many (2048) times",
        "category": [
            "filter",
            "u32"
        ],
        "plugins": {
            "requires": "nsPlugin"
        },
        "setup": [
            "$TC qdisc add dev $DEV1 parent root handle 10: drr",
            "$TC filter add dev $DEV1 parent 10:0 protocol ip prio 2 u32 match ip src 0.0.0.2/32 action drop",
            "$TC filter add dev $DEV1 parent 10:0 protocol ip prio 3 u32 match ip src 0.0.0.3/32 action drop"
        ],
        "cmdUnderTest": "bash -c 'for i in {1..2048} ;do echo filter delete dev $DEV1 pref 3;echo filter add dev $DEV1 parent 10:0 protocol ip prio 3 u32 match ip src 0.0.0.3/32 action drop;done | $TC -b -'",
        "expExitCode": "0",
        "verifyCmd": "$TC filter show dev $DEV1",
        "matchPattern": "protocol ip pref 3 u32",
        "matchCount": "3",
        "teardown": [
            "$TC qdisc del dev $DEV1 parent root drr"
        ]
    }
]