[dpdk-dev] [PATCH] doc: update port attach and detach in Testpmd Runtime Functions chapter

Tetsuya Mukawa mukawa at igel.co.jp
Tue Jun 16 04:45:36 CEST 2015


On 2015/06/11 23:33, Bernard Iremonger wrote:
> Signed-off-by: Bernard Iremonger <bernard.iremonger at intel.com>
> ---
>  doc/guides/testpmd_app_ug/testpmd_funcs.rst |   96 +++++++++++++++++++++++----
>  1 files changed, 82 insertions(+), 14 deletions(-)
>
> diff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
> index 761172e..fef3ceb 100644
> --- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst
> +++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
> @@ -1,5 +1,5 @@
>  ..  BSD LICENSE
> -    Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
> +    Copyright(c) 2010-2015 Intel Corporation. All rights reserved.
>      All rights reserved.
>  
>      Redistribution and use in source and binary forms, with or without
> @@ -866,31 +866,61 @@ Attach a port specified by pci address or virtual device args.
>  To attach a new pci device, the device should be recognized by kernel first.
>  Then it should be moved under DPDK management.
>  Finally the port can be attached to testpmd.
> -On the other hand, to attach a port created by virtual device, above steps are not needed.
> +
> +For example, to move a pci device using ixgbe under DPDK management:
> +
> +.. code-block:: console
> +
> +    ./tools/dpdk_nic_bind.py --status
> +
> +    Network devices using DPDK-compatible driver
> +    ============================================
> +    <none>
> +
> +    Network devices using kernel driver
> +    ===================================
> +    0000:0a:00.0 '82599ES 10-Gigabit SFI/SFP+ Network Connection' if=eth2 drv=ixgbe unused=
> +
> +    ./tools/dpdk_nic_bind.py -b igb_uio 0000:0a:00.0
> +    ./tools/dpdk_nic_bind.py --status
> +
> +    Network devices using DPDK-compatible driver
> +    ============================================
> +    0000:0a:00.0 '82599ES 10-Gigabit SFI/SFP+ Network Connection' drv=igb_uio unused=
> +
> +To attach a port created by virtual device, above steps are not needed.
>  
>  port attach (identifier)
>  
> -For example, to attach a port whose pci address is 0000:02:00.0.
> +For example, to attach a port whose pci address is 0000:0a:00.0.
>  
>  .. code-block:: console
>  
> -    testpmd> port attach 0000:02:00.0
> +    testpmd> port attach 0000:0a:00.0
>      Attaching a new port...
> -    ... snip ...
> +    EAL: PCI device 0000:0a:00.0 on NUMA socket -1
> +    EAL:   probe driver: 8086:10fb rte_ixgbe_pmd
> +    EAL:   PCI memory mapped at 0x7f83bfa00000
> +    EAL:   PCI memory mapped at 0x7f83bfa80000
> +    PMD: eth_ixgbe_dev_init(): MAC: 2, PHY: 18, SFP+: 5
> +    PMD: eth_ixgbe_dev_init(): port 0 vendorID=0x8086 deviceID=0x10fb
>      Port 0 is attached. Now total ports is 1
>      Done
> +    testpmd>
>  
>  For example, to attach a port created by pcap PMD.
>  
>  .. code-block:: console
>  
> -    testpmd> port attach eth_pcap0,iface=eth0
> +    testpmd> port attach eth_pcap0
>      Attaching a new port...
> -    ... snip ...
> +    PMD: Initializing pmd_pcap for eth_pcap0
> +    PMD: Creating pcap-backed ethdev on numa socket 0
>      Port 0 is attached. Now total ports is 1
>      Done
> +    testpmd>
>  
> -In this case, identifier is "eth_pcap0,iface=eth0".
> +In this case, identifier is "eth_pcap0".
>  This identifier format is the same as "--vdev" format of DPDK applications.
>  
>  port detach
> @@ -899,21 +929,59 @@ port detach
>  Detach a specific port.
>  
>  Before detaching a port, the port should be closed.
> -Also to remove a pci device completely from the system, first detach the port from testpmd.
> -Then the device should be moved under kernel management.
> -Finally the device can be removed using kernel pci hotplug functionality.
> -On the other hand, to remove a port created by a virtual device, above steps are not needed.
>  
>  port detach (port_id)
>  
> -For example, to detach a port 0.
> +For example, to detach a pci device port 0.
> +
> +.. code-block:: console
> +
> +    testpmd> port close 0
> +    Closing ports...
> +    Done
> +    testpmd> port detach 0
> +    Detaching a port...
> +    EAL: PCI device 0000:0a:00.0 on NUMA socket -1
> +    EAL:   remove driver: 8086:10fb rte_ixgbe_pmd
> +    EAL:   PCI memory unmapped at 0x7f83bfa00000
> +    EAL:   PCI memory unmapped at 0x7f83bfa80000
> +    Done
> +    testpmd>
> +
> +For example, to detach a virtual device port 0.
>  
>  .. code-block:: console
>  
> +    testpmd> port close 0
> +    Closing ports...
> +    Done
>      testpmd> port detach 0
>      Detaching a port...
> -    ... snip ...
> +    PMD: Closing pcap ethdev on numa socket 0
> +    Port 'eth_pcap0' is detached. Now total ports is 0
>      Done
> +    testpmd>
> +
> +To remove a pci device completely from the system, first detach the port from testpmd.
> +Then the device should be moved under kernel management.
> +Finally the device can be removed using kernel pci hotplug functionality.
> +
> +For example, to move a pci device under kernel management:
> +
> +.. code-block:: console
> +
> +    ./tools/dpdk_nic_bind.py -b ixgbe 0000:0a:00.0
> +    ./tools/dpdk_nic_bind.py --status
> +
> +    Network devices using DPDK-compatible driver
> +    ============================================
> +    <none>
> +
> +    Network devices using kernel driver
> +    ===================================
> +    0000:0a:00.0 '82599ES 10-Gigabit SFI/SFP+ Network Connection' if=eth2 drv=ixgbe unused=igb_uio
> +
> +To remove a port created by a virtual device, above steps are not needed.
>  
>  port start
>  ~~~~~~~~~~

Acked-by: Tetsuya Mukawa <mukawa at igel.co.jp>



More information about the dev mailing list