fd-net-device: minor fixes and documentation update for DPDK
This commit is contained in:
committed by
Tom Henderson
parent
df89d8fafd
commit
6974252b8a
@@ -10,8 +10,16 @@ DPDK NetDevice
|
||||
############# Paragraph (no number)
|
||||
|
||||
|
||||
Data Plane Development Kit (DPDK) is a library hosted by The Linux Foundation
|
||||
to accelerate packet processing workloads (https://www.dpdk.org/).
|
||||
|
||||
The ``DpdkNetDevice`` class provides the implementation of a network device which uses DPDK’s fast packet processing abilities and bypasses the kernel. This class is included in the ``src/fd-net-device model``. The ``DpdkNetDevice`` class inherits the ``FdNetDevice`` class and overrides the functions which are required by |ns3| to interact with DPDK environment.
|
||||
|
||||
The ``DpdkNetDevice`` for |ns3| [Patel2019]_ was developed by Harsh Patel,
|
||||
Hrishikesh Hiraskar and Mohit P. Tahiliani. They were supported by Intel
|
||||
Technology India Pvt. Ltd., Bangalore for this work.
|
||||
|
||||
.. [Patel2019] Harsh Patel, Hrishikesh Hiraskar, Mohit P. Tahiliani, "Extending Network Emulation Support in ns-3 using DPDK", Proceedings of the 2019 Workshop on ns-3, ACM, Pages 17-24, (https://dl.acm.org/doi/abs/10.1145/3321349.3321358)
|
||||
|
||||
Model Description
|
||||
*****************
|
||||
|
||||
@@ -14,6 +14,9 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*
|
||||
* Authors: Harsh Patel <thadodaharsh10@gmail.com>
|
||||
* Hrishikesh Hiraskar <hrishihiraskar@gmail.com>
|
||||
*/
|
||||
|
||||
#include "dpdk-net-device-helper.h"
|
||||
@@ -59,14 +62,14 @@ DpdkNetDeviceHelper::InstallPriv (Ptr<Node> node) const
|
||||
Ptr<DpdkNetDevice> dpdkDevice = DynamicCast<DpdkNetDevice> (device);
|
||||
dpdkDevice->SetDeviceName (m_deviceName);
|
||||
|
||||
// set eal args
|
||||
// Set EAL arguments
|
||||
char **ealArgv = new char*[20];
|
||||
|
||||
// arg[0] is program name (optional)
|
||||
ealArgv[0] = new char[20];
|
||||
strcpy (ealArgv[0], "");
|
||||
|
||||
// logical core usage
|
||||
// Logical core usage
|
||||
ealArgv[1] = new char[20];
|
||||
strcpy (ealArgv[1], "-l");
|
||||
ealArgv[2] = new char[20];
|
||||
|
||||
@@ -14,6 +14,9 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*
|
||||
* Authors: Harsh Patel <thadodaharsh10@gmail.com>
|
||||
* Hrishikesh Hiraskar <hrishihiraskar@gmail.com>
|
||||
*/
|
||||
|
||||
#ifndef DPDK_NET_DEVICE_HELPER_H
|
||||
@@ -44,21 +47,21 @@ public:
|
||||
{}
|
||||
|
||||
/**
|
||||
* Sets list of logical cores to use
|
||||
* \brief Sets list of logical cores to use
|
||||
*
|
||||
* \param lCoreList Comma seperated logical core list. eg: "0,1"
|
||||
* \param lCoreList Comma separated logical core list (e.g., "0,1")
|
||||
*/
|
||||
void SetLCoreList (std::string lCoreList);
|
||||
|
||||
/**
|
||||
* Sets PMD Library to be used for the NIC
|
||||
* \brief Sets PMD Library to be used for the NIC
|
||||
*
|
||||
* \param pmdLibrary The PMD Library
|
||||
*/
|
||||
void SetPmdLibrary (std::string pmdLibrary);
|
||||
|
||||
/**
|
||||
* Sets DPDK Driver to bind NIC to
|
||||
* \brief Sets DPDK Driver to bind NIC to
|
||||
*
|
||||
* \param dpdkDriver The DPDK Driver
|
||||
*/
|
||||
@@ -66,7 +69,7 @@ public:
|
||||
|
||||
protected:
|
||||
/**
|
||||
* This method creates an ns3::FdNetDevice attached to a physical network
|
||||
* \brief This method creates an ns3::FdNetDevice attached to a physical network
|
||||
* interface
|
||||
*
|
||||
* \param node The node to install the device in
|
||||
@@ -80,7 +83,7 @@ protected:
|
||||
std::string m_lCoreList;
|
||||
|
||||
/**
|
||||
* PMD Library to use for NIC
|
||||
* PMD Library to be used for NIC
|
||||
*/
|
||||
std::string m_pmdLibrary;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user