diff options
author | Damjan Marion <damjan.marion@gmail.com> | 2017-12-26 13:40:13 +0000 |
---|---|---|
committer | Damjan Marion <dmarion.lists@gmail.com> | 2018-01-15 16:36:09 +0000 |
commit | 92cdd72058a80d0b8b28c00495b3051a0390d545 (patch) | |
tree | 9d3743739f6cbd3e6e63c5c90a2f0cb7ee3b7fae /src/plugins/marvell/README.md | |
parent | c5239ad59716a833a15523755b03418a47e02a5a (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.md | 55 |
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 |