summaryrefslogtreecommitdiffstats
path: root/VNFs
diff options
context:
space:
mode:
authorXavier Simonart <xavier.simonart@intel.com>2018-02-27 23:44:51 +0100
committerXavier Simonart <xavier.simonart@intel.com>2018-02-27 23:44:51 +0100
commit26f14f6f6f11892fbed6d6e199c5d73f3d1ce70a (patch)
tree374a9ce69d691d71bfcac8c0c0d8409ec7dea872 /VNFs
parent167e6d113d61a4a75812d0df71843b0ab8b88784 (diff)
Fix potential crash if link speed is null
Link_speed could be null when prox started with the ports down. This was potentially causing a crash. Another task will need to update link speed when the port come up. Failing to do this results in less accurate latencies (no extrapolation) Change-Id: I597b68e30117e6edb9ccb4732c2acedd5eb8ac80 Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
Diffstat (limited to 'VNFs')
-rw-r--r--VNFs/DPPD-PROX/handle_gen.c2
-rw-r--r--VNFs/DPPD-PROX/handle_lat.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/VNFs/DPPD-PROX/handle_gen.c b/VNFs/DPPD-PROX/handle_gen.c
index 515c1dac..9bb34fc7 100644
--- a/VNFs/DPPD-PROX/handle_gen.c
+++ b/VNFs/DPPD-PROX/handle_gen.c
@@ -1145,7 +1145,7 @@ static void start(struct task_base *tbase)
if (tbase->l3.tmaster) {
register_all_ip_to_ctrl_plane(task);
}
- if (task->port) {
+ if (task->port && task->port->link_speed) {
// task->port->link->speed reports the link speed in Mbps e.g. 40k for a 40 Gbps NIC
// task->link_speed reported link speed in Bytes per sec.
task->link_speed = task->port->link_speed * 125000L;
diff --git a/VNFs/DPPD-PROX/handle_lat.c b/VNFs/DPPD-PROX/handle_lat.c
index 3962b21d..7901173d 100644
--- a/VNFs/DPPD-PROX/handle_lat.c
+++ b/VNFs/DPPD-PROX/handle_lat.c
@@ -682,7 +682,7 @@ static void lat_start(struct task_base *tbase)
{
struct task_lat *task = (struct task_lat *)tbase;
- if (task->port) {
+ if (task->port && task->port->link_speed) {
// task->port->link->speed reports the link speed in Mbps e.g. 40k for a 40 Gbps NIC
// task->link_speed reported link speed in Bytes per sec.
task->link_speed = task->port->link_speed * 125000L;