libnl 2.0
Functions

Network Emulator

Queueing Discipline Modules

For further documentation see http://linux-net.osdl.org/index.php/Netem.

Functions

int netem_build_msg (struct rtnl_qdisc *qdisc, struct nl_msg *msg)

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.

Corruption

int rtnl_netem_set_corruption_probability (struct rtnl_qdisc *qdisc, int prob)
 Set corruption probability of netem qdisc.
int rtnl_netem_get_corruption_probability (struct rtnl_qdisc *qdisc)
 Get corruption probability of netem qdisc.
int rtnl_netem_set_corruption_correlation (struct rtnl_qdisc *qdisc, int prob)
 Set corruption correlation probability of netem qdisc.
int rtnl_netem_get_corruption_correlation (struct rtnl_qdisc *qdisc)
 Get corruption 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_get_delay_distribution_size (struct rtnl_qdisc *qdisc)
 Get the size of the distribution table.
int rtnl_netem_get_delay_distribution (struct rtnl_qdisc *qdisc, int16_t **dist_ptr)
 Get a pointer to the distribution table.
int rtnl_netem_set_delay_distribution (struct rtnl_qdisc *qdisc, const char *dist_type)
 Set the delay distribution.

Function Documentation

int rtnl_netem_set_limit ( struct rtnl_qdisc *  qdisc,
int  limit 
)
Parameters:
qdiscNetem qdisc to be modified.
limitNew limit in bytes.
Returns:
0 on success or a negative error code.

Definition at line 319 of file netem.c.

int rtnl_netem_get_limit ( struct rtnl_qdisc *  qdisc)
Parameters:
qdiscNetem qdisc.
Returns:
Limit in bytes or a negative error code.

Definition at line 338 of file netem.c.

int rtnl_netem_set_gap ( struct rtnl_qdisc *  qdisc,
int  gap 
)
Parameters:
qdiscNetem qdisc to be modified.
gapNew gap in number of packets.
Returns:
0 on success or a negative error code.

Definition at line 362 of file netem.c.

int rtnl_netem_get_gap ( struct rtnl_qdisc *  qdisc)
Parameters:
qdiscNetem qdisc.
Returns:
Re-ordering gap in packets or a negative error code.

Definition at line 381 of file netem.c.

int rtnl_netem_set_reorder_probability ( struct rtnl_qdisc *  qdisc,
int  prob 
)
Parameters:
qdiscNetem qdisc to be modified.
probNew re-ordering probability.
Returns:
0 on success or a negative error code.

Definition at line 398 of file netem.c.

int rtnl_netem_get_reorder_probability ( struct rtnl_qdisc *  qdisc)
Parameters:
qdiscNetem qdisc.
Returns:
Re-ordering probability or a negative error code.

Definition at line 417 of file netem.c.

int rtnl_netem_set_reorder_correlation ( struct rtnl_qdisc *  qdisc,
int  prob 
)
Parameters:
qdiscNetem qdisc to be modified.
probNew re-ordering correlation probability.
Returns:
0 on success or a negative error code.

Definition at line 434 of file netem.c.

int rtnl_netem_get_reorder_correlation ( struct rtnl_qdisc *  qdisc)
Parameters:
qdiscNetem qdisc.
Returns:
Re-ordering correlation probability or a negative error code.

Definition at line 453 of file netem.c.

int rtnl_netem_set_corruption_probability ( struct rtnl_qdisc *  qdisc,
int  prob 
)
Parameters:
qdiscNetem qdisc to be modified.
probNew corruption probability.
Returns:
0 on success or a negative error code.

Definition at line 477 of file netem.c.

int rtnl_netem_get_corruption_probability ( struct rtnl_qdisc *  qdisc)
Parameters:
qdiscNetem qdisc.
Returns:
Corruption probability or a negative error code.

Definition at line 496 of file netem.c.

int rtnl_netem_set_corruption_correlation ( struct rtnl_qdisc *  qdisc,
int  prob 
)
Parameters:
qdiscNetem qdisc to be modified.
probNew corruption correlation probability.
Returns:
0 on success or a negative error code.

Definition at line 513 of file netem.c.

int rtnl_netem_get_corruption_correlation ( struct rtnl_qdisc *  qdisc)
Parameters:
qdiscNetem qdisc.
Returns:
Corruption correlation probability or a negative error code.

Definition at line 532 of file netem.c.

int rtnl_netem_set_loss ( struct rtnl_qdisc *  qdisc,
int  prob 
)
Parameters:
qdiscNetem qdisc to be modified.
probNew packet loss probability.
Returns:
0 on success or a negative error code.

