Lines Matching refs:band
236 struct dp_meter_band *band;
254 band = meter->bands;
256 for (i = 0; i < meter->n_bands; ++i, ++band) {
262 &band->stats))
310 /* Currently only DROP band type is supported. */
332 struct dp_meter_band *band;
360 band = meter->bands;
378 band->type = nla_get_u32(attr[OVS_BAND_ATTR_TYPE]);
379 band->rate = nla_get_u32(attr[OVS_BAND_ATTR_RATE]);
380 if (band->rate == 0) {
385 band->burst_size = nla_get_u32(attr[OVS_BAND_ATTR_BURST]);
392 band->bucket = band->burst_size * 1000ULL;
393 band_max_delta_t = div_u64(band->bucket, band->rate);
396 band++;
589 * Return true 'meter_id' drop band is triggered. The 'skb' should be
597 struct dp_meter_band *band;
650 band = &meter->bands[i];
651 max_bucket_size = band->burst_size * 1000LL;
653 band->bucket += delta_ms * band->rate;
654 if (band->bucket > max_bucket_size)
655 band->bucket = max_bucket_size;
657 if (band->bucket >= cost) {
658 band->bucket -= cost;
659 } else if (band->rate > band_exceeded_rate) {
660 band_exceeded_rate = band->rate;
666 /* Update band statistics. */
667 band = &meter->bands[band_exceeded_max];
668 band->stats.n_packets += 1;
669 band->stats.n_bytes += skb->len;
671 /* Drop band triggered, let the caller drop the 'skb'. */
672 if (band->type == OVS_METER_BAND_TYPE_DROP) {