> -----Original Message-----
> From: Mattias Rönnblom [mailto:mattias.ronnb...@ericsson.com]
> Sent: Saturday, December 15, 2018 2:16 PM
> To: Ananyev, Konstantin <konstantin.anan...@intel.com>; Pattan, Reshma
> <reshma.pat...@intel.com>; dev@dpdk.org; Dumitrescu, Cristian
> <cristian.dumitre...@intel.com>; jerin.ja...@caviumnetworks.com; Singh,
> Jasvinder <jasvinder.si...@intel.com>
> Subject: Re: [dpdk-dev] [PATCH v2 2/3] eal: add new rte color definition
> 
> On 2018-12-15 00:35, Ananyev, Konstantin wrote:
> > Hi Reshma,
> >
> >> diff --git a/lib/librte_eal/common/include/rte_color.h
> b/lib/librte_eal/common/include/rte_color.h
> >> new file mode 100644
> >> index 000000000..f4387071b
> >> --- /dev/null
> >> +++ b/lib/librte_eal/common/include/rte_color.h
> >> @@ -0,0 +1,18 @@
> >> +/* SPDX-License-Identifier: BSD-3-Clause
> >> + * Copyright(c) 2018 Intel Corporation
> >> + */
> >> +
> >> +#ifndef _RTE_COLOR_H_
> >> +#define _RTE_COLOR_H_
> >> +
> >> +/**
> >> + * Color
> >> + */
> >> +enum rte_color {
> >> +  RTE_COLOR_GREEN = 0, /**< Green */
> >> +  RTE_COLOR_YELLOW, /**< Yellow */
> >> +  RTE_COLOR_RED, /**< Red */
> >> +  RTE_COLORS /**< Number of colors */
> >> +};
> >
> > Does it really belong to EAL?
> > Konstantin
> >
> 
> If this is supposed to be a generic type, we definitely need
> RTE_COLOR_BLACK as well, or RTE_COLOR_VERY_VERY_DARK_GREY.
> 
> /Batman

Hi Mattias,

The packet color values of (green, yellow, red) are not my invention, they are 
part of the IETF DiffServ foundation and standardized by a long list of RFCs, 
with just a few of them listed below:

        RFC 2697 - srTCM
        RFC 2698 - trTCM
        RFC 4115 - trTCM
        RFC 2597 - Assured Forwarding

It is also easy to check in the documentation from Cisco, Juniper and other 
router vendors that the packet color values used for traffic metering and 
policing are always (green, yellow, red).

So, bottom line:
        1. This is a formal as well as a de facto standard, to me it makes no 
sense for DPDK to do it differently. Why not align to the formal and de facto 
industry standards?
        2. DPDK already recognized this in a number of its APIs, such as: 
rte_meter, ethdev rte_mtr, ethdev rte_tm, rte_sched. This patch is simply a 
cosmetic consolidation of the packet color definition for easier integration of 
all these API, it does not propose any API change. If you want to change any of 
these APIs, please describe the motivation and send a separate patch for review.

Regards,
Cristian


Reply via email to