MCPcopy Create free account
hub / github.com/F-Stack/f-stack / nfp_mtr_profile_validate

Function nfp_mtr_profile_validate

dpdk/drivers/net/nfp/nfp_mtr.c:72–104  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

70}
71
72static int
73nfp_mtr_profile_validate(uint32_t mtr_profile_id,
74 struct rte_mtr_meter_profile *profile,
75 struct rte_mtr_error *error)
76{
77 /* Profile must not be NULL. */
78 if (profile == NULL) {
79 return -rte_mtr_error_set(error, EINVAL,
80 RTE_MTR_ERROR_TYPE_METER_PROFILE,
81 NULL, "Meter profile is null");
82 }
83
84 /* Meter profile ID must be valid. */
85 if (mtr_profile_id >= NFP_MAX_PROFILE_CNT) {
86 return -rte_mtr_error_set(error, EINVAL,
87 RTE_MTR_ERROR_TYPE_METER_PROFILE_ID,
88 NULL, "Meter profile id not valid");
89 }
90
91 switch (profile->alg) {
92 case RTE_MTR_SRTCM_RFC2697:
93 case RTE_MTR_TRTCM_RFC2698:
94 return 0;
95 case RTE_MTR_TRTCM_RFC4115:
96 return -rte_mtr_error_set(error, ENOTSUP,
97 RTE_MTR_ERROR_TYPE_METER_PROFILE,
98 NULL, "Unsupported metering algorithm");
99 default:
100 return -rte_mtr_error_set(error, ENOTSUP,
101 RTE_MTR_ERROR_TYPE_METER_PROFILE,
102 NULL, "Unknown metering algorithm");
103 }
104}
105
106static void
107nfp_mtr_profile_config_2698(uint32_t mtr_profile_id,

Callers 1

nfp_mtr_profile_addFunction · 0.85

Calls 1

rte_mtr_error_setFunction · 0.85

Tested by

no test coverage detected