X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=ofproto%2Fpinsched.c;h=d749ee4e6f912cd71f1d75873cc45e94626c7533;hb=3df3373283d794c03e1cd18585089d9f658ebd8c;hp=bc7bd1100f9c9efbcfeb2352e22e00922aa6bbe6;hpb=7f3adc00f8d9cc0e035cd58817a28301e62eaec8;p=openvswitch diff --git a/ofproto/pinsched.c b/ofproto/pinsched.c index bc7bd110..d749ee4e 100644 --- a/ofproto/pinsched.c +++ b/ofproto/pinsched.c @@ -70,7 +70,7 @@ dequeue_packet(struct pinsched *ps, struct ovs_queue *q, struct ofpbuf *packet = queue_pop_head(q); if (!q->n) { free(q); - port_array_set(&ps->queues, port_no, NULL); + port_array_delete(&ps->queues, port_no); } ps->n_queued--; return packet; @@ -230,7 +230,7 @@ pinsched_create(int rate_limit, int burst_limit, struct switch_status *ss) { struct pinsched *ps; - ps = xcalloc(1, sizeof *ps); + ps = xzalloc(sizeof *ps); port_array_init(&ps->queues); ps->n_queued = 0; ps->last_tx_port = PORT_ARRAY_SIZE; @@ -267,6 +267,14 @@ pinsched_destroy(struct pinsched *ps) } } +void +pinsched_get_limits(const struct pinsched *ps, + int *rate_limit, int *burst_limit) +{ + *rate_limit = ps->rate_limit; + *burst_limit = ps->burst_limit; +} + void pinsched_set_limits(struct pinsched *ps, int rate_limit, int burst_limit) {