aboutsummaryrefslogtreecommitdiff
path: root/platform/linux-dpdk/README
diff options
context:
space:
mode:
authorMaxim Uvarov <maxim.uvarov@linaro.org>2014-09-26 19:19:42 +0400
committerMaxim Uvarov <maxim.uvarov@linaro.org>2014-10-01 14:48:41 +0400
commitd8cda8b0f395d00902a50690fee3679f65780013 (patch)
tree9de3235a3e383de2fdc10d815bec8cc6ec4ff890 /platform/linux-dpdk/README
parent32e78e10572fb411e9369dfeef0e6daab8bff90a (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/README125
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