[dpdk-dev] doc: update port attach and detach in Testpmd Runtime Functions chapter
Commit Message
Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
---
doc/guides/testpmd_app_ug/testpmd_funcs.rst | 96 +++++++++++++++++++++++----
1 files changed, 82 insertions(+), 14 deletions(-)
Comments
On 2015/06/11 23:33, Bernard Iremonger wrote:
> Signed-off-by: Bernard Iremonger <bernard.iremonger@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@igel.co.jp>
2015-06-16 11:45, Tetsuya Mukawa:
> On 2015/06/11 23:33, Bernard Iremonger wrote:
> > Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
>
> Acked-by: Tetsuya Mukawa <mukawa@igel.co.jp>
Applied, thanks
@@ -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
~~~~~~~~~~