Lines Matching refs:band
239 struct dp_meter_band *band;
257 band = meter->bands;
259 for (i = 0; i < meter->n_bands; ++i, ++band) {
265 &band->stats))
313 /* Currently only DROP band type is supported. */
335 struct dp_meter_band *band;
363 band = meter->bands;
381 band->type = nla_get_u32(attr[OVS_BAND_ATTR_TYPE]);
382 band->rate = nla_get_u32(attr[OVS_BAND_ATTR_RATE]);
383 if (band->rate == 0) {
388 band->burst_size = nla_get_u32(attr[OVS_BAND_ATTR_BURST]);
395 band->bucket = (band->burst_size + band->rate) * 1000ULL;
396 band_max_delta_t = div_u64(band->bucket, band->rate);
399 band++;
592 * Return true 'meter_id' drop band is triggered. The 'skb' should be
600 struct dp_meter_band *band;
653 band = &meter->bands[i];
654 max_bucket_size = (band->burst_size + band->rate) * 1000LL;
656 band->bucket += delta_ms * band->rate;
657 if (band->bucket > max_bucket_size)
658 band->bucket = max_bucket_size;
660 if (band->bucket >= cost) {
661 band->bucket -= cost;
662 } else if (band->rate > band_exceeded_rate) {
663 band_exceeded_rate = band->rate;
669 /* Update band statistics. */
670 band = &meter->bands[band_exceeded_max];
671 band->stats.n_packets += 1;
672 band->stats.n_bytes += skb->len;
674 /* Drop band triggered, let the caller drop the 'skb'. */
675 if (band->type == OVS_METER_BAND_TYPE_DROP) {