]> git.proxmox.com Git - mirror_ovs.git/blame - ofproto/pinsched.h
ofproto-dpif: Fix for recirc issue with mpls traffic with dp_hash
[mirror_ovs.git] / ofproto / pinsched.h
CommitLineData
064af421 1/*
a413195e 2 * Copyright (c) 2008, 2009, 2010, 2011, 2012, 2013, 2014 Nicira, Inc.
064af421 3 *
a14bc59f
BP
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at:
064af421 7 *
a14bc59f
BP
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
064af421
BP
15 */
16
17#ifndef PINSCHED_H
18#define PINSCHED_H_H 1
19
20#include <stdint.h>
4e022ec0 21#include "flow.h"
064af421 22
ca6ba700 23struct ovs_list;
064af421 24struct ofpbuf;
064af421 25
9b45d7f5 26struct pinsched *pinsched_create(int rate_limit, int burst_limit);
79c9f2ee
BP
27void pinsched_get_limits(const struct pinsched *,
28 int *rate_limit, int *burst_limit);
064af421
BP
29void pinsched_set_limits(struct pinsched *, int rate_limit, int burst_limit);
30void pinsched_destroy(struct pinsched *);
4e022ec0 31void pinsched_send(struct pinsched *, ofp_port_t port_no, struct ofpbuf *,
ca6ba700
TG
32 struct ovs_list *txq);
33void pinsched_run(struct pinsched *, struct ovs_list *txq);
064af421
BP
34void pinsched_wait(struct pinsched *);
35
a413195e
BP
36struct pinsched_stats {
37 unsigned int n_queued; /* # currently queued to send. */
38 unsigned long long n_normal; /* # txed w/o rate limit queuing. */
39 unsigned long long n_limited; /* # queued for rate limiting. */
40 unsigned long long n_queue_dropped; /* # dropped due to queue overflow. */
41};
42
43void pinsched_get_stats(const struct pinsched *, struct pinsched_stats *);
0d085684 44
064af421 45#endif /* pinsched.h */