dpdk: fix format device name using wrong index 78/38778/2
authorDaniel Ding <danieldin95@163.com>
Mon, 8 May 2023 01:59:01 +0000 (09:59 +0800)
committerDave Wallace <dwallacelf@gmail.com>
Fri, 19 May 2023 19:53:08 +0000 (19:53 +0000)
commitfc70a664567021491ba62dec8b232d357e8d9494
tree61f9aac363a0ce84835cefdf67a7d743bc6373b3
parentbc4d5b0aceddc81af52afc46ce8e646749888c71
dpdk: fix format device name using wrong index

When I setup vpp by netvsc driver, occurs the following crash:

(format_dpdk_device_name) assertion `(i) < vec_len (dm->devices)' fails

vnet[100166]: #6  0x00007f434d651f6a _clib_error + 0x2da
vnet[100166]: #7  0x00007f430b4bef64 format_dpdk_device_name + 0xf4
vnet[100166]: #8  0x00007f434d6555f3 do_percent + 0xee3
vnet[100166]: #9  0x00007f434d654359 va_format + 0xb9
vnet[100166]: #10 0x00007f434d7ac16e vlib_log + 0x3ce
vnet[100166]: #11 0x00007f430b49ebe3 dpdk_device_start + 0x193
vnet[100166]: #12 0x00007f430b4aa233 dpdk_interface_admin_up_down + 0x163
vnet[100166]: #13 0x00007f434d988fc8 vnet_sw_interface_set_flags_helper + 0x378
vnet[100166]: #14 0x00007f434d989338 vnet_sw_interface_set_flags + 0x48

This patch fix it by device_index as a index for devices vec, and not
dpdk port_id.

Type: fix
Change-Id: I84c46616d06117c9ae3b2c7d0473050f1b8ded5f
Signed-off-by: Daniel Ding <danieldin95@163.com>
src/plugins/dpdk/device/common.c