This occured only when a fatpipe had two (or more) flows with different bandwidth bounds. Only one would get bandwidth and because of early termination in this loop, the constraint was never considered ever again, hence the other flow would stay with a share of 0.
elem_list = &(cnst->element_set);
xbt_swag_foreach(_elem, elem_list) {
elem = (lmm_element_t)_elem;
- if (elem->variable->weight <= 0 || elem->variable->value > 0)
- break;
+ if (elem->variable->weight <= 0) break;
+ if (elem->variable->value > 0) continue;
if (elem->value > 0)
cnst->usage = MAX(cnst->usage, elem->value / elem->variable->weight);
}