git.droids-corp.org
/
dpdk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
net/bnxt: fix Rx queue count
[dpdk.git]
/
drivers
/
net
/
softnic
/
rte_eth_softnic_tm.c
diff --git
a/drivers/net/softnic/rte_eth_softnic_tm.c
b/drivers/net/softnic/rte_eth_softnic_tm.c
index
725b023
..
90baba1
100644
(file)
--- a/
drivers/net/softnic/rte_eth_softnic_tm.c
+++ b/
drivers/net/softnic/rte_eth_softnic_tm.c
@@
-1147,10
+1147,15
@@
update_subport_tc_rate(struct rte_eth_dev *dev,
struct tm_node *ns = np->parent_node;
uint32_t subport_id = tm_node_subport_id(dev, ns);
struct tm_params *t = &p->soft.tm.params;
struct tm_node *ns = np->parent_node;
uint32_t subport_id = tm_node_subport_id(dev, ns);
struct tm_params *t = &p->soft.tm.params;
- uint32_t subport_profile_id
= t->subport_to_profile[subport_id]
;
+ uint32_t subport_profile_id;
struct tm_shaper_profile *sp_old = tm_shaper_profile_search(dev,
ss->shaper_profile_id);
struct tm_shaper_profile *sp_old = tm_shaper_profile_search(dev,
ss->shaper_profile_id);
+ if (subport_id >= TM_MAX_SUBPORT_PROFILE)
+ return -1;
+
+ subport_profile_id = t->subport_to_profile[subport_id];
+
/* Derive new subport configuration. */
memcpy(&subport_profile,
&p->soft.tm.params.subport_profile[subport_profile_id],
/* Derive new subport configuration. */
memcpy(&subport_profile,
&p->soft.tm.params.subport_profile[subport_profile_id],
@@
-2370,6
+2375,9
@@
subport_profile_get(struct rte_eth_dev *dev, struct tm_node *np)
struct tm_params *t = &p->soft.tm.params;
uint32_t subport_id = tm_node_subport_id(dev, np->parent_node);
struct tm_params *t = &p->soft.tm.params;
uint32_t subport_id = tm_node_subport_id(dev, np->parent_node);
+ if (subport_id >= TM_MAX_SUBPORT_PROFILE)
+ return NULL;
+
return &t->subport_profile[subport_id];
}
return &t->subport_profile[subport_id];
}
@@
-3024,6
+3032,9
@@
update_subport_rate(struct rte_eth_dev *dev,
struct rte_sched_subport_profile_params profile1;
uint32_t subport_profile_id;
struct rte_sched_subport_profile_params profile1;
uint32_t subport_profile_id;
+ if (profile0 == NULL)
+ return -1;
+
/* Derive new pipe profile. */
memcpy(&profile1, profile0, sizeof(profile1));
profile1.tb_rate = sp->params.peak.rate;
/* Derive new pipe profile. */
memcpy(&profile1, profile0, sizeof(profile1));
profile1.tb_rate = sp->params.peak.rate;