/* set defaults */
set_percent(&gemodel.r, 1.);
set_percent(&gemodel.h, 0);
- set_percent(&gemodel.k1, 1.);
+ set_percent(&gemodel.k1, 0);
loss_type = NETEM_LOSS_GE;
if (!NEXT_IS_NUMBER())
explain1("loss gemodel h");
return -1;
}
+ /* netem option is "1-h" but kernel
+ * expects "h".
+ */
+ gemodel.h = max_percent_value - gemodel.h;
if (!NEXT_IS_NUMBER())
continue;
}
if (gemodel) {
- fprintf(f, "loss gemodel p %s",
+ fprintf(f, " loss gemodel p %s",
sprint_percent(gemodel->p, b1));
fprintf(f, " r %s", sprint_percent(gemodel->r, b1));
- fprintf(f, " 1-h %s", sprint_percent(gemodel->h, b1));
+ fprintf(f, " 1-h %s", sprint_percent(max_percent_value -
+ gemodel->h, b1));
fprintf(f, " 1-k %s", sprint_percent(gemodel->k1, b1));
}