blob: 2c757d04a066241da5e7a634ada5c3083d7f3e3c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
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 <https://github.com/MarvellEmbeddedProcessors/musdk-marvell>`__).
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
|