Queue Limit | |
int | rtnl_netem_set_limit (struct rtnl_qdisc *qdisc, int limit) |
Set limit of netem qdisc. | |
int | rtnl_netem_get_limit (struct rtnl_qdisc *qdisc) |
Get limit of netem qdisc. | |
Packet Re-ordering | |
int | rtnl_netem_set_gap (struct rtnl_qdisc *qdisc, int gap) |
Set re-ordering gap of netem qdisc. | |
int | rtnl_netem_get_gap (struct rtnl_qdisc *qdisc) |
Get re-ordering gap of netem qdisc. | |
int | rtnl_netem_set_reorder_probability (struct rtnl_qdisc *qdisc, int prob) |
Set re-ordering probability of netem qdisc. | |
int | rtnl_netem_get_reorder_probability (struct rtnl_qdisc *qdisc) |
Get re-ordering probability of netem qdisc. | |
int | rtnl_netem_set_reorder_correlation (struct rtnl_qdisc *qdisc, int prob) |
Set re-order correlation probability of netem qdisc. | |
int | rtnl_netem_get_reorder_correlation (struct rtnl_qdisc *qdisc) |
Get re-ordering correlation probability of netem qdisc. | |
Packet Loss | |
int | rtnl_netem_set_loss (struct rtnl_qdisc *qdisc, int prob) |
Set packet loss probability of netem qdisc. | |
int | rtnl_netem_get_loss (struct rtnl_qdisc *qdisc) |
Get packet loss probability of netem qdisc. | |
int | rtnl_netem_set_loss_correlation (struct rtnl_qdisc *qdisc, int prob) |
Set packet loss correlation probability of netem qdisc. | |
int | rtnl_netem_get_loss_correlation (struct rtnl_qdisc *qdisc) |
Get packet loss correlation probability of netem qdisc. | |
Packet Duplication | |
int | rtnl_netem_set_duplicate (struct rtnl_qdisc *qdisc, int prob) |
Set packet duplication probability of netem qdisc. | |
int | rtnl_netem_get_duplicate (struct rtnl_qdisc *qdisc) |
Get packet duplication probability of netem qdisc. | |
int | rtnl_netem_set_duplicate_correlation (struct rtnl_qdisc *qdisc, int prob) |
Set packet duplication correlation probability of netem qdisc. | |
int | rtnl_netem_get_duplicate_correlation (struct rtnl_qdisc *qdisc) |
Get packet duplication correlation probability of netem qdisc. | |
Packet Delay | |
int | rtnl_netem_set_delay (struct rtnl_qdisc *qdisc, int delay) |
Set packet delay of netem qdisc. | |
int | rtnl_netem_get_delay (struct rtnl_qdisc *qdisc) |
Get packet delay of netem qdisc. | |
int | rtnl_netem_set_jitter (struct rtnl_qdisc *qdisc, int jitter) |
Set packet delay jitter of netem qdisc. | |
int | rtnl_netem_get_jitter (struct rtnl_qdisc *qdisc) |
Get packet delay jitter of netem qdisc. | |
int | rtnl_netem_set_delay_correlation (struct rtnl_qdisc *qdisc, int prob) |
Set packet delay correlation probability of netem qdisc. | |
int | rtnl_netem_get_delay_correlation (struct rtnl_qdisc *qdisc) |
Get packet delay correlation probability of netem qdisc. |
int rtnl_netem_set_limit | ( | struct rtnl_qdisc * | qdisc, | |
int | limit | |||
) |
qdisc | Netem qdisc to be modified. | |
limit | New limit in bytes. |
Definition at line 165 of file netem.c.
00166 { 00167 struct rtnl_netem *netem; 00168 00169 netem = netem_alloc(qdisc); 00170 if (!netem) 00171 return nl_errno(ENOMEM); 00172 00173 netem->qnm_limit = limit; 00174 netem->qnm_mask |= SCH_NETEM_ATTR_LIMIT; 00175 00176 return 0; 00177 }
int rtnl_netem_get_limit | ( | struct rtnl_qdisc * | qdisc | ) |
qdisc | Netem qdisc. |
Definition at line 184 of file netem.c.
00185 { 00186 struct rtnl_netem *netem; 00187 00188 netem = netem_qdisc(qdisc); 00189 if (netem && (netem->qnm_mask & SCH_NETEM_ATTR_LIMIT)) 00190 return netem->qnm_limit; 00191 else 00192 return nl_errno(ENOENT); 00193 }
int rtnl_netem_set_gap | ( | struct rtnl_qdisc * | qdisc, | |
int | gap | |||
) |
qdisc | Netem qdisc to be modified. | |
gap | New gap in number of packets. |
Definition at line 208 of file netem.c.
00209 { 00210 struct rtnl_netem *netem; 00211 00212 netem = netem_alloc(qdisc); 00213 if (!netem) 00214 return nl_errno(ENOMEM); 00215 00216 netem->qnm_gap = gap; 00217 netem->qnm_mask |= SCH_NETEM_ATTR_GAP; 00218 00219 return 0; 00220 }
int rtnl_netem_get_gap | ( | struct rtnl_qdisc * | qdisc | ) |
qdisc | Netem qdisc. |
Definition at line 227 of file netem.c.
00228 { 00229 struct rtnl_netem *netem; 00230 00231 netem = netem_qdisc(qdisc); 00232 if (netem && (netem->qnm_mask & SCH_NETEM_ATTR_GAP)) 00233 return netem->qnm_gap; 00234 else 00235 return nl_errno(ENOENT); 00236 }
int rtnl_netem_set_reorder_probability | ( | struct rtnl_qdisc * | qdisc, | |
int | prob | |||
) |
qdisc | Netem qdisc to be modified. | |
prob | New re-ordering probability. |
Definition at line 244 of file netem.c.
00245 { 00246 struct rtnl_netem *netem; 00247 00248 netem = netem_alloc(qdisc); 00249 if (!netem) 00250 return nl_errno(ENOMEM); 00251 00252 netem->qnm_ro.nmro_probability = prob; 00253 netem->qnm_mask |= SCH_NETEM_ATTR_RO_PROB; 00254 00255 return 0; 00256 }
int rtnl_netem_get_reorder_probability | ( | struct rtnl_qdisc * | qdisc | ) |
qdisc | Netem qdisc. |
Definition at line 263 of file netem.c.
00264 { 00265 struct rtnl_netem *netem; 00266 00267 netem = netem_qdisc(qdisc); 00268 if (netem && (netem->qnm_mask & SCH_NETEM_ATTR_RO_PROB)) 00269 return netem->qnm_ro.nmro_probability; 00270 else 00271 return nl_errno(ENOENT); 00272 }
int rtnl_netem_set_reorder_correlation | ( | struct rtnl_qdisc * | qdisc, | |
int | prob | |||
) |
qdisc | Netem qdisc to be modified. | |
prob | New re-ordering correlation probability. |
Definition at line 280 of file netem.c.
00281 { 00282 struct rtnl_netem *netem; 00283 00284 netem = netem_alloc(qdisc); 00285 if (!netem) 00286 return nl_errno(ENOMEM); 00287 00288 netem->qnm_ro.nmro_correlation = prob; 00289 netem->qnm_mask |= SCH_NETEM_ATTR_RO_CORR; 00290 00291 return 0; 00292 }
int rtnl_netem_get_reorder_correlation | ( | struct rtnl_qdisc * | qdisc | ) |
qdisc | Netem qdisc. |
Definition at line 299 of file netem.c.
00300 { 00301 struct rtnl_netem *netem; 00302 00303 netem = netem_qdisc(qdisc); 00304 if (netem && (netem->qnm_mask & SCH_NETEM_ATTR_RO_CORR)) 00305 return netem->qnm_ro.nmro_correlation; 00306 else 00307 return nl_errno(ENOENT); 00308 }
int rtnl_netem_set_loss | ( | struct rtnl_qdisc * | qdisc, | |
int | prob | |||
) |
qdisc | Netem qdisc to be modified. | |
prob | New packet loss probability. |
Definition at line 323 of file netem.c.
00324 { 00325 struct rtnl_netem *netem; 00326 00327 netem = netem_alloc(qdisc); 00328 if (!netem) 00329 return nl_errno(ENOMEM); 00330 00331 netem->qnm_loss = prob; 00332 netem->qnm_mask |= SCH_NETEM_ATTR_LOSS; 00333 00334 return 0; 00335 }
int rtnl_netem_get_loss | ( | struct rtnl_qdisc * | qdisc | ) |
qdisc | Netem qdisc. |
Definition at line 342 of file netem.c.
00343 { 00344 struct rtnl_netem *netem; 00345 00346 netem = netem_qdisc(qdisc); 00347 if (netem && (netem->qnm_mask & SCH_NETEM_ATTR_LOSS)) 00348 return netem->qnm_loss; 00349 else 00350 return nl_errno(ENOENT); 00351 }
int rtnl_netem_set_loss_correlation | ( | struct rtnl_qdisc * | qdisc, | |
int | prob | |||
) |
qdisc | Netem qdisc to be modified. | |
prob | New packet loss correlation. |
Definition at line 359 of file netem.c.
00360 { 00361 struct rtnl_netem *netem; 00362 00363 netem = netem_alloc(qdisc); 00364 if (!netem) 00365 return nl_errno(ENOMEM); 00366 00367 netem->qnm_corr.nmc_loss = prob; 00368 netem->qnm_mask |= SCH_NETEM_ATTR_LOSS_CORR; 00369 00370 return 0; 00371 }
int rtnl_netem_get_loss_correlation | ( | struct rtnl_qdisc * | qdisc | ) |
qdisc | Netem qdisc. |
Definition at line 378 of file netem.c.
00379 { 00380 struct rtnl_netem *netem; 00381 00382 netem = netem_qdisc(qdisc); 00383 if (netem && (netem->qnm_mask & SCH_NETEM_ATTR_LOSS_CORR)) 00384 return netem->qnm_corr.nmc_loss; 00385 else 00386 return nl_errno(ENOENT); 00387 }
int rtnl_netem_set_duplicate | ( | struct rtnl_qdisc * | qdisc, | |
int | prob | |||
) |
qdisc | Netem qdisc to be modified. | |
prob | New packet duplication probability. |
Definition at line 402 of file netem.c.
00403 { 00404 struct rtnl_netem *netem; 00405 00406 netem = netem_alloc(qdisc); 00407 if (!netem) 00408 return nl_errno(ENOMEM); 00409 00410 netem->qnm_duplicate = prob; 00411 netem->qnm_mask |= SCH_NETEM_ATTR_DUPLICATE; 00412 00413 return 0; 00414 }
int rtnl_netem_get_duplicate | ( | struct rtnl_qdisc * | qdisc | ) |
qdisc | Netem qdisc. |
Definition at line 421 of file netem.c.
00422 { 00423 struct rtnl_netem *netem; 00424 00425 netem = netem_qdisc(qdisc); 00426 if (netem && (netem->qnm_mask & SCH_NETEM_ATTR_DUPLICATE)) 00427 return netem->qnm_duplicate; 00428 else 00429 return nl_errno(ENOENT); 00430 }
int rtnl_netem_set_duplicate_correlation | ( | struct rtnl_qdisc * | qdisc, | |
int | prob | |||
) |
qdisc | Netem qdisc to be modified. | |
prob | New packet duplication correlation probability. |
Definition at line 438 of file netem.c.
00439 { 00440 struct rtnl_netem *netem; 00441 00442 netem = netem_alloc(qdisc); 00443 if (!netem) 00444 return nl_errno(ENOMEM); 00445 00446 netem->qnm_corr.nmc_duplicate = prob; 00447 netem->qnm_mask |= SCH_NETEM_ATTR_DUP_CORR; 00448 00449 return 0; 00450 }
int rtnl_netem_get_duplicate_correlation | ( | struct rtnl_qdisc * | qdisc | ) |
qdisc | Netem qdisc. |
Definition at line 457 of file netem.c.
00458 { 00459 struct rtnl_netem *netem; 00460 00461 netem = netem_qdisc(qdisc); 00462 if (netem && (netem->qnm_mask & SCH_NETEM_ATTR_DUP_CORR)) 00463 return netem->qnm_corr.nmc_duplicate; 00464 else 00465 return nl_errno(ENOENT); 00466 }
int rtnl_netem_set_delay | ( | struct rtnl_qdisc * | qdisc, | |
int | delay | |||
) |
qdisc | Netem qdisc to be modified. | |
delay | New packet delay in micro seconds. |
Definition at line 481 of file netem.c.
References nl_us2ticks().
00482 { 00483 struct rtnl_netem *netem; 00484 00485 netem = netem_alloc(qdisc); 00486 if (!netem) 00487 return nl_errno(ENOMEM); 00488 00489 netem->qnm_latency = nl_us2ticks(delay); 00490 netem->qnm_mask |= SCH_NETEM_ATTR_LATENCY; 00491 00492 return 0; 00493 }
int rtnl_netem_get_delay | ( | struct rtnl_qdisc * | qdisc | ) |
qdisc | Netem qdisc. |
Definition at line 500 of file netem.c.
References nl_ticks2us().
00501 { 00502 struct rtnl_netem *netem; 00503 00504 netem = netem_qdisc(qdisc); 00505 if (netem && (netem->qnm_mask & SCH_NETEM_ATTR_LATENCY)) 00506 return nl_ticks2us(netem->qnm_latency); 00507 else 00508 return nl_errno(ENOENT); 00509 }
int rtnl_netem_set_jitter | ( | struct rtnl_qdisc * | qdisc, | |
int | jitter | |||
) |
qdisc | Netem qdisc to be modified. | |
jitter | New packet delay jitter in micro seconds. |
Definition at line 517 of file netem.c.
References nl_us2ticks().
00518 { 00519 struct rtnl_netem *netem; 00520 00521 netem = netem_alloc(qdisc); 00522 if (!netem) 00523 return nl_errno(ENOMEM); 00524 00525 netem->qnm_jitter = nl_us2ticks(jitter); 00526 netem->qnm_mask |= SCH_NETEM_ATTR_JITTER; 00527 00528 return 0; 00529 }
int rtnl_netem_get_jitter | ( | struct rtnl_qdisc * | qdisc | ) |
qdisc | Netem qdisc. |
Definition at line 536 of file netem.c.
References nl_ticks2us().
00537 { 00538 struct rtnl_netem *netem; 00539 00540 netem = netem_qdisc(qdisc); 00541 if (netem && (netem->qnm_mask & SCH_NETEM_ATTR_JITTER)) 00542 return nl_ticks2us(netem->qnm_jitter); 00543 else 00544 return nl_errno(ENOENT); 00545 }
int rtnl_netem_set_delay_correlation | ( | struct rtnl_qdisc * | qdisc, | |
int | prob | |||
) |
qdisc | Netem qdisc to be modified. | |
prob | New packet delay correlation probability. |
Definition at line 552 of file netem.c.
00553 { 00554 struct rtnl_netem *netem; 00555 00556 netem = netem_alloc(qdisc); 00557 if (!netem) 00558 return nl_errno(ENOMEM); 00559 00560 netem->qnm_corr.nmc_delay = prob; 00561 netem->qnm_mask |= SCH_NETEM_ATTR_DELAY_CORR; 00562 00563 return 0; 00564 }
int rtnl_netem_get_delay_correlation | ( | struct rtnl_qdisc * | qdisc | ) |
qdisc | Netem qdisc. |
Definition at line 571 of file netem.c.
00572 { 00573 struct rtnl_netem *netem; 00574 00575 netem = netem_qdisc(qdisc); 00576 if (netem && (netem->qnm_mask & SCH_NETEM_ATTR_DELAY_CORR)) 00577 return netem->qnm_corr.nmc_delay; 00578 else 00579 return nl_errno(ENOENT); 00580 }