xref: /linux/tools/testing/selftests/tc-testing/scripts/sfq_rejects_limit_1.py (revision 0ad9617c78acbc71373fb341a6f75d4012b01d69)
1*1e7e1f0eSOctavian Purdila#!/usr/bin/env python3
2*1e7e1f0eSOctavian Purdila# SPDX-License-Identifier: GPL-2.0
3*1e7e1f0eSOctavian Purdila#
4*1e7e1f0eSOctavian Purdila# Script that checks that SFQ rejects a limit of 1 at the kernel
5*1e7e1f0eSOctavian Purdila# level. We can't use iproute2's tc because it does not accept a limit
6*1e7e1f0eSOctavian Purdila# of 1.
7*1e7e1f0eSOctavian Purdila
8*1e7e1f0eSOctavian Purdilaimport sys
9*1e7e1f0eSOctavian Purdilaimport os
10*1e7e1f0eSOctavian Purdila
11*1e7e1f0eSOctavian Purdilafrom pyroute2 import IPRoute
12*1e7e1f0eSOctavian Purdilafrom pyroute2.netlink.exceptions import NetlinkError
13*1e7e1f0eSOctavian Purdila
14*1e7e1f0eSOctavian Purdilaip = IPRoute()
15*1e7e1f0eSOctavian Purdilaifidx = ip.link_lookup(ifname=sys.argv[1])
16*1e7e1f0eSOctavian Purdila
17*1e7e1f0eSOctavian Purdilatry:
18*1e7e1f0eSOctavian Purdila    ip.tc('add', 'sfq', ifidx, limit=1)
19*1e7e1f0eSOctavian Purdila    sys.exit(1)
20*1e7e1f0eSOctavian Purdilaexcept NetlinkError:
21*1e7e1f0eSOctavian Purdila    sys.exit(0)
22