fd-net-device: minor fixes and documentation update for DPDK

This commit is contained in:
Mohit P. Tahiliani
2020-10-01 01:36:45 +05:30
committed by Tom Henderson
parent df89d8fafd
commit 6974252b8a
3 changed files with 22 additions and 8 deletions

View File

@@ -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 DPDKs 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
*****************

View File

@@ -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];

View File

@@ -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;