[dpdk-dev] [PATCH v4 00/16] add net mrvl pmd driver
Tomasz Duszynski
tdu at semihalf.com
Thu Oct 12 08:07:25 CEST 2017
On Thu, Oct 12, 2017 at 02:51:19AM +0100, Ferruh Yigit wrote:
> On 10/9/2017 9:59 PM, Ferruh Yigit wrote:
> > On 10/9/2017 4:00 PM, Tomasz Duszynski wrote:
> >> Hello,
> >>
> >> This patch series introduces the net driver for Marvell Armada 7k/8k
> >> SoCs along with documentation.
> >>
> >> Below you can find the list of features which net pmd supports:
> >> * Speed capabilities
> >> * Link status
> >> * MTU update
> >> * Jumbo frame
> >> * Promiscuous mode
> >> * Allmulticast mode
> >> * Unicast MAC filter
> >> * Multicast MAC filter
> >> * RSS hash
> >> * VLAN filter
> >> * CRC offload
> >> * L3 checksum offload
> >> * L4 checksum offload
> >> * Packet type parsing
> >> * Basic stats
> >> * QoS
> >>
> >> Changes since v3:
> >> * Split driver into skeleton, rx/tx, features, documentation parts
> >> * Added speed capabilities flags.
> >> * Added missing rx offload flags: VLAN/JUMBOFRAME
> >> * Updated release notes.
> >> * Updated documentation.
> >>
> >> Changes since v2:
> >> * Removed LINE_SPACING, MULTILINE_DEREFERENCE and SPLIT_STRING
> >> checkpatch warnings.
> >> * Removed unnecessary forward declarations.
> >> * Fixed whitespace warnings.
> >>
> >> Changes since v1:
> >> * Changed commit message to explain problem better.
> >> * Removed bunch of checkpatch warnings about unnecessary parentheses.
> >>
> >> Tomasz Duszynski (4):
> >> app: link the whole rte_cfgfile library
> >> net/mrvl: add mrvl net pmd driver skeleton
> >> net/mrvl: add rx/tx support
> >> net/mrvl: add link update
> >> net/mrvl: add link speed capabilities
> >> net/mrvl: add support for updating mtu
> >> net/mrvl: add jumbo frame support
> >> net/mrvl: add support for promiscuous and allmulticast modes
> >> net/mrvl: add support for mac filtering
> >> net/mrvl: add rss hashing support
> >> net/mrvl: add support for vlan filtering
> >> net/mrvl: add crc, l3 and l4 offloads support
> >> net/mrvl: add packet type parsing support.
> >> net/mrvl: add basic stats support
> >> maintainers: add maintainers for the mrvl net pmd
> >> doc: add mrvl net pmd documentation
> >
> > Series applied to dpdk-next-net/master, thanks.
> >
> > (I can't compile because of missing musdk library, but since PMD is
> > disabled by default this is not so bad, lets get this for rc1 and for
> > crypto dependency, later I can have my environment set and test)
>
> Did able to compile but I have questions :)
>
> 1- Used the "arm64-armv8a-linuxapp-gcc" config, can you please confirm.
> Does it make sense to document this?
Right, that makes sense.
>
> 2- I used different toolchain than documented in musdk, which uses a
> marvel one. Can you please confirm any aarch64-linux-gnu-gcc is OK?
>
I am not sure that every toolchain out there will work but those
available here
https://releases.linaro.org/components/toolchain/binaries/*/aarch64-linux-gnu/
should work fine.
> 3- Used following command:
> CROSS=<toolchain>/aarch64-linux-gnu- make
> EXTRA_CFLAGS="-I.../musdk-marvell/src/include
> -L.../musdk-marvell/src/.libs/"
>
> Do you also need to use EXTRA_CFLAGS? Otherwise I can't compile. If you
> also use it please document it, if not please share with us how to do?
As for MUSDK I build it as follows:
export CROSS_COMPILE=/home/tdu/workspace/gcc-linaro-5.4.1-2017.01-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
# in case of the first build
./bootstrap
# later on that will do
make clean
./configure \
--host=aarch64-linux-gnu \
--prefix=$(pwd)/musdk-install-dir \
--enable-sam \
--enable-bpool-dma=64 \
--disable-shared
make -j8
make install
As for building DPDK that works for me:
export RTE_KERNELDIR=/home/tdu/workspace/tmp2/linux-marvell
export LIBMUSDK_PATH=/home/tdu/workspace/tmp2/musdk-marvell/musdk-install-dir
export CROSS=/home/tdu/workspace/tmp2/gcc-linaro-5.4.1-2017.01-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
make -j8
>
> 4- musk generated a static library, can you please confirm there is a
> way to generate a shared musdk library as well?
>
To generate shared just remove `--disable-shared` from ./configure
command line. Then you will have both *.so and *.a generated.
> 5- Still not tested building kernel modules, and building musdk with
> ./configure options, I will do later.
Let me know in case you have any sort of difficulties or something is
unclear.
>
> Thanks,
> ferruh
--
- Tomasz Duszyński
More information about the dev
mailing list