[spp] SPP PCIe hotplug changes for SPP
Choi, Sy Jong
sy.jong.choi at intel.com
Mon Feb 20 09:37:00 CET 2017
Hi Everyone,
New Architecture for SPP to support PCIe hotplug.
Based on DPDK testpmd here are the steps you need to perform PCIe hotplug
1) Detaching : port stop, port close and then port detach
2) Attaching : port attach and then port start
In order to support PCI hotplug, we need to follow DPDK. And here are a few limitation with SPP primary secondary configuration:-
Limitation 1:-
Port information created by primary, hotplug changes port information. So attach and detaching at primary, will not update port information on secondary process.
- Now primary will attaching and detaching the port, because primary owns the port
- We need to put in place some rediscovery in secondary processes.
Limitation 2:
To update the port information on the secondary process, it require to us to reinit dpdk eal, which dpdk eal init can only be executed once.
- Multi thread will not solve the problem.
- We will use fork, so we separated the communication part and the datapath part.
The new spp primary will attach/detach port, secondary will reinit to rediscover port changes.
+----+----------+-------------------------------------------------+
| | SPP NFV | |
| +----------+ +--------------+ fork +--------------+ |
| | Parent | | Child | |
| | Comm - spp.py| | dpdk | |
| | Commands | | init | |
| | share mem to | | fwd | |
| | control child| | | |
+-------------------+--------------+-----------+--------------+---+
Code changes will be posted in the following emails.
Regards,
Choi, Sy Jong
Platform Application Engineer
More information about the spp
mailing list