aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/marvell/README.md
diff options
context:
space:
mode:
authorDamjan Marion <damjan.marion@gmail.com>2017-12-26 13:40:13 +0000
committerDamjan Marion <dmarion.lists@gmail.com>2018-01-15 16:36:09 +0000
commit92cdd72058a80d0b8b28c00495b3051a0390d545 (patch)
tree9d3743739f6cbd3e6e63c5c90a2f0cb7ee3b7fae /src/plugins/marvell/README.md
parentc5239ad59716a833a15523755b03418a47e02a5a (diff)
Marvell device plugin
Depends in musdk 17.10 [1], tested on MACCHIATObin [2] board. currently only coves PP2. musdk must be compiled with: ./configure --enable-bpool-dma=64 [1] https://github.com/MarvellEmbeddedProcessors/musdk-marvell [2] http://macchiatobin.net Change-Id: I0247a6b860b0a067c54190eae0bd3fe08de234ad Signed-off-by: Damjan Marion <damarion@cisco.com>
Diffstat (limited to 'src/plugins/marvell/README.md')
-rw-r--r--src/plugins/marvell/README.md55
1 files changed, 55 insertions, 0 deletions
diff --git a/src/plugins/marvell/README.md b/src/plugins/marvell/README.md
new file mode 100644
index 00000000000..786c4c8241e
--- /dev/null
+++ b/src/plugins/marvell/README.md
@@ -0,0 +1,55 @@
+# Marvel device plugin for VPP
+
+##Overview
+This plugins provides native device support for Marvell PP2 network device, by use of Marvel Usermode SDK ([MUSDK][1]).
+Code is developed and tested on [MACCHIATObin][2] board.
+
+##Prerequisites
+Plugins depends on installed MUSDK and Marvell provided linux [kernel][3] with MUSDK provided kernel patches (see `patches/linux` in musdk repo and relevant documentation.
+Kernel version used: **4.4.52 armada-17.10.1**
+MUSDK version used: **armada-17.10.3**
+MUSDK must be compiled with `--enable-bpool-dma=64` parameter.
+Following kernel modules from MUSDK must be loaded for plugin to work:
+* `musdk_uio.ko`
+* `mv_pp_uio.ko`
+
+## Usage
+### Interface Cration
+Interfaces are dynamically created with following CLI:
+```
+create interface marvell pp2 name eth0
+set interface state mv-ppio0/0 up
+```
+
+Where `eth0` is linux interface name and `mv-ppioX/Y` is VPP interface name where X is PP2 device ID and Y is PPIO ID
+Interface needs to be assigned to MUSDK in FDT configuration and linux interface state must be up.
+
+### Interface Deletion
+Interface can be deleted with following CLI:
+```
+delete interface marvell pp2 <interface name>
+```
+
+
+### Interface Statistics
+Interface statistics can be displayed with `sh hardware-interface mv-ppio0/0`
+command.
+
+### Interaction with DPDK plugin
+This plugin doesn't have any dependency on DPDK or DPDK plugin but it can
+work with DPDK plugin enabled or disabled. It is observed that performace is
+better around 30% when DPDK plugin is disabled, as DPDK plugin registers
+own buffer manager, which needs to deal with additional metadata in each packet.
+
+DPKD plugin can be disabled by adding following config to the startup.conf.
+
+```
+plugins {
+ dpdk_plugin.so { disable }
+}
+```
+
+
+[1]: https://github.com/MarvellEmbeddedProcessors/musdk-marvell
+[2]: http://macchiatobin.net
+[3]: https://github.com/MarvellEmbeddedProcessors/linux-marvell