lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Mon, 10 Jul 2023 13:21:04 -0300
From: Pedro Tammela <pctammela@...atatu.com>
To: shaozhengchao <shaozhengchao@...wei.com>, netdev@...r.kernel.org
Cc: jhs@...atatu.com, xiyou.wangcong@...il.com, jiri@...nulli.us,
 davem@...emloft.net, edumazet@...gle.com, kuba@...nel.org,
 pabeni@...hat.com, shuah@...nel.org, victor@...atatu.com,
 simon.horman@...igine.com, paolo.valente@...more.it
Subject: Re: [PATCH net v2 4/4] selftests: tc-testing: add test for qfq with
 stab overhead

On 08/07/2023 03:43, shaozhengchao wrote:
> 
> 
> On 2023/7/8 6:00, Pedro Tammela wrote:
>> A packet with stab overhead greater than QFQ_MAX_LMAX should be dropped
>> by the QFQ qdisc as it can't handle such lengths.
>>
>> Signed-off-by: Jamal Hadi Salim <jhs@...atatu.com>
>> Signed-off-by: Pedro Tammela <pctammela@...atatu.com>
>> ---
>>   .../tc-testing/tc-tests/qdiscs/qfq.json       | 38 +++++++++++++++++++
>>   1 file changed, 38 insertions(+)
>>
>> diff --git 
>> a/tools/testing/selftests/tc-testing/tc-tests/qdiscs/qfq.json 
>> b/tools/testing/selftests/tc-testing/tc-tests/qdiscs/qfq.json
>> index 965da7622dac..6b8798f8dd04 100644
>> --- a/tools/testing/selftests/tc-testing/tc-tests/qdiscs/qfq.json
>> +++ b/tools/testing/selftests/tc-testing/tc-tests/qdiscs/qfq.json
>> @@ -261,5 +261,43 @@
>>           "teardown": [
>>               "$IP link del dev $DUMMY type dummy"
>>           ]
>> +    },
>> +    {
>> +        "id": "5993",
>> +        "name": "QFQ with stab overhead greater than max packet len",
>> +        "category": [
>> +            "qdisc",
>> +            "qfq",
>> +            "scapy"
>> +        ],
>> +        "plugins": {
>> +            "requires": [
>> +                "nsPlugin",
>> +                "scapyPlugin"
>> +            ]
>> +        },
>> +        "setup": [
>> +            "$IP link add dev $DUMMY type dummy || /bin/true",
>> +            "$IP link set dev $DUMMY up || /bin/true",
>> +            "$TC qdisc add dev $DUMMY handle 1: stab mtu 2048 tsize 
>> 512 mpu 0 overhead 999999999 linklayer ethernet root qfq",
>> +            "$TC class add dev $DUMMY parent 1: classid 1:1 qfq 
>> weight 100",
>> +            "$TC qdisc add dev $DEV1 clsact",
>> +            "$TC filter add dev $DEV1 ingress matchall action mirred 
>> egress mirror dev $DUMMY"
>> +        ],
>> +        "cmdUnderTest": "$TC filter add dev $DUMMY parent 1: matchall 
>> classid 1:1",
>> +        "scapy": [
>> +            {
>> +                "iface": "$DEV0",
>> +                "count": 22,
>> +                "packet": 
>> "Ether(type=0x800)/IP(src='10.0.0.10',dst='10.0.0.10')/TCP(sport=5000,dport=10)"
>> +            }
>> +        ],
>> +        "expExitCode": "0",
>> +        "verifyCmd": "$TC -s qdisc ls dev $DUMMY",
>> +        "matchPattern": "dropped 22",
> Hi Pedro:
>      I test this patch, but the number of dropped packets in each
> test is random, but is always greater than 22. My local machine tests
> are not ok. Here's my test results:
> All test results:
> 
> 1..1
> not ok 1 5993 - QFQ with stab overhead greater than max packet len
>          Could not match regex pattern. Verify command output:
> qdisc qfq 1: root refcnt 2
>   Sent 0 bytes 0 pkt (dropped 26, overlimits 0 requeues 0)
>   backlog 0b 0p requeues 0

I see, looks like some IPv6 probes / ARP / etc... are going through.
I will fix it, thank you!

> 
> Zhengchao Shao
> 
>> +        "matchCount": "1",
>> +        "teardown": [
>> +            "$TC qdisc del dev $DUMMY handle 1: root qfq"
>> +        ]
>>       }
>>   ]


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