mbuf: implement generic format for sched field
authorReshma Pattan <reshma.pattan@intel.com>
Thu, 20 Dec 2018 12:16:09 +0000 (12:16 +0000)
committerCristian Dumitrescu <cristian.dumitrescu@intel.com>
Fri, 21 Dec 2018 23:22:44 +0000 (00:22 +0100)
commit5d3f72100904b5a2fc6b240e1cc10f1c2dd02267
tree642152627a4c4e4f99fc6bc208f4accf49bd6848
parentc712b0132645eff71bbc11fb18659c5775c1d3d7
mbuf: implement generic format for sched field

This patch implements the changes proposed in the deprecation
notes [1][2].

librte_mbuf changes:
The mbuf->hash.sched field is updated to support generic
definition in line with the ethdev traffic manager and meter APIs.
The new generic format contains: queue ID, traffic class, color.

Added public APIs to set and get these new fields to and from mbuf.

librte_sched changes:
In addtion, following API functions of the sched library have
been modified with an additional parameter of type struct
rte_sched_port to accommodate the changes made to mbuf sched field.
(i)rte_sched_port_pkt_write()
(ii) rte_sched_port_pkt_read_tree_path()

librte_pipeline, qos_sched UT, qos_sched app are updated
to make use of new changes.

Also mbuf->hash.txadapter has been added for eventdev txq,
rte_event_eth_tx_adapter_txq_set and rte_event_eth_tx_adapter_txq_get()
are updated to use mbuf->hash.txadapter.txq.

doc:
Release notes updated.
Removed deprecation notice for mbuf->hash.sched and sched API.

[1] http://mails.dpdk.org/archives/dev/2018-February/090651.html
[2] https://mails.dpdk.org/archives/dev/2018-November/119051.html

Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
Signed-off-by: Reshma Pattan <reshma.pattan@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
Tested-by: Nikhil Rao <nikhil.rao@intel.com>
Reviewed-by: Nikhil Rao <nikhil.rao@intel.com>
14 files changed:
doc/guides/rel_notes/deprecation.rst
doc/guides/rel_notes/release_19_02.rst
examples/qos_sched/app_thread.c
examples/qos_sched/main.c
lib/librte_eventdev/rte_event_eth_tx_adapter.h
lib/librte_mbuf/Makefile
lib/librte_mbuf/meson.build
lib/librte_mbuf/rte_mbuf.h
lib/librte_pipeline/rte_table_action.c
lib/librte_sched/Makefile
lib/librte_sched/meson.build
lib/librte_sched/rte_sched.c
lib/librte_sched/rte_sched.h
test/test/test_sched.c