X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fmvpp2%2Fmrvl_mtr.c;h=c07ac95ddc427331b877520826b2fd36d0325679;hb=7fbbc981d54fa59fb5f3242d0bf3210e9d23137b;hp=9adcd9751bcbbf8d84c5e9ac79f4ed232c3f8a3b;hpb=fe4fc7d694386457edb793e41e2422243872c5a8;p=dpdk.git diff --git a/drivers/net/mvpp2/mrvl_mtr.c b/drivers/net/mvpp2/mrvl_mtr.c index 9adcd9751b..c07ac95ddc 100644 --- a/drivers/net/mvpp2/mrvl_mtr.c +++ b/drivers/net/mvpp2/mrvl_mtr.c @@ -1,5 +1,4 @@ -/*- - * SPDX-License-Identifier: BSD-3-Clause +/* SPDX-License-Identifier: BSD-3-Clause * Copyright(c) 2018 Marvell International Ltd. * Copyright(c) 2018 Semihalf. * All rights reserved. @@ -89,6 +88,12 @@ mrvl_meter_profile_add(struct rte_eth_dev *dev, uint32_t meter_profile_id, NULL, "Only srTCM RFC 2697 is supported\n"); + if (profile->packet_mode) + return -rte_mtr_error_set(error, EINVAL, + RTE_MTR_ERROR_TYPE_METER_PROFILE_PACKET_MODE, + NULL, + "Packet mode is not supported\n"); + prof = mrvl_mtr_profile_from_id(priv, meter_profile_id); if (prof) return -rte_mtr_error_set(error, EEXIST, @@ -330,6 +335,12 @@ mrvl_create(struct rte_eth_dev *dev, uint32_t mtr_id, struct mrvl_mtr_profile *profile; struct mrvl_mtr *mtr; + profile = mrvl_mtr_profile_from_id(priv, params->meter_profile_id); + if (!profile) + return -rte_mtr_error_set(error, EINVAL, + RTE_MTR_ERROR_TYPE_METER_PROFILE_ID, + NULL, "Profile id does not exist\n"); + mtr = mrvl_mtr_from_id(priv, mtr_id); if (mtr) return -rte_mtr_error_set(error, EEXIST, @@ -342,12 +353,6 @@ mrvl_create(struct rte_eth_dev *dev, uint32_t mtr_id, RTE_MTR_ERROR_TYPE_UNSPECIFIED, NULL, NULL); - profile = mrvl_mtr_profile_from_id(priv, params->meter_profile_id); - if (!profile) - return -rte_mtr_error_set(error, EINVAL, - RTE_MTR_ERROR_TYPE_METER_PROFILE_ID, - NULL, "Profile id does not exist\n"); - mtr->shared = shared; mtr->mtr_id = mtr_id; mtr->plcr_bit = MRVL_PLCR_BIT_INVALID;