1[ 2 { 3 "id": "8b6e", 4 "name": "Create RED with no flags", 5 "category": [ 6 "qdisc", 7 "red" 8 ], 9 "plugins": { 10 "requires": "nsPlugin" 11 }, 12 "setup": [ 13 "$IP link add dev $DUMMY type dummy || /bin/true" 14 ], 15 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root red limit 1M avpkt 1500 min 100K max 300K", 16 "expExitCode": "0", 17 "verifyCmd": "$TC qdisc show dev $DUMMY", 18 "matchPattern": "qdisc red 1: root .* limit 1Mb min 100Kb max 300Kb $", 19 "matchCount": "1", 20 "teardown": [ 21 "$TC qdisc del dev $DUMMY handle 1: root", 22 "$IP link del dev $DUMMY type dummy" 23 ] 24 }, 25 { 26 "id": "342e", 27 "name": "Create RED with adaptive flag", 28 "category": [ 29 "qdisc", 30 "red" 31 ], 32 "plugins": { 33 "requires": "nsPlugin" 34 }, 35 "setup": [ 36 "$IP link add dev $DUMMY type dummy || /bin/true" 37 ], 38 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root red adaptive limit 1M avpkt 1500 min 100K max 300K", 39 "expExitCode": "0", 40 "verifyCmd": "$TC qdisc show dev $DUMMY", 41 "matchPattern": "qdisc red 1: root .* limit 1Mb min 100Kb max 300Kb adaptive $", 42 "matchCount": "1", 43 "teardown": [ 44 "$TC qdisc del dev $DUMMY handle 1: root", 45 "$IP link del dev $DUMMY type dummy" 46 ] 47 }, 48 { 49 "id": "2d4b", 50 "name": "Create RED with ECN flag", 51 "category": [ 52 "qdisc", 53 "red" 54 ], 55 "plugins": { 56 "requires": "nsPlugin" 57 }, 58 "setup": [ 59 "$IP link add dev $DUMMY type dummy || /bin/true" 60 ], 61 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root red ecn limit 1M avpkt 1500 min 100K max 300K", 62 "expExitCode": "0", 63 "verifyCmd": "$TC qdisc show dev $DUMMY", 64 "matchPattern": "qdisc red 1: root .* limit 1Mb min 100Kb max 300Kb ecn $", 65 "matchCount": "1", 66 "teardown": [ 67 "$TC qdisc del dev $DUMMY handle 1: root", 68 "$IP link del dev $DUMMY type dummy" 69 ] 70 }, 71 { 72 "id": "650f", 73 "name": "Create RED with flags ECN, adaptive", 74 "category": [ 75 "qdisc", 76 "red" 77 ], 78 "plugins": { 79 "requires": "nsPlugin" 80 }, 81 "setup": [ 82 "$IP link add dev $DUMMY type dummy || /bin/true" 83 ], 84 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root red ecn adaptive limit 1M avpkt 1500 min 100K max 300K", 85 "expExitCode": "0", 86 "verifyCmd": "$TC qdisc show dev $DUMMY", 87 "matchPattern": "qdisc red 1: root .* limit 1Mb min 100Kb max 300Kb ecn adaptive $", 88 "matchCount": "1", 89 "teardown": [ 90 "$TC qdisc del dev $DUMMY handle 1: root", 91 "$IP link del dev $DUMMY type dummy" 92 ] 93 }, 94 { 95 "id": "5f15", 96 "name": "Create RED with flags ECN, harddrop", 97 "category": [ 98 "qdisc", 99 "red" 100 ], 101 "plugins": { 102 "requires": "nsPlugin" 103 }, 104 "setup": [ 105 "$IP link add dev $DUMMY type dummy || /bin/true" 106 ], 107 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root red ecn harddrop limit 1M avpkt 1500 min 100K max 300K", 108 "expExitCode": "0", 109 "verifyCmd": "$TC qdisc show dev $DUMMY", 110 "matchPattern": "qdisc red 1: root .* limit 1Mb min 100Kb max 300Kb ecn harddrop $", 111 "matchCount": "1", 112 "teardown": [ 113 "$TC qdisc del dev $DUMMY handle 1: root", 114 "$IP link del dev $DUMMY type dummy" 115 ] 116 }, 117 { 118 "id": "53e8", 119 "name": "Create RED with flags ECN, nodrop", 120 "category": [ 121 "qdisc", 122 "red" 123 ], 124 "plugins": { 125 "requires": "nsPlugin" 126 }, 127 "setup": [ 128 "$IP link add dev $DUMMY type dummy || /bin/true" 129 ], 130 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root red ecn nodrop limit 1M avpkt 1500 min 100K max 300K", 131 "expExitCode": "0", 132 "verifyCmd": "$TC qdisc show dev $DUMMY", 133 "matchPattern": "qdisc red 1: root .* limit 1Mb min 100Kb max 300Kb ecn nodrop $", 134 "matchCount": "1", 135 "teardown": [ 136 "$TC qdisc del dev $DUMMY handle 1: root", 137 "$IP link del dev $DUMMY type dummy" 138 ] 139 }, 140 { 141 "id": "d091", 142 "name": "Fail to create RED with only nodrop flag", 143 "category": [ 144 "qdisc", 145 "red" 146 ], 147 "plugins": { 148 "requires": "nsPlugin" 149 }, 150 "setup": [ 151 "$IP link add dev $DUMMY type dummy || /bin/true" 152 ], 153 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root red nodrop limit 1M avpkt 1500 min 100K max 300K", 154 "expExitCode": "2", 155 "verifyCmd": "$TC qdisc show dev $DUMMY", 156 "matchPattern": "qdisc red", 157 "matchCount": "0", 158 "teardown": [ 159 "$IP link del dev $DUMMY type dummy" 160 ] 161 }, 162 { 163 "id": "af8e", 164 "name": "Create RED with flags ECN, nodrop, harddrop", 165 "category": [ 166 "qdisc", 167 "red" 168 ], 169 "plugins": { 170 "requires": "nsPlugin" 171 }, 172 "setup": [ 173 "$IP link add dev $DUMMY type dummy || /bin/true" 174 ], 175 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root red ecn harddrop nodrop limit 1M avpkt 1500 min 100K max 300K", 176 "expExitCode": "0", 177 "verifyCmd": "$TC qdisc show dev $DUMMY", 178 "matchPattern": "qdisc red 1: root .* limit 1Mb min 100Kb max 300Kb ecn harddrop nodrop $", 179 "matchCount": "1", 180 "teardown": [ 181 "$TC qdisc del dev $DUMMY handle 1: root", 182 "$IP link del dev $DUMMY type dummy" 183 ] 184 }, 185 { 186 "id": "290a", 187 "name": "Show RED class", 188 "category": [ 189 "qdisc", 190 "red" 191 ], 192 "plugins": { 193 "requires": "nsPlugin" 194 }, 195 "setup": [ 196 "$IP link add dev $DUMMY type dummy || /bin/true" 197 ], 198 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root red limit 1M avpkt 1500 min 100K max 300K", 199 "expExitCode": "0", 200 "verifyCmd": "$TC class show dev $DUMMY", 201 "matchPattern": "class red 1:[0-9]+ parent 1:", 202 "matchCount": "1", 203 "teardown": [ 204 "$TC qdisc del dev $DUMMY handle 1: root", 205 "$IP link del dev $DUMMY type dummy" 206 ] 207 } 208] 209