• Home
  • Raw
  • Download

Lines Matching full:band

115 	struct dp_meter_band *band;  in ovs_meter_cmd_reply_stats()  local
134 band = meter->bands; in ovs_meter_cmd_reply_stats()
136 for (i = 0; i < meter->n_bands; ++i, ++band) { in ovs_meter_cmd_reply_stats()
142 &band->stats)) in ovs_meter_cmd_reply_stats()
176 /* Currently only DROP band type is supported. */ in ovs_meter_cmd_features()
197 struct dp_meter_band *band; in dp_meter_create() local
226 band = meter->bands; in dp_meter_create()
244 band->type = nla_get_u32(attr[OVS_BAND_ATTR_TYPE]); in dp_meter_create()
245 band->rate = nla_get_u32(attr[OVS_BAND_ATTR_RATE]); in dp_meter_create()
246 if (band->rate == 0) { in dp_meter_create()
251 band->burst_size = nla_get_u32(attr[OVS_BAND_ATTR_BURST]); in dp_meter_create()
258 band->bucket = (band->burst_size + band->rate) * 1000ULL; in dp_meter_create()
259 band_max_delta_t = div_u64(band->bucket, band->rate); in dp_meter_create()
262 band++; in dp_meter_create()
443 * Return true 'meter_id' drop band is triggered. The 'skb' should be
450 struct dp_meter_band *band; in ovs_meter_execute() local
496 band = &meter->bands[i]; in ovs_meter_execute()
497 max_bucket_size = (band->burst_size + band->rate) * 1000LL; in ovs_meter_execute()
499 band->bucket += delta_ms * band->rate; in ovs_meter_execute()
500 if (band->bucket > max_bucket_size) in ovs_meter_execute()
501 band->bucket = max_bucket_size; in ovs_meter_execute()
503 if (band->bucket >= cost) { in ovs_meter_execute()
504 band->bucket -= cost; in ovs_meter_execute()
505 } else if (band->rate > band_exceeded_rate) { in ovs_meter_execute()
506 band_exceeded_rate = band->rate; in ovs_meter_execute()
512 /* Update band statistics. */ in ovs_meter_execute()
513 band = &meter->bands[band_exceeded_max]; in ovs_meter_execute()
514 band->stats.n_packets += 1; in ovs_meter_execute()
515 band->stats.n_bytes += skb->len; in ovs_meter_execute()
517 /* Drop band triggered, let the caller drop the 'skb'. */ in ovs_meter_execute()
518 if (band->type == OVS_METER_BAND_TYPE_DROP) { in ovs_meter_execute()