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