1*856359c0SZhengchao Shao[ 2*856359c0SZhengchao Shao { 3*856359c0SZhengchao Shao "id": "0582", 4*856359c0SZhengchao Shao "name": "Create QFQ with default setting", 5*856359c0SZhengchao Shao "category": [ 6*856359c0SZhengchao Shao "qdisc", 7*856359c0SZhengchao Shao "qfq" 8*856359c0SZhengchao Shao ], 9*856359c0SZhengchao Shao "plugins": { 10*856359c0SZhengchao Shao "requires": "nsPlugin" 11*856359c0SZhengchao Shao }, 12*856359c0SZhengchao Shao "setup": [ 13*856359c0SZhengchao Shao "$IP link add dev $DUMMY type dummy || /bin/true" 14*856359c0SZhengchao Shao ], 15*856359c0SZhengchao Shao "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root qfq", 16*856359c0SZhengchao Shao "expExitCode": "0", 17*856359c0SZhengchao Shao "verifyCmd": "$TC qdisc show dev $DUMMY", 18*856359c0SZhengchao Shao "matchPattern": "qdisc qfq 1: root refcnt [0-9]+", 19*856359c0SZhengchao Shao "matchCount": "1", 20*856359c0SZhengchao Shao "teardown": [ 21*856359c0SZhengchao Shao "$TC qdisc del dev $DUMMY handle 1: root", 22*856359c0SZhengchao Shao "$IP link del dev $DUMMY type dummy" 23*856359c0SZhengchao Shao ] 24*856359c0SZhengchao Shao }, 25*856359c0SZhengchao Shao { 26*856359c0SZhengchao Shao "id": "c9a3", 27*856359c0SZhengchao Shao "name": "Create QFQ with class weight setting", 28*856359c0SZhengchao Shao "category": [ 29*856359c0SZhengchao Shao "qdisc", 30*856359c0SZhengchao Shao "qfq" 31*856359c0SZhengchao Shao ], 32*856359c0SZhengchao Shao "plugins": { 33*856359c0SZhengchao Shao "requires": "nsPlugin" 34*856359c0SZhengchao Shao }, 35*856359c0SZhengchao Shao "setup": [ 36*856359c0SZhengchao Shao "$IP link add dev $DUMMY type dummy || /bin/true", 37*856359c0SZhengchao Shao "$TC qdisc add dev $DUMMY handle 1: root qfq" 38*856359c0SZhengchao Shao ], 39*856359c0SZhengchao Shao "cmdUnderTest": "$TC class add dev $DUMMY parent 1: classid 1:1 qfq weight 100", 40*856359c0SZhengchao Shao "expExitCode": "0", 41*856359c0SZhengchao Shao "verifyCmd": "$TC class show dev $DUMMY", 42*856359c0SZhengchao Shao "matchPattern": "class qfq 1:1 root weight 100 maxpkt", 43*856359c0SZhengchao Shao "matchCount": "1", 44*856359c0SZhengchao Shao "teardown": [ 45*856359c0SZhengchao Shao "$TC qdisc del dev $DUMMY handle 1: root", 46*856359c0SZhengchao Shao "$IP link del dev $DUMMY type dummy" 47*856359c0SZhengchao Shao ] 48*856359c0SZhengchao Shao }, 49*856359c0SZhengchao Shao { 50*856359c0SZhengchao Shao "id": "8452", 51*856359c0SZhengchao Shao "name": "Create QFQ with class maxpkt setting", 52*856359c0SZhengchao Shao "category": [ 53*856359c0SZhengchao Shao "qdisc", 54*856359c0SZhengchao Shao "qfq" 55*856359c0SZhengchao Shao ], 56*856359c0SZhengchao Shao "plugins": { 57*856359c0SZhengchao Shao "requires": "nsPlugin" 58*856359c0SZhengchao Shao }, 59*856359c0SZhengchao Shao "setup": [ 60*856359c0SZhengchao Shao "$IP link add dev $DUMMY type dummy || /bin/true", 61*856359c0SZhengchao Shao "$TC qdisc add dev $DUMMY handle 1: root qfq" 62*856359c0SZhengchao Shao ], 63*856359c0SZhengchao Shao "cmdUnderTest": "$TC class add dev $DUMMY parent 1: classid 1:1 qfq maxpkt 2000", 64*856359c0SZhengchao Shao "expExitCode": "0", 65*856359c0SZhengchao Shao "verifyCmd": "$TC class show dev $DUMMY", 66*856359c0SZhengchao Shao "matchPattern": "class qfq 1:1 root weight 1 maxpkt 2000", 67*856359c0SZhengchao Shao "matchCount": "1", 68*856359c0SZhengchao Shao "teardown": [ 69*856359c0SZhengchao Shao "$TC qdisc del dev $DUMMY handle 1: root", 70*856359c0SZhengchao Shao "$IP link del dev $DUMMY type dummy" 71*856359c0SZhengchao Shao ] 72*856359c0SZhengchao Shao }, 73*856359c0SZhengchao Shao { 74*856359c0SZhengchao Shao "id": "d920", 75*856359c0SZhengchao Shao "name": "Create QFQ with multiple class setting", 76*856359c0SZhengchao Shao "category": [ 77*856359c0SZhengchao Shao "qdisc", 78*856359c0SZhengchao Shao "qfq" 79*856359c0SZhengchao Shao ], 80*856359c0SZhengchao Shao "plugins": { 81*856359c0SZhengchao Shao "requires": "nsPlugin" 82*856359c0SZhengchao Shao }, 83*856359c0SZhengchao Shao "setup": [ 84*856359c0SZhengchao Shao "$IP link add dev $DUMMY type dummy || /bin/true", 85*856359c0SZhengchao Shao "$TC qdisc add dev $DUMMY handle 1: root qfq", 86*856359c0SZhengchao Shao "$TC class add dev $DUMMY parent 1: classid 1:1 qfq weight 100" 87*856359c0SZhengchao Shao ], 88*856359c0SZhengchao Shao "cmdUnderTest": "$TC class add dev $DUMMY parent 1: classid 1:2 qfq weight 200", 89*856359c0SZhengchao Shao "expExitCode": "0", 90*856359c0SZhengchao Shao "verifyCmd": "$TC class show dev $DUMMY", 91*856359c0SZhengchao Shao "matchPattern": "class qfq 1:[0-9]+ root weight [0-9]+00 maxpkt", 92*856359c0SZhengchao Shao "matchCount": "2", 93*856359c0SZhengchao Shao "teardown": [ 94*856359c0SZhengchao Shao "$TC qdisc del dev $DUMMY handle 1: root", 95*856359c0SZhengchao Shao "$IP link del dev $DUMMY type dummy" 96*856359c0SZhengchao Shao ] 97*856359c0SZhengchao Shao }, 98*856359c0SZhengchao Shao { 99*856359c0SZhengchao Shao "id": "0548", 100*856359c0SZhengchao Shao "name": "Delete QFQ with handle", 101*856359c0SZhengchao Shao "category": [ 102*856359c0SZhengchao Shao "qdisc", 103*856359c0SZhengchao Shao "qfq" 104*856359c0SZhengchao Shao ], 105*856359c0SZhengchao Shao "plugins": { 106*856359c0SZhengchao Shao "requires": "nsPlugin" 107*856359c0SZhengchao Shao }, 108*856359c0SZhengchao Shao "setup": [ 109*856359c0SZhengchao Shao "$IP link add dev $DUMMY type dummy || /bin/true", 110*856359c0SZhengchao Shao "$TC qdisc add dev $DUMMY handle 1: root qfq", 111*856359c0SZhengchao Shao "$TC class add dev $DUMMY parent 1: classid 1:1 qfq weight 100" 112*856359c0SZhengchao Shao ], 113*856359c0SZhengchao Shao "cmdUnderTest": "$TC qdisc del dev $DUMMY handle 1: root", 114*856359c0SZhengchao Shao "expExitCode": "0", 115*856359c0SZhengchao Shao "verifyCmd": "$TC class show dev $DUMMY", 116*856359c0SZhengchao Shao "matchPattern": "qdisc qfq 1: root refcnt [0-9]+", 117*856359c0SZhengchao Shao "matchCount": "0", 118*856359c0SZhengchao Shao "teardown": [ 119*856359c0SZhengchao Shao "$IP link del dev $DUMMY type dummy" 120*856359c0SZhengchao Shao ] 121*856359c0SZhengchao Shao }, 122*856359c0SZhengchao Shao { 123*856359c0SZhengchao Shao "id": "5901", 124*856359c0SZhengchao Shao "name": "Show QFQ class", 125*856359c0SZhengchao Shao "category": [ 126*856359c0SZhengchao Shao "qdisc", 127*856359c0SZhengchao Shao "qfq" 128*856359c0SZhengchao Shao ], 129*856359c0SZhengchao Shao "plugins": { 130*856359c0SZhengchao Shao "requires": "nsPlugin" 131*856359c0SZhengchao Shao }, 132*856359c0SZhengchao Shao "setup": [ 133*856359c0SZhengchao Shao "$IP link add dev $DUMMY type dummy || /bin/true" 134*856359c0SZhengchao Shao ], 135*856359c0SZhengchao Shao "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root qfq", 136*856359c0SZhengchao Shao "expExitCode": "0", 137*856359c0SZhengchao Shao "verifyCmd": "$TC class show dev $DUMMY", 138*856359c0SZhengchao Shao "matchPattern": "class qfq 1:", 139*856359c0SZhengchao Shao "matchCount": "0", 140*856359c0SZhengchao Shao "teardown": [ 141*856359c0SZhengchao Shao "$TC qdisc del dev $DUMMY handle 1: root", 142*856359c0SZhengchao Shao "$IP link del dev $DUMMY type dummy" 143*856359c0SZhengchao Shao ] 144*856359c0SZhengchao Shao } 145*856359c0SZhengchao Shao] 146