dpdkevents: add example config and update makefile 37/31337/4
authorPrzemyslaw Szczerbik <przemyslawx.szczerbik@intel.com>
Thu, 16 Mar 2017 09:52:46 +0000 (09:52 +0000)
committerPrzemyslaw Szczerbik <przemyslawx.szczerbik@intel.com>
Thu, 23 Mar 2017 14:53:59 +0000 (14:53 +0000)
Change-Id: I85edcbbf52dc3bd4d0e53c5076267b9f3f6c2284
Signed-off-by: Przemyslaw Szczerbik <przemyslawx.szczerbik@intel.com>
docs/release/userguide/feature.userguide.rst
src/collectd/collectd_sample_configs/dpdkevents.conf [new file with mode: 0644]
src/dpdk/Makefile

index 4e9b0d0..c71af19 100644 (file)
@@ -46,7 +46,7 @@ Barometer has enabled the following collectd plugins:
 * *mcelog plugin*: A read plugin that uses mcelog client protocol to check for
   memory Machine Check Exceptions and sends the stats for reported exceptions
 
-* *RDT plugin*: A read plugin that provides the last level cache utilitzation and
+* *RDT plugin*: A read plugin that provides the last level cache utilization and
   memory bandwidth utilization
 
 All the plugins above are available on the collectd master, except for the
@@ -86,7 +86,7 @@ collectd capabilities and usage
  them as shown in the examples below.
 
  The collectd plugins in OPNFV are configured with reasonable defaults, but can
- be overriden.
+ be overridden.
 
 Building all Barometer upstreamed plugins from scratch
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -190,7 +190,7 @@ https://github.com/collectd/collectd/blob/master/src/collectd.conf.pod
  you will need to specify the specific paths to the header files and libraries
  using LIBDPDK_CPPFLAGS and LIBDPDK_LDFLAGS. You will also need to add the DPDK
  library symbols to the shared library path using ldconfig. Note that this
- update to the shared library path is not persistant (i.e. it will not survive a
+ update to the shared library path is not persistent (i.e. it will not survive a
  reboot).
 
 DPDK events plugin
@@ -208,7 +208,7 @@ Building and installing collectd:
 
 .. code:: bash
 
-    $ git clone https://github.com/maryamtahhan/collectd.git
+    $ git clone https://github.com/collectd/collectd.git
     $ cd collectd
     $ ./build.sh
     $ ./configure --enable-syslog --enable-logfile --enable-debug
@@ -253,7 +253,7 @@ https://github.com/collectd/collectd/blob/master/src/collectd.conf.pod
  you will need to specify the specific paths to the header files and libraries
  using LIBDPDK_CPPFLAGS and LIBDPDK_LDFLAGS. You will also need to add the DPDK
  library symbols to the shared library path using ldconfig. Note that this
- update to the shared library path is not persistant (i.e. it will not survive a
+ update to the shared library path is not persistent (i.e. it will not survive a
  reboot).
 
 .. code:: bash
diff --git a/src/collectd/collectd_sample_configs/dpdkevents.conf b/src/collectd/collectd_sample_configs/dpdkevents.conf
new file mode 100644 (file)
index 0000000..fdb6f3d
--- /dev/null
@@ -0,0 +1,35 @@
+# Copyright 2017 OPNFV
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+<LoadPlugin dpdkevents>
+  Interval 1
+</LoadPlugin>
+
+<Plugin "dpdkevents">
+  <EAL>
+#    Coremask "0x1"
+#    MemoryChannels "4"
+#    FilePrefix "rte"
+  </EAL>
+  <Event "link_status">
+    SendEventsOnUpdate false
+    EnabledPortMask 0xffff
+    SendNotification true
+  </Event>
+  <Event "keep_alive">
+    SendEventsOnUpdate false
+    LCoreMask "0xf"
+    KeepAliveShmName "/dpdk_keepalive_shm_name"
+    SendNotification true
+  </Event>
+</Plugin>
index b852432..a23a629 100644 (file)
@@ -44,6 +44,7 @@ INSTALL_TARGET = force_make
 force_make: $(TAG_DONE_FLAG)
        $(AT)cd $(WORK_DIR) && git pull $(DPDK_URL) $(DPDK_TAG)
        $(AT)sed -i -e 's/CONFIG_RTE_BUILD_SHARED_LIB=./CONFIG_RTE_BUILD_SHARED_LIB=y/g' $(CONFIG_FILE_LINUXAPP)
+       $(AT)sed -i -e 's/CONFIG_RTE_EAL_PMD_PATH=.*/CONFIG_RTE_EAL_PMD_PATH=\"\/usr\/lib\/dpdk-pmd\/\"/g' $(CONFIG_FILE_LINUXAPP)
        $(AT)sed -i -e 's/CONFIG_RTE_LIBRTE_KNI=./CONFIG_RTE_LIBRTE_KNI=n/g' $(CONFIG_FILE_LINUXAPP)
        $(AT)cd $(WORK_DIR); make config T=$(DPDK_TARGET) -j; make -j
        $(AT)cd `dirname $(CONFIG_FILE_LINUXAPP)` && git checkout `basename $(CONFIG_FILE_LINUXAPP)` && cd -
@@ -51,6 +52,8 @@ force_make: $(TAG_DONE_FLAG)
 
 install: $(INSTALL_TARGET)
        $(AT)cd $(WORK_DIR); sudo make -j install prefix=/usr; cd -
+       $(AT)sudo mkdir -p /usr/lib/dpdk-pmd
+       $(AT)find /usr/lib -type f -name 'librte_pmd*' | while read path; do sudo ln -fs $$path /usr/lib/dpdk-pmd/$$(echo $$path | grep -o 'librte_.*so'); done
        $(AT)sudo cp -a $(WORK_DIR)/build/kmod $(INSTALL_DIR)/lib/modules/$(KERNEL_VERSION)
        @echo "install done"