ixgbe: fix multi-process support
authorBruce Richardson <bruce.richardson@intel.com>
Fri, 5 Dec 2014 13:46:22 +0000 (13:46 +0000)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Tue, 16 Dec 2014 23:40:37 +0000 (00:40 +0100)
commit46bc9d7513d16b882a95d7db4cede47522deccfc
tree15a84ef2adb959615160a8e6a413db23c8959640
parent199e6b913ed1500476c1ac79d4437a6b6600ea30
ixgbe: fix multi-process support

When using multiple processes, the TX function used in all processes
should be the same, otherwise the secondary processes cannot transmit
more than tx-ring-size - 1 packets.
To achieve this, we extract out the code to select the ixgbe TX function
to be used into a separate function inside the ixgbe driver, and call
that from a secondary process when it is attaching to an
already-configured NIC.

Testing with symmetric MP app shows that we are able to RX and TX from
both primary and secondary processes once this patch is applied.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Reshma Pattan <reshma.pattan@intel.com>
lib/librte_pmd_ixgbe/ixgbe_ethdev.c
lib/librte_pmd_ixgbe/ixgbe_rxtx.c
lib/librte_pmd_ixgbe/ixgbe_rxtx.h