[dpdk-dev] Dynamic port/pipe QoS configuration

Stephen Hemminger stephen at networkplumber.org
Sat Oct 18 11:16:43 CEST 2014


On Fri, 17 Oct 2014 14:59:35 -0700
satish <nsatishbabu at gmail.com> wrote:

> Hi,
> Can someone please respond to below?
> Thank you.
> 
> On Mon, Oct 13, 2014 at 3:54 PM, satish <nsatishbabu at gmail.com> wrote:
> 
> > Hi,
> > We are trying to provide QoS support for one of our clients using
> > rte_sched.
> > In our implementation we are treating each pipe as a customer.
> > So, we can have maximum of 4096 customers per sub-port.
> > Customers(pipe) can be added, deleted or modified dynamically. Each
> > customer can have different profiles.
> >
> > Currently we are using DPDK-v1.6.
> > Can I modify pipe profile during run time using rte_sched_pipe_config ()?
> >
> > Our plan is to have initial configs as below (similar to examples in DPDK)
> > [1] Specify port params at the initialization of port as below
> > static struct rte_sched_port_params port_param = {
> > :
> > :
> > .n_subports_per_port = 1,
> > .n_pipes_per_subport = 4096,
> > .qsize = {64, 64, 64, 64},
> > .pipe_profiles = pipe_profile,
> > .n_pipe_profiles = 1,
> > }
> >
> > [2]
> > static struct rte_sched_subport_params subport_param[] = {
> > {
> > .tb_rate = Link speed (1G/10G..) divided by 8 (bits),
> > .tb_size = 1000000,
> >
> > .tc_rate = {Same as tb_rate, Same as tb_rate, Same as tb_rate, Same as
> > tb_rate},
> > .tc_period = 10,
> > },
> > };
> >
> > [3]
> > static struct rte_sched_pipe_params pipe_profile[] = {
> > { /* Profile #0 */
> > .tb_rate = Link speed (1G/10G..) divided by 8 (bits)/4096 (maximum number
> > of pipes),
> > .tb_size = 1000000,
> >
> > .tc_rate = {pipe's tb_rate, pipe's tb_rate, pipe's tb_rate, pipe's
> > tb_rate},
> > .tc_period = 40,
> >
> > .wrr_weights = {16, 4, 2, 1,  16, 4, 2, 1,  16, 4, 2, 1,  16, 4, 2, 1},
> > },
> > };
> >
> > Our plan here is to initialize the pipe with default profile and modify
> > each pipe based on user configurations.
> > My questions are
> > [a] Can I modify pipe profile during run time using rte_sched_pipe_config
> > ()? (question repeated)
> > If I can modify at pipe level,
> > [b] Can we have different profiles for pipes, With one default profile at
> > initialization?
> > [c] Can we modify port level params without deleting the port using
> > rte_sched_port_config ()?

[a] no
[b] no
[c] no

Read the code.



More information about the dev mailing list