Definition at line 556 of file netem.c.

int rtnl_netem_get_loss ( struct rtnl_qdisc *  qdisc)
Parameters:
qdiscNetem qdisc.
Returns:
Packet loss probability or a negative error code.

Definition at line 575 of file netem.c.

int rtnl_netem_set_loss_correlation ( struct rtnl_qdisc *  qdisc,
int  prob 
)
Parameters:
qdiscNetem qdisc to be modified.
probNew packet loss correlation.
Returns:
0 on success or a negative error code.

Definition at line 592 of file netem.c.

int rtnl_netem_get_loss_correlation ( struct rtnl_qdisc *  qdisc)
Parameters:
qdiscNetem qdisc.
Returns:
Packet loss correlation probability or a negative error code.

Definition at line 611 of file netem.c.

int rtnl_netem_set_duplicate ( struct rtnl_qdisc *  qdisc,
int  prob 
)
Parameters:
qdiscNetem qdisc to be modified.
probNew packet duplication probability.
Returns:
0 on success or a negative error code.

Definition at line 635 of file netem.c.

int rtnl_netem_get_duplicate ( struct rtnl_qdisc *  qdisc)
Parameters:
qdiscNetem qdisc.
Returns:
Packet duplication probability or a negative error code.

Definition at line 654 of file netem.c.

int rtnl_netem_set_duplicate_correlation ( struct rtnl_qdisc *  qdisc,
int  prob 
)
Parameters:
qdiscNetem qdisc to be modified.
probNew packet duplication correlation probability.
Returns:
0 on sucess or a negative error code.

Definition at line 671 of file netem.c.

int rtnl_netem_get_duplicate_correlation ( struct rtnl_qdisc *  qdisc)
Parameters:
qdiscNetem qdisc.
Returns:
Packet duplication correlation probability or a negative error code.

Definition at line 690 of file netem.c.

int rtnl_netem_set_delay ( struct rtnl_qdisc *  qdisc,
int  delay 
)
Parameters:
qdiscNetem qdisc to be modified.
delayNew packet delay in micro seconds.
Returns:
0 on success or a negative error code.

Definition at line 714 of file netem.c.

References nl_us2ticks().

int rtnl_netem_get_delay ( struct rtnl_qdisc *  qdisc)
Parameters:
qdiscNetem qdisc.
Returns:
Packet delay in micro seconds or a negative error code.

Definition at line 733 of file netem.c.

References nl_ticks2us().

int rtnl_netem_set_jitter ( struct rtnl_qdisc *  qdisc,
int  jitter 
)
Parameters:
qdiscNetem qdisc to be modified.
jitterNew packet delay jitter in micro seconds.
Returns:
0 on success or a negative error code.

Definition at line 750 of file netem.c.

References nl_us2ticks().

int rtnl_netem_get_jitter ( struct rtnl_qdisc *  qdisc)
Parameters:
qdiscNetem qdisc.
Returns:
Packet delay jitter in micro seconds or a negative error code.

Definition at line 769 of file netem.c.

References nl_ticks2us().

int rtnl_netem_set_delay_correlation ( struct rtnl_qdisc *  qdisc,
int  prob 
)
Parameters:
qdiscNetem qdisc to be modified.
probNew packet delay correlation probability.

Definition at line 785 of file netem.c.

int rtnl_netem_get_delay_correlation ( struct rtnl_qdisc *  qdisc)
Parameters:
qdiscNetem qdisc.
Returns:
Packet delay correlation probability or a negative error code.

Definition at line 804 of file netem.c.

int rtnl_netem_get_delay_distribution_size ( struct rtnl_qdisc *  qdisc)
Parameters:
qdiscNetem qdisc.
Returns:
Distribution table size or a negative error code.

Definition at line 820 of file netem.c.

int rtnl_netem_get_delay_distribution ( struct rtnl_qdisc *  qdisc,
int16_t **  dist_ptr 
)
Parameters:
qdiscNetem qdisc.
dist_ptrThe pointer to set.
Returns:
Negative error code on failure or 0 on success.

Definition at line 837 of file netem.c.

int rtnl_netem_set_delay_distribution ( struct rtnl_qdisc *  qdisc,
const char *  dist_type 
)

Latency/jitter must be set before applying.

Parameters:
qdiscNetem qdisc.
dist_typeThe name of the distribution (type, file, path/file).
Returns:
0 on success, error code on failure.

Definition at line 856 of file netem.c.