numam-dpdk/examples/ip_pipeline/tmgr.h
Jasvinder Singh 0edf18eee2 sched: add 64-bit values
To support high bandwidth network interfaces, all rates (port,
subport level token bucket and traffic class rates, pipe level
token bucket and traffic class rates) and stats counters defined
in public data structures (rte_sched.h) are modified to support
64 bit counters.

Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
Signed-off-by: Lukasz Krakowiak <lukaszx.krakowiak@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
2019-10-25 18:07:26 +02:00

72 lines
1.4 KiB
C

/* SPDX-License-Identifier: BSD-3-Clause
* Copyright(c) 2010-2018 Intel Corporation
*/
#ifndef _INCLUDE_TMGR_H_
#define _INCLUDE_TMGR_H_
#include <stdint.h>
#include <sys/queue.h>
#include <rte_sched.h>
#include "common.h"
#ifndef TMGR_PIPE_SUBPORT_MAX
#define TMGR_PIPE_SUBPORT_MAX 4096
#endif
#ifndef TMGR_SUBPORT_PROFILE_MAX
#define TMGR_SUBPORT_PROFILE_MAX 256
#endif
#ifndef TMGR_PIPE_PROFILE_MAX
#define TMGR_PIPE_PROFILE_MAX 256
#endif
struct tmgr_port {
TAILQ_ENTRY(tmgr_port) node;
char name[NAME_SIZE];
struct rte_sched_port *s;
uint32_t n_subports_per_port;
};
TAILQ_HEAD(tmgr_port_list, tmgr_port);
int
tmgr_init(void);
struct tmgr_port *
tmgr_port_find(const char *name);
struct tmgr_port_params {
uint64_t rate;
uint32_t n_subports_per_port;
uint32_t frame_overhead;
uint32_t mtu;
uint32_t cpu_id;
};
int
tmgr_subport_profile_add(struct rte_sched_subport_params *p);
int
tmgr_pipe_profile_add(struct rte_sched_pipe_params *p);
struct tmgr_port *
tmgr_port_create(const char *name, struct tmgr_port_params *params);
int
tmgr_subport_config(const char *port_name,
uint32_t subport_id,
uint32_t subport_profile_id);
int
tmgr_pipe_config(const char *port_name,
uint32_t subport_id,
uint32_t pipe_id_first,
uint32_t pipe_id_last,
uint32_t pipe_profile_id);
#endif /* _INCLUDE_TMGR_H_ */