"htb"
],
"plugins": {
- "requires": "nsPlugin"
+ "requires": [
+ "nsPlugin",
+ "scapyPlugin"
+ ]
},
"setup": [
- "$IP link set dev $DUMMY up || true",
- "$IP addr add 10.10.10.10/24 dev $DUMMY || true",
- "$TC qdisc add dev $DUMMY handle 1: root htb default 10",
- "$TC class add dev $DUMMY parent 1: classid 1:10 htb rate 1kbit",
- "$TC qdisc add dev $DUMMY parent 1:10 handle 10: fq_codel memory_limit 1 flows 1 target 0.1ms interval 1ms",
- "$TC filter add dev $DUMMY parent 1: protocol ip prio 1 u32 match ip protocol 1 0xff flowid 1:10",
- "ping -c 5 -f -I $DUMMY 10.10.10.1 > /dev/null || true",
- "sleep 0.1"
+ "$TC qdisc add dev $IFB handle 1: root htb default 10",
+ "$TC class add dev $IFB parent 1: classid 1:10 htb rate 1kbit",
+ "$TC qdisc add dev $IFB parent 1:10 handle 10: fq_codel memory_limit 1 flows 1 target 0.1ms interval 1ms",
+ "$TC filter add dev $IFB parent 1: protocol ip prio 1 u32 match ip protocol 1 0xff flowid 1:10",
+ "$TC qdisc add dev $DEV1 ingress",
+ "$TC filter add dev $DEV1 ingress protocol ip prio 1 u32 match ip protocol 1 0xff action mirred egress mirror dev $IFB"
],
- "cmdUnderTest": "$TC -s qdisc show dev $DUMMY",
+ "scapy": {
+ "iface": "$DEV0",
+ "count": 5,
+ "packet": "Ether()/IP(dst='10.10.10.1', src='10.10.10.10')/ICMP()"
+ },
+ "cmdUnderTest": "$TC -s qdisc show dev $IFB",
"expExitCode": "0",
- "verifyCmd": "$TC -s qdisc show dev $DUMMY | grep -A 5 'qdisc fq_codel'",
+ "verifyCmd": "$TC -s qdisc show dev $IFB | grep -A 5 'qdisc fq_codel'",
"matchPattern": "dropped [1-9][0-9]*",
"matchCount": "1",
"teardown": [
- "$TC qdisc del dev $DUMMY handle 1: root",
- "$IP addr del 10.10.10.10/24 dev $DUMMY || true"
+ "$TC qdisc del dev $IFB root",
+ "$TC qdisc del dev $DEV1 ingress"
]
},
{
"qfq"
],
"plugins": {
- "requires": "nsPlugin"
+ "requires": [
+ "nsPlugin",
+ "scapyPlugin"
+ ]
},
"setup": [
- "$IP link set dev $DUMMY up || true",
- "$IP addr add 10.10.10.10/24 dev $DUMMY || true",
- "$TC qdisc add dev $DUMMY handle 1: root qfq",
- "$TC class add dev $DUMMY parent 1: classid 1:10 qfq weight 1 maxpkt 1000",
- "$TC qdisc add dev $DUMMY parent 1:10 handle 10: fq_codel memory_limit 1 flows 1 target 0.1ms interval 1ms",
- "$TC filter add dev $DUMMY parent 1: protocol ip prio 1 u32 match ip protocol 1 0xff flowid 1:10",
- "ping -c 10 -s 1000 -f -I $DUMMY 10.10.10.1 > /dev/null || true",
- "sleep 0.1"
+ "$TC qdisc add dev $IFB handle 1: root qfq",
+ "$TC class add dev $IFB parent 1: classid 1:10 qfq weight 1 maxpkt 1000",
+ "$TC qdisc add dev $IFB parent 1:10 handle 10: fq_codel memory_limit 1 flows 1 target 0.1ms interval 1ms",
+ "$TC filter add dev $IFB parent 1: protocol ip prio 1 u32 match ip protocol 1 0xff flowid 1:10",
+ "$TC qdisc add dev $DEV1 ingress",
+ "$TC filter add dev $DEV1 ingress protocol ip prio 1 u32 match ip protocol 1 0xff action mirred egress mirror dev $IFB"
],
- "cmdUnderTest": "$TC -s qdisc show dev $DUMMY",
+ "scapy": {
+ "iface": "$DEV0",
+ "count": 10,
+ "packet": "Ether()/IP(dst='10.10.10.1', src='10.10.10.10')/ICMP()"
+ },
+ "cmdUnderTest": "$TC -s qdisc show dev $IFB",
"expExitCode": "0",
- "verifyCmd": "$TC -s qdisc show dev $DUMMY | grep -A 5 'qdisc fq_codel'",
+ "verifyCmd": "$TC -s qdisc show dev $IFB | grep -A 5 'qdisc fq_codel'",
"matchPattern": "dropped [1-9][0-9]*",
"matchCount": "1",
"teardown": [
- "$TC qdisc del dev $DUMMY handle 1: root",
- "$IP addr del 10.10.10.10/24 dev $DUMMY || true"
+ "$TC qdisc del dev $IFB root",
+ "$TC qdisc del dev $DEV1 ingress"
]
},
{
"hfsc"
],
"plugins": {
- "requires": "nsPlugin"
+ "requires": [
+ "nsPlugin",
+ "scapyPlugin"
+ ]
},
"setup": [
- "$IP link set dev $DUMMY up || true",
- "$IP addr add 10.10.10.10/24 dev $DUMMY || true",
- "$TC qdisc add dev $DUMMY handle 1: root hfsc default 10",
- "$TC class add dev $DUMMY parent 1: classid 1:10 hfsc sc rate 1kbit ul rate 1kbit",
- "$TC qdisc add dev $DUMMY parent 1:10 handle 10: fq_codel memory_limit 1 flows 1 target 0.1ms interval 1ms",
- "$TC filter add dev $DUMMY parent 1: protocol ip prio 1 u32 match ip protocol 1 0xff flowid 1:10",
- "ping -c 5 -f -I $DUMMY 10.10.10.1 > /dev/null || true",
- "sleep 0.1"
+ "$TC qdisc add dev $IFB handle 1: root hfsc default 10",
+ "$TC class add dev $IFB parent 1: classid 1:10 hfsc sc rate 1kbit ul rate 1kbit",
+ "$TC qdisc add dev $IFB parent 1:10 handle 10: fq_codel memory_limit 1 flows 1 target 0.1ms interval 1ms",
+ "$TC filter add dev $IFB parent 1: protocol ip prio 1 u32 match ip protocol 1 0xff flowid 1:10",
+ "$TC qdisc add dev $DEV1 ingress",
+ "$TC filter add dev $DEV1 ingress protocol ip prio 1 u32 match ip protocol 1 0xff action mirred egress mirror dev $IFB"
],
- "cmdUnderTest": "$TC -s qdisc show dev $DUMMY",
+ "scapy": {
+ "iface": "$DEV0",
+ "count": 5,
+ "packet": "Ether()/IP(dst='10.10.10.1', src='10.10.10.10')/ICMP()"
+ },
+ "cmdUnderTest": "$TC -s qdisc show dev $IFB",
"expExitCode": "0",
- "verifyCmd": "$TC -s qdisc show dev $DUMMY | grep -A 5 'qdisc fq_codel'",
+ "verifyCmd": "$TC -s qdisc show dev $IFB | grep -A 5 'qdisc fq_codel'",
"matchPattern": "dropped [1-9][0-9]*",
"matchCount": "1",
"teardown": [
- "$TC qdisc del dev $DUMMY handle 1: root",
- "$IP addr del 10.10.10.10/24 dev $DUMMY || true"
+ "$TC qdisc del dev $IFB root",
+ "$TC qdisc del dev $DEV1 ingress"
]
},
{
"drr"
],
"plugins": {
- "requires": "nsPlugin"
+ "requires": [
+ "nsPlugin",
+ "scapyPlugin"
+ ]
},
"setup": [
- "$IP link set dev $DUMMY up || true",
- "$IP addr add 10.10.10.10/24 dev $DUMMY || true",
- "$TC qdisc add dev $DUMMY handle 1: root drr",
- "$TC class add dev $DUMMY parent 1: classid 1:10 drr quantum 1500",
- "$TC qdisc add dev $DUMMY parent 1:10 handle 10: fq_codel memory_limit 1 flows 1 target 0.1ms interval 1ms",
- "$TC filter add dev $DUMMY parent 1: protocol ip prio 1 u32 match ip protocol 1 0xff flowid 1:10",
- "ping -c 5 -f -I $DUMMY 10.10.10.1 > /dev/null || true",
- "sleep 0.1"
+ "$TC qdisc add dev $IFB handle 1: root drr",
+ "$TC class add dev $IFB parent 1: classid 1:10 drr quantum 1500",
+ "$TC qdisc add dev $IFB parent 1:10 handle 10: fq_codel memory_limit 1 flows 1 target 0.1ms interval 1ms",
+ "$TC filter add dev $IFB parent 1: protocol ip prio 1 u32 match ip protocol 1 0xff flowid 1:10",
+ "$TC qdisc add dev $DEV1 ingress",
+ "$TC filter add dev $DEV1 ingress protocol ip prio 1 u32 match ip protocol 1 0xff action mirred egress mirror dev $IFB"
],
- "cmdUnderTest": "$TC -s qdisc show dev $DUMMY",
+ "scapy": {
+ "iface": "$DEV0",
+ "count": 5,
+ "packet": "Ether()/IP(dst='10.10.10.1', src='10.10.10.10')/ICMP()"
+ },
+ "cmdUnderTest": "$TC -s qdisc show dev $IFB",
"expExitCode": "0",
- "verifyCmd": "$TC -s qdisc show dev $DUMMY | grep -A 5 'qdisc fq_codel'",
+ "verifyCmd": "$TC -s qdisc show dev $IFB | grep -A 5 'qdisc fq_codel'",
"matchPattern": "dropped [1-9][0-9]*",
"matchCount": "1",
"teardown": [
- "$TC qdisc del dev $DUMMY handle 1: root",
- "$IP addr del 10.10.10.10/24 dev $DUMMY || true"
+ "$TC qdisc del dev $IFB root",
+ "$TC qdisc del dev $DEV1 ingress"
]
},
{
"ets"
],
"plugins": {
- "requires": "nsPlugin"
+ "requires": [
+ "nsPlugin",
+ "scapyPlugin"
+ ]
},
"setup": [
- "$IP link set dev $DUMMY up || true",
- "$IP addr add 10.10.10.10/24 dev $DUMMY || true",
- "$TC qdisc add dev $DUMMY handle 1: root ets bands 2 strict 1",
- "$TC class change dev $DUMMY parent 1: classid 1:1 ets",
- "$TC qdisc add dev $DUMMY parent 1:1 handle 10: fq_codel memory_limit 1 flows 1 target 0.1ms interval 1ms",
- "$TC filter add dev $DUMMY parent 1: protocol ip prio 1 u32 match ip protocol 1 0xff flowid 1:1",
- "ping -c 5 -f -I $DUMMY 10.10.10.1 > /dev/null || true",
- "sleep 0.1"
+ "$TC qdisc add dev $IFB handle 1: root ets bands 2 strict 1",
+ "$TC class change dev $IFB parent 1: classid 1:1 ets",
+ "$TC qdisc add dev $IFB parent 1:1 handle 10: fq_codel memory_limit 1 flows 1 target 0.1ms interval 1ms",
+ "$TC filter add dev $IFB parent 1: protocol ip prio 1 u32 match ip protocol 1 0xff flowid 1:1",
+ "$TC qdisc add dev $DEV1 ingress",
+ "$TC filter add dev $DEV1 ingress protocol ip prio 1 u32 match ip protocol 1 0xff action mirred egress mirror dev $IFB"
],
- "cmdUnderTest": "$TC -s qdisc show dev $DUMMY",
+ "scapy": {
+ "iface": "$DEV0",
+ "count": 5,
+ "packet": "Ether()/IP(dst='10.10.10.1', src='10.10.10.10')/ICMP()"
+ },
+ "cmdUnderTest": "$TC -s qdisc show dev $IFB",
"expExitCode": "0",
- "verifyCmd": "$TC -s qdisc show dev $DUMMY | grep -A 5 'qdisc fq_codel'",
+ "verifyCmd": "$TC -s qdisc show dev $IFB | grep -A 5 'qdisc fq_codel'",
"matchPattern": "dropped [1-9][0-9]*",
"matchCount": "1",
"teardown": [
- "$TC qdisc del dev $DUMMY handle 1: root",
- "$IP addr del 10.10.10.10/24 dev $DUMMY || true"
+ "$TC qdisc del dev $IFB root",
+ "$TC qdisc del dev $DEV1 ingress"
]
},
{