summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Ribas <jonathan.ribas@fraudbuster.mobi>2019-05-31 17:00:52 +0200
committerJonathan Ribas <jonathan.ribas@fraudbuster.mobi>2019-05-31 17:00:52 +0200
commit95b00765c5a6c0043ae3bcc9d9bd14f20434d26b (patch)
tree8dd37ed26efcd9e078f590bb60028c64783e5d98
parentfe8ef19da4fd1b86390b7be10cc66d2497ce3212 (diff)
downloaddpdk-burst-replay-95b00765c5a6c0043ae3bcc9d9bd14f20434d26b.zip
dpdk-burst-replay-95b00765c5a6c0043ae3bcc9d9bd14f20434d26b.tar.gz
dpdk-burst-replay-95b00765c5a6c0043ae3bcc9d9bd14f20434d26b.tar.xz
First step of a propre documentation.. The introduction and contact pages looks fine.
Now I have to revamp/fill the other pages (on going:).
-rw-r--r--docs/src/contact.rst22
-rw-r--r--docs/src/how-to-contribute.rst24
-rw-r--r--docs/src/index.rst9
-rw-r--r--docs/src/introduction.rst93
-rw-r--r--docs/src/quick-start-guide.rst45
-rw-r--r--docs/src/readme.rst68
-rw-r--r--docs/src/todo-list.rst18
-rw-r--r--docs/src/user-guide.rst22
8 files changed, 231 insertions, 70 deletions
diff --git a/docs/src/contact.rst b/docs/src/contact.rst
new file mode 100644
index 0000000..c2af920
--- /dev/null
+++ b/docs/src/contact.rst
@@ -0,0 +1,22 @@
+.. dpdk-burst-replay: BSD-3-Clause
+ Copyright 2018 Jonathan Ribas, FraudBuster. All rights reserved.
+
+.. _contact:
+
+Contact
+=======
+
+Emails
+------
+
+Please use the users@dpdk.org and dev@dpdk.org mailing lists and specify
+burst-replay on the subject.
+
+Here are my personal email addresses:
+
+jonathan.ribas@fraudbuster.mobi / contact.jonathanribas@gmail.com
+
+IRC
+---
+
+#dpdk-burst-replay on freenode is the official dedicated place to chat.
diff --git a/docs/src/how-to-contribute.rst b/docs/src/how-to-contribute.rst
new file mode 100644
index 0000000..6235f8d
--- /dev/null
+++ b/docs/src/how-to-contribute.rst
@@ -0,0 +1,24 @@
+.. dpdk-burst-replay: BSD-3-Clause
+ Copyright 2018 Jonathan Ribas, FraudBuster. All rights reserved.
+
+.. _how-to-contribute:
+
+How to contribute
+=================
+
+TODO
+
+Bugzilla
+--------
+
+TODO
+
+Coding style
+------------
+
+TODO
+
+Sending patchs
+--------------
+
+TODO
diff --git a/docs/src/index.rst b/docs/src/index.rst
index 16ad52e..e39408b 100644
--- a/docs/src/index.rst
+++ b/docs/src/index.rst
@@ -7,6 +7,11 @@ dpdk-burst-replay's documentation
Contents:
.. toctree::
- :maxdepth: 1
+ :maxdepth: 2
- readme
+ introduction
+ quick-start-guide
+ user-guide
+ how-to-contribute
+ todo-list
+ contact
diff --git a/docs/src/introduction.rst b/docs/src/introduction.rst
new file mode 100644
index 0000000..50de12c
--- /dev/null
+++ b/docs/src/introduction.rst
@@ -0,0 +1,93 @@
+.. dpdk-burst-replay: BSD-3-Clause
+ Copyright 2019 Jonathan Ribas, FraudBuster. All rights reserved.
+
+.. _introduction:
+
+Introduction
+============
+
+The tool is designed to provide high DPDK performances to burst any pcap dump on
+a single or multiple NIC port(s), while keeping it simple to use.
+
+It's a Linux command line tool, wrote in C and compiling on both x86_64 and arm64.
+It mainly use DPDK, but rely also on libnuma, which are the only tool dependencies.
+
+The tool usage tend to looks like tcpreplay in term of simplicity. Only two args are required:
+one pcap file and one DPDK port address to replay on:
+
+::
+
+ $> dpdk-replay foo.pcap 04:00.0
+
+
+What can it do?
+---------------
+
+* Load a pcap file: standard input format for all common dumping/analyzing/replaying tools like
+ tcpdump, tcpreplay, wireshark etc...
+* Put all loaded packets in cache(s) to avoid reading the pcap file while its been replays.
+* Burst packets simultaneously on multiple ports (ATM, only NICs on the same NUMA can be addressed).
+* Run the same pcap several times in a row. It can be useful to extend a stress test without having
+ to provide a bigger pcap file.
+* At the end, some stats are displayed for each ports (time spent, pkts-per-sec, total bitrate etc...)
+* Abstract DPDK stack: All EAL/mempool/ports initializations are automatically handled.
+
+
+Ok, let's start!
+----------------
+
+If you want try it, please have a look on the :ref:`quick-start-guide` and :ref:`user-guide`:
+
+.. toctree::
+ :maxdepth: 2
+
+ quick-start-guide
+ user-guide
+
+If you're looking for the GIT, have a look `here <https://git.dpdk.org/apps/dpdk-burst-replay/>`_.
+
+And if you find a bug, want to share a suggestion or see what are the opened issues,
+please check the `Bugzilla <https://bugs.dpdk.org/describecomponents.cgi?product=dpdk-burst-replay>`_.
+
+
+FOSDEM 2019 presentation
+------------------------
+
+A presentation have been made at FOSDEM'19. You can find bellow the event info, slides and video links:
+
+* Event info: `FOSDEM site <https://fosdem.org/2019/schedule/event/dpdk_burst_replay/>`_.
+* Video: `FOSDEM <https://video.fosdem.org/2019/H.2214/dpdk_burst_replay.mp4>`_ or `Youtube <https://www.youtube.com/watch?v=j56Y-SPRDE0>`_.
+* Slides: `PDF file <https://fosdem.org/2019/schedule/event/dpdk_burst_replay/attachments/slides/2874/export/events/attachments/dpdk_burst_replay/slides/2874/presentation.pdf>`_.
+
+
+BSD Licence
+-----------
+
+BSD 3-Clause License
+
+Copyright (c) 2018, Jonathan Ribas, FraudBuster. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+
+* Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+* Neither the name of the copyright holder nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/docs/src/quick-start-guide.rst b/docs/src/quick-start-guide.rst
new file mode 100644
index 0000000..9a67df4
--- /dev/null
+++ b/docs/src/quick-start-guide.rst
@@ -0,0 +1,45 @@
+.. dpdk-burst-replay: BSD-3-Clause
+ Copyright 2018 Jonathan Ribas, FraudBuster. All rights reserved.
+
+.. _quick-start-guide:
+
+Quick start guide
+=================
+
+Install dependencies
+--------------------
+
+With your distro package manager, install these packages (names can change a bit):
+
+* dpdk-dev (obsly)
+* libnuma-dev
+
+::
+
+ sudo apt-get install dpdk-dev libnuma-dev
+
+NB: libpcap is not required, as dpdk-replay process pcap files manually.
+
+To manually compile with a custom DPDK version, see :ref:`installing_custom_dpdk_version`.
+
+Compiling and installing it
+---------------------------
+
+Standard way, using autotools::
+
+ autoreconf -i && ./configure && make && sudo make install
+
+OR, using a static makefile with DPDK's env and conf::
+
+ RTE_SDK=<RTE_SDK_PATH> make -f DPDK_Makefile && sudo cp build/dpdk-replay /usr/bin
+
+Launching it
+------------
+
+::
+
+ dpdk-replay [--nbruns NB] [--numacore 0|1] FILE NIC_ADDR[,NIC_ADDR...]
+
+Example::
+
+ dpdk-replay --nbruns 1000 --numacore 0 foobar.pcap 04:00.0,04:00.1,04:00.2,04:00.3
diff --git a/docs/src/readme.rst b/docs/src/readme.rst
deleted file mode 100644
index 0f94d06..0000000
--- a/docs/src/readme.rst
+++ /dev/null
@@ -1,68 +0,0 @@
-.. dpdk-burst-replay: BSD-3-Clause
- Copyright 2018 Jonathan Ribas, FraudBuster. All rights reserved.
-
-.. _readme:
-
-README
-======
-
-Introduction
-------------
-
-The tool is designed to provide high DPDK performances to burst any pcap dump on
-a single or multiple NIC port(s).
-
-To do so, the pcap files will be cached on hugepages before being sent through DPDK.
-
-How to play with it
--------------------
-
-Install dependencies
-^^^^^^^^^^^^^^^^^^^^
-
-* dpdk-dev (obsly)
-* libnuma-dev
-* That's all.
-
-NB: libpcap is not required, as dpdk-replay process pcap files manually.
-
-Compiling and installing it
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-::
-
- autoreconf -i && ./configure [--enable-debug] && make && sudo make install
-
-OR::
-
- RTE_SDK=<RTE_SDK_PATH> make -f DPDK_Makefile && sudo cp build/dpdk-replay /usr/bin
-
-Launching it
-^^^^^^^^^^^^
-
-::
-
- dpdk-replay [--nbruns NB] [--numacore 0|1] FILE NIC_ADDR[,NIC_ADDR...]
-
-Example::
-
- dpdk-replay --nbruns 1000 --numacore 0 foobar.pcap 04:00.0,04:00.1,04:00.2,04:00.3
-
-TODO
-----
-
-* Add a configuration file or cmdline options for all code defines.
-* Add an option to configure maximum bitrate.
-* Add an option to send the pcap with the good pcap timers.
-* Add an option to send the pcap with a multiplicative speed (like, ten times the normal speed).
-* Add an option to select multiple pcap files at once.
-* Be able to send dumps simultaneously on both numacores.
-* Split big pkts into multiple mbufs.
-* Add a Python module to facilitate scripting (something like what does scapy for tcpreplay sendpfast func).
-* Manage systems with more than 2 numa cores.
-* Use the maximum NICs capabilities (Tx queues/descriptors).
-
-BSD LICENCE
------------
-
-Copyright 2018 Jonathan Ribas, FraudBuster. All rights reserved.
diff --git a/docs/src/todo-list.rst b/docs/src/todo-list.rst
new file mode 100644
index 0000000..88d4278
--- /dev/null
+++ b/docs/src/todo-list.rst
@@ -0,0 +1,18 @@
+.. dpdk-burst-replay: BSD-3-Clause
+ Copyright 2018 Jonathan Ribas, FraudBuster. All rights reserved.
+
+.. _todo-list:
+
+TODO list
+=========
+
+* Add a configuration file or cmdline options for all code defines.
+* Add an option to configure maximum bitrate.
+* Add an option to send the pcap with the good pcap timers.
+* Add an option to send the pcap with a multiplicative speed (like, ten times the normal speed).
+* Add an option to select multiple pcap files at once.
+* Be able to send dumps simultaneously on both numacores.
+* Split big pkts into multiple mbufs.
+* Add a Python module to facilitate scripting (something like what does scapy for tcpreplay sendpfast func).
+* Manage systems with more than 2 numa cores.
+* Use the maximum NICs capabilities (Tx queues/descriptors).
diff --git a/docs/src/user-guide.rst b/docs/src/user-guide.rst
new file mode 100644
index 0000000..4d5a9c1
--- /dev/null
+++ b/docs/src/user-guide.rst
@@ -0,0 +1,22 @@
+.. dpdk-burst-replay: BSD-3-Clause
+ Copyright 2018 Jonathan Ribas, FraudBuster. All rights reserved.
+
+.. _user-guide:
+
+User guide
+==========
+
+TODO
+
+.. _installing_custom_dpdk_version:
+
+Installing custom DPDK version
+------------------------------
+
+TODO
+
+Troubleshooting
+---------------
+
+TODO
+