diff options
author | Maxim Uvarov <maxim.uvarov@linaro.org> | 2014-09-26 19:19:42 +0400 |
---|---|---|
committer | Maxim Uvarov <maxim.uvarov@linaro.org> | 2014-10-01 14:48:41 +0400 |
commit | d8cda8b0f395d00902a50690fee3679f65780013 (patch) | |
tree | 9de3235a3e383de2fdc10d815bec8cc6ec4ff890 /platform/linux-dpdk/README | |
parent | 32e78e10572fb411e9369dfeef0e6daab8bff90a (diff) |
git split: delete dpdk
Dpdk will be developed and supported in different git repo:
https://git.linaro.org/lng/odp-dpdk.git
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
Diffstat (limited to 'platform/linux-dpdk/README')
-rw-r--r-- | platform/linux-dpdk/README | 125 |
1 files changed, 0 insertions, 125 deletions
diff --git a/platform/linux-dpdk/README b/platform/linux-dpdk/README deleted file mode 100644 index 0f2210b42..000000000 --- a/platform/linux-dpdk/README +++ /dev/null @@ -1,125 +0,0 @@ -Copyright (c) 2014, Linaro Limited -All rights reserved. - -SPDX-License-Identifier: BSD-3-Clause - -ODP-DPDK: ---------- - This effort is to port ODP on top of DPDK and use DPDK as the -accelerator for all intel NIC's. Pre-requisite is DPDK should be cloned and -compiled. DPDK and ODP was compiled and tested on Ubuntu 14.04 -3.13.0-29-generic kernel. - -# To Clone DPDK -$ git clone http://92.243.14.124/git/dpdk ./<dpdk-dir> - -# we support only 1.6.0r2 of DPDK for now -$ git tag -l -- will list all the tags available -$ git checkout -b 1.6.0 tags/v1.6.0r2 -# Please refer to http://dpdk.org/doc for more details on how to build -# DPDK. Getting started guide for Linux might be of help. -# Best effort is done to provide some help on DPDK cmds below for Ubuntu, -# where it was compiled and tested. -# Please refer "How to setup and compile DPDK" section in this document - -# To compile ODP with linux-dpdk - -$ export RTE_SDK=<dpdk-dir> -# For example -$ export RTE_SDK=/root/dpdk -$ export RTE_TARGET=x86_64-default-linuxapp-gcc -# RTE_TARGET is the configuration used while building DPDK - -$ cd <odp-dir> -$ ./bootstrap -$ ./configure --with-platform=linux-dpdk --with-sdk-install-path=$RTE_SDK/$RTE_TARGET -$ make - -# App commands to test -l2fwding app - sudo ./example/l2fwd/odp_l2fwd -i 0,1 -m 0 -c 2 -loopback app - sudo ./example/packet/odp_pktio -i 0,1 -m 0 -c 2 - - -i 0,1 - interface number - -m 0 - burst mode - -c 2 - number of cpus - -How to setup and compile DPDK: -============================== -$ cd <dpdk-dir> - -# This has to be done only once. -$ make config T=x86_64-default-linuxapp-gcc O=x86_64-default-linuxapp-gcc -# set CONFIG_RTE_BUILD_COMBINE_LIBS=y in .config file -# Note: if non-intel SFP's are used in IXGBE, then set CONFIG_RTE_LIBRTE_IXGBE_ALLOW_UNSUPPORTED_SFP=y in .config file -$ make install T=x86_64-default-linuxapp-gcc EXTRA_CFLAGS="-fPIC" - - -# If "conflicting types for skb_set_hash" error happens during DPDK -# build, then please knock-off skb_set_hash function from kcompat.h as -# shown below. This was seen in Ubuntu 3.13.0-30-generic. -diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h b/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h -index 19df483..78a794a 100644 ---- a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h -+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h -@@ -3845,11 +3845,6 @@ static inline struct sk_buff *__kc__vlan_hwaccel_put_tag(struct sk_buff *skb, - #if ( LINUX_VERSION_CODE < KERNEL_VERSION(3,14,0) ) - #ifdef NETIF_F_RXHASH - #define PKT_HASH_TYPE_L3 0 --static inline void --skb_set_hash(struct sk_buff *skb, __u32 hash, __always_unused int type) --{ -- skb->rxhash = hash; --} - #endif /* NETIF_F_RXHASH */ - #endif /* < 3.14.0 */ -# this only ensures building DPDK, but traffic is not tested with this -# build yet. It is upto the user to test it. - -# To reserve huge pages, which is needed for DPDK, execute following command -$ sudo sh -c 'echo 1024 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages' -# If you are running on a multi-node machine then, hugepages should be reserved on each node -$ ls /sys/devices/system/node -$ sudo sh -c 'echo 1024 > /sys/devices/system/node/node*/hugepages/hugepages-2048kB/nr_hugepages' - -$ sudo mkdir /mnt/huge -$ sudo mount -t hugetlbfs nodev /mnt/huge -# To load uio driver -$ sudo /sbin/modprobe uio -$ ulimit -Sn 2048 - -$ cd <dpdk-dir> -$ sudo insmod ./build/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.ko - -$ sudo rmmod ixgbe -$ sudo modprobe ixgbe -# If the SFP's used are non-intel, then -$ sudo modprobe ixgbe allow_unsupported_sfp=1 - -$ cd <dpdk-dir> -$ ./tools/igb_uio_bind.py --status -# this command produces output that is something similar as given below - -Network devices using IGB_UIO driver -==================================== -0000:05:00.0 'Ethernet 10G 2P X520 Adapter' drv=igb_uio unused= -0000:05:00.1 'Ethernet 10G 2P X520 Adapter' drv=igb_uio unused= - -Network devices using kernel driver -=================================== -0000:01:00.0 'NetXtreme II BCM5709 Gigabit Ethernet' if=eth0 drv=bnx2 unused=<none> *Active* -0000:01:00.1 'NetXtreme II BCM5709 Gigabit Ethernet' if=eth1 drv=bnx2 unused=<none> -0000:07:00.0 'T320 10GbE Dual Port Adapter' if=eth2,eth3 drv=cxgb3 unused=<none> - -Other network devices -===================== -<none> - -# Now you should look for pci id listed and give it in the following command -# in place of 05:00.X - -# To give the interfaces to DPDK, use following command -$ sudo ./tools/igb_uio_bind.py --bind=igb_uio 05:00.0 -$ sudo ./tools/igb_uio_bind.py --bind=igb_uio 05:00.1 -# To restore it back to kernel, use following command -$ sudo ./tools/igb_uio_bind.py --bind=ixgbe 05:00.0 -$ sudo ./tools/igb_uio_bind.py --bind=ixgbe 05:00.1 |