1[ 2 { 3 "id": "a4c7", 4 "name": "Create DualPI2 with default setting", 5 "category": [ 6 "qdisc", 7 "dualpi2" 8 ], 9 "plugins": { 10 "requires": "nsPlugin" 11 }, 12 "setup": [ 13 ], 14 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root dualpi2", 15 "expExitCode": "0", 16 "verifyCmd": "$TC qdisc show dev $DUMMY", 17 "matchPattern": "qdisc dualpi2 1: root refcnt [0-9]+ limit 10000p.* step_thresh 1ms min_qlen_step 0p coupling_factor 2 drop_on_overload drop_dequeue classic_protection 10% l4s_ect split_gso", 18 "matchCount": "1", 19 "teardown": [ 20 "$TC qdisc del dev $DUMMY handle 1: root" 21 ] 22 }, 23 { 24 "id": "1ea4", 25 "name": "Create DualPI2 with memlimit", 26 "category": [ 27 "qdisc", 28 "dualpi2" 29 ], 30 "plugins": { 31 "requires": "nsPlugin" 32 }, 33 "setup": [ 34 ], 35 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root dualpi2 memlimit 20000000", 36 "expExitCode": "0", 37 "verifyCmd": "$TC qdisc show dev $DUMMY", 38 "matchPattern": "qdisc dualpi2 1: root refcnt [0-9]+ limit 10000p.* memlimit 20000000B", 39 "matchCount": "1", 40 "teardown": [ 41 "$TC qdisc del dev $DUMMY handle 1: root" 42 ] 43 }, 44 { 45 "id": "2130", 46 "name": "Create DualPI2 with typical_rtt and max_rtt", 47 "category": [ 48 "qdisc", 49 "dualpi2" 50 ], 51 "plugins": { 52 "requires": "nsPlugin" 53 }, 54 "setup": [ 55 ], 56 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root dualpi2 typical_rtt 20ms max_rtt 200ms", 57 "expExitCode": "0", 58 "verifyCmd": "$TC qdisc show dev $DUMMY", 59 "matchPattern": "qdisc dualpi2 1: root refcnt [0-9]+ limit 10000p.* target 20ms tupdate 20ms alpha 0.042969 beta 1.496094", 60 "matchCount": "1", 61 "teardown": [ 62 "$TC qdisc del dev $DUMMY handle 1: root" 63 ] 64 }, 65 { 66 "id": "90c1", 67 "name": "Create DualPI2 with max_rtt", 68 "category": [ 69 "qdisc", 70 "dualpi2" 71 ], 72 "plugins": { 73 "requires": "nsPlugin" 74 }, 75 "setup": [ 76 ], 77 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root dualpi2 max_rtt 300ms", 78 "expExitCode": "0", 79 "verifyCmd": "$TC qdisc show dev $DUMMY", 80 "matchPattern": "qdisc dualpi2 1: root refcnt [0-9]+ limit 10000p.* target 50ms tupdate 50ms alpha 0.050781 beta 0.996094", 81 "matchCount": "1", 82 "teardown": [ 83 "$TC qdisc del dev $DUMMY handle 1: root" 84 ] 85 }, 86 { 87 "id": "7b3c", 88 "name": "Create DualPI2 with any_ect option", 89 "category": [ 90 "qdisc", 91 "dualpi2" 92 ], 93 "plugins": { 94 "requires": "nsPlugin" 95 }, 96 "setup": [ 97 ], 98 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root dualpi2 any_ect", 99 "expExitCode": "0", 100 "verifyCmd": "$TC qdisc show dev $DUMMY", 101 "matchPattern": "qdisc dualpi2 1: root refcnt [0-9]+ limit 10000p .* any_ect", 102 "matchCount": "1", 103 "teardown": [ 104 "$TC qdisc del dev $DUMMY handle 1: root" 105 ] 106 }, 107 { 108 "id": "49a3", 109 "name": "Create DualPI2 with overflow option", 110 "category": [ 111 "qdisc", 112 "dualpi2" 113 ], 114 "plugins": { 115 "requires": "nsPlugin" 116 }, 117 "setup": [ 118 ], 119 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root dualpi2 overflow", 120 "expExitCode": "0", 121 "verifyCmd": "$TC qdisc show dev $DUMMY", 122 "matchPattern": "qdisc dualpi2 1: root refcnt [0-9]+ limit 10000p.* overflow", 123 "matchCount": "1", 124 "teardown": [ 125 "$TC qdisc del dev $DUMMY handle 1: root" 126 ] 127 }, 128 { 129 "id": "d0a1", 130 "name": "Create DualPI2 with drop_enqueue option", 131 "category": [ 132 "qdisc", 133 "dualpi2" 134 ], 135 "plugins": { 136 "requires": "nsPlugin" 137 }, 138 "setup": [ 139 ], 140 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root dualpi2 drop_enqueue", 141 "expExitCode": "0", 142 "verifyCmd": "$TC qdisc show dev $DUMMY", 143 "matchPattern": "qdisc dualpi2 1: root refcnt [0-9]+ limit 10000p .* drop_enqueue", 144 "matchCount": "1", 145 "teardown": [ 146 "$TC qdisc del dev $DUMMY handle 1: root" 147 ] 148 }, 149 { 150 "id": "f051", 151 "name": "Create DualPI2 with no_split_gso option", 152 "category": [ 153 "qdisc", 154 "dualpi2" 155 ], 156 "plugins": { 157 "requires": "nsPlugin" 158 }, 159 "setup": [ 160 ], 161 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root dualpi2 no_split_gso", 162 "expExitCode": "0", 163 "verifyCmd": "$TC qdisc show dev $DUMMY", 164 "matchPattern": "qdisc dualpi2 1: root refcnt [0-9]+ limit 10000p .* no_split_gso", 165 "matchCount": "1", 166 "teardown": [ 167 "$TC qdisc del dev $DUMMY handle 1: root" 168 ] 169 }, 170 { 171 "id": "456b", 172 "name": "Create DualPI2 with packet step_thresh", 173 "category": [ 174 "qdisc", 175 "dualpi2" 176 ], 177 "plugins": { 178 "requires": "nsPlugin" 179 }, 180 "setup": [ 181 ], 182 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root dualpi2 step_thresh 3p", 183 "expExitCode": "0", 184 "verifyCmd": "$TC qdisc show dev $DUMMY", 185 "matchPattern": "qdisc dualpi2 1: root refcnt [0-9]+ limit 10000p .* step_thresh 3p", 186 "matchCount": "1", 187 "teardown": [ 188 "$TC qdisc del dev $DUMMY handle 1: root" 189 ] 190 }, 191 { 192 "id": "610c", 193 "name": "Create DualPI2 with packet min_qlen_step", 194 "category": [ 195 "qdisc", 196 "dualpi2" 197 ], 198 "plugins": { 199 "requires": "nsPlugin" 200 }, 201 "setup": [ 202 ], 203 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root dualpi2 min_qlen_step 1", 204 "expExitCode": "0", 205 "verifyCmd": "$TC qdisc show dev $DUMMY", 206 "matchPattern": "qdisc dualpi2 1: root refcnt [0-9]+ limit 10000p .* min_qlen_step 1p", 207 "matchCount": "1", 208 "teardown": [ 209 "$TC qdisc del dev $DUMMY handle 1: root" 210 ] 211 }, 212 { 213 "id": "b4fa", 214 "name": "Create DualPI2 with packet coupling_factor", 215 "category": [ 216 "qdisc", 217 "dualpi2" 218 ], 219 "plugins": { 220 "requires": "nsPlugin" 221 }, 222 "setup": [ 223 ], 224 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root dualpi2 coupling_factor 1", 225 "expExitCode": "0", 226 "verifyCmd": "$TC qdisc show dev $DUMMY", 227 "matchPattern": "qdisc dualpi2 1: root refcnt [0-9]+ limit 10000p .* coupling_factor 1", 228 "matchCount": "1", 229 "teardown": [ 230 "$TC qdisc del dev $DUMMY handle 1: root" 231 ] 232 }, 233 { 234 "id": "37f1", 235 "name": "Create DualPI2 with packet classic_protection", 236 "category": [ 237 "qdisc", 238 "dualpi2" 239 ], 240 "plugins": { 241 "requires": "nsPlugin" 242 }, 243 "setup": [ 244 ], 245 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root dualpi2 classic_protection 0", 246 "expExitCode": "0", 247 "verifyCmd": "$TC qdisc show dev $DUMMY", 248 "matchPattern": "qdisc dualpi2 1: root refcnt [0-9]+ limit 10000p .* classic_protection 0%", 249 "matchCount": "1", 250 "teardown": [ 251 "$TC qdisc del dev $DUMMY handle 1: root" 252 ] 253 } 254] 255