[dpdk-dev] [PATCH] usertools/dpdk-devbind.py: add support for wind river avp device
Zhang, Xiaohua
Xiaohua.Zhang at windriver.com
Tue Feb 13 02:43:06 CET 2018
Hi Anatoly,
AVP is a virtual NIC type, so you are right.
When using the AVP device, you will see the following information from lspci (example).
Slot: 0000:00:05.0
Class: Unclassified device [00ff]
Vendor: Red Hat, Inc [1af4]
Device: Virtio memory balloon [1002]
SVendor: Red Hat, Inc [1af4]
SDevice: Device [0005]
PhySlot: 5
Driver: virtio-pci
It is a little different with the standard "Ethernet" controller, such as "Class: Ethernet controller [0200]".
Theoretically, the AVP is a memory based device. That's the reason, I put it as separate catalog.
BR.
Xiaohua Zhang
-----Original Message-----
From: Burakov, Anatoly [mailto:anatoly.burakov at intel.com]
Sent: Monday, February 12, 2018 6:13 PM
To: Zhang, Xiaohua; dev at dpdk.org
Subject: Re: [dpdk-dev] [PATCH] usertools/dpdk-devbind.py: add support for wind river avp device
On 11-Feb-18 9:52 AM, Xiaohua Zhang wrote:
> Signed-off-by: Xiaohua Zhang <xiaohua.zhang at windriver.com>
> ---
> usertools/dpdk-devbind.py | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/usertools/dpdk-devbind.py b/usertools/dpdk-devbind.py
> index 18d9386..f488318 100755
> --- a/usertools/dpdk-devbind.py
> +++ b/usertools/dpdk-devbind.py
> @@ -22,11 +22,14 @@
> 'SVendor': None, 'SDevice': None}
> cavium_pkx = {'Class': '08', 'Vendor': '177d', 'Device': 'a0dd,a049',
> 'SVendor': None, 'SDevice': None}
> +avp_vnic = {'Class': '05', 'Vendor': '1af4', 'Device': '1110',
> + 'SVendor': None, 'SDevice': None}
>
> network_devices = [network_class, cavium_pkx]
> crypto_devices = [encryption_class, intel_processor_class]
> eventdev_devices = [cavium_sso]
> mempool_devices = [cavium_fpa]
> +avp_devices = [avp_vnic]
>
> # global dict ethernet devices present. Dictionary indexed by PCI address.
> # Each device within this is itself a dictionary of device
> properties @@ -565,6 +568,9 @@ def show_status():
> if status_dev == "mempool" or status_dev == "all":
> show_device_status(mempool_devices, "Mempool")
>
> + if status_dev == "avp" or status_dev == "all":
> + show_device_status(avp_devices, "AVP")
> +
> def parse_args():
> '''Parses the command-line arguments given by the user and takes the
> appropriate action for each'''
> @@ -638,6 +644,7 @@ def do_arg_actions():
> get_device_details(crypto_devices)
> get_device_details(eventdev_devices)
> get_device_details(mempool_devices)
> + get_device_details(avp_devices)
> show_status()
>
>
> @@ -650,6 +657,7 @@ def main():
> get_device_details(crypto_devices)
> get_device_details(eventdev_devices)
> get_device_details(mempool_devices)
> + get_device_details(avp_devices)
> do_arg_actions()
>
> if __name__ == "__main__":
>
Is there any particular reason why this device appears in its own category, rather than being added to one of the existing device classes?
I'm not familiar with AVP but it looks like it's a NIC, so shouldn't it be in network_devices category?
--
Thanks,
Anatoly
More information about the dev
mailing list