Armada device plugin

Overview

This plugins provides native device support for Marvell PP2 network device, found in Marvel Armada family of SOCs. It uses Marvell Usermode SDK (MUSDK).

Prerequisites

Plugins depends on installed MUSDK and Marvell provided linux in Marvell SDK. Following kernel modules from MUSDK must be loaded for plugin to work: musdk_cma.ko mv_pp_uio.ko

Musdk 18.09.3 compilation steps

./bootstrap
./configure --prefix=/opt/vpp/external/aarch64/ CFLAGS="-Wno-error=unused-result -g -fPIC" --enable-shared=no
sed -i -e  's/marvell,mv-pp-uio/generic-uio/' modules/pp2/mv_pp_uio.c
sed -i -e  's/O_CREAT/O_CREAT, S_IRUSR | S_IWUSR/' src/lib/file_utils.c
make
sudo make install

Usage

Interface Creation and Deletion

Interfaces are using new vnet dev APIs, CLIs or startup.conf to create and delete interfaces.

Sample startup.conf:

devices {
  dev platform/f2000000.ethernet {
    port 1 { name ppio1 }
}

Device identifier in this example is 'platform/f2000000.ethernet' where 'platform' is bus name and 'f2000000.ethernet' is linux platform bus identifier for specific PP2.

Platform identifier can be found in sysfs:

$ ls /sys/bus/platform/devices | grep ethernet
f2000000.ethernet