aboutsummaryrefslogtreecommitdiffstats
path: root/ansible/roles/install_dpdk
diff options
context:
space:
mode:
Diffstat (limited to 'ansible/roles/install_dpdk')
-rwxr-xr-xansible/roles/install_dpdk/tasks/Debian.yml1
-rw-r--r--ansible/roles/install_dpdk/tasks/main.yml25
-rw-r--r--ansible/roles/install_dpdk/vars/main.yml11
3 files changed, 31 insertions, 6 deletions
diff --git a/ansible/roles/install_dpdk/tasks/Debian.yml b/ansible/roles/install_dpdk/tasks/Debian.yml
index 4f0c3c881..b76a0fbf8 100755
--- a/ansible/roles/install_dpdk/tasks/Debian.yml
+++ b/ansible/roles/install_dpdk/tasks/Debian.yml
@@ -17,6 +17,7 @@
with_items:
- libpcap-dev
- pciutils
+ - libelf-dev
- name: Install kernel headers
action: "{{ ansible_pkg_mgr }} name=linux-headers-{{ dpdk_kernel }} state=present"
diff --git a/ansible/roles/install_dpdk/tasks/main.yml b/ansible/roles/install_dpdk/tasks/main.yml
index e82ad8363..a1a377eb1 100644
--- a/ansible/roles/install_dpdk/tasks/main.yml
+++ b/ansible/roles/install_dpdk/tasks/main.yml
@@ -20,6 +20,10 @@
# with_fileglob:
# - "{{ local_nsb_path }}/patches/dpdk_custom_patch/0*.patch"
+- debug:
+ var: dpdk_version
+ verbosity: 2
+
- name: find kernel for image, (including chroot)
find_kernel:
kernel: "{{ ansible_kernel }}"
@@ -106,6 +110,7 @@
src: "{{ dpdk_path }}/{{ dpdk_make_arch }}/kmod/igb_uio.ko"
dest: "{{ dpdk_module_dir }}/igb_uio.ko"
remote_src: yes
+ when: dpdk_version is version(dpdk_version_for_PROX, '>=')
- name: run depmod for dpdk_kernel
command: depmod "{{ dpdk_kernel }}"
@@ -116,8 +121,26 @@
- name: copy dpdk-devbind.py to correct location
copy:
- src: "{{ dpdk_devbind[dpdk_version] }}"
+ src: "{{ dpdk_devbind_usertools if dpdk_version is version('17.02', '>=') else dpdk_devbind_tools }}"
dest: "{{ INSTALL_BIN_PATH }}/dpdk-devbind.py"
remote_src: yes
force: yes
mode: 0755
+ when: dpdk_version is version(dpdk_version_for_PROX, '>=')
+
+- name: make vPE binary
+ command: make -j {{ ansible_processor_vcpus }}
+ args:
+ chdir: "{{ dpdk_path }}/examples/ip_pipeline"
+ environment:
+ RTE_SDK: "{{ dpdk_path }}"
+ when: dpdk_version is version(dpdk_version_for_PROX, '!=')
+
+- name: Copy vPE to correct location
+ copy:
+ src: "{{ dpdk_path }}/examples/ip_pipeline/build/app/ip_pipeline"
+ dest: "{{ INSTALL_BIN_PATH }}/vPE_vnf"
+ remote_src: yes
+ force: yes
+ mode: 0755
+ when: dpdk_version is version(dpdk_version_for_PROX, '!=')
diff --git a/ansible/roles/install_dpdk/vars/main.yml b/ansible/roles/install_dpdk/vars/main.yml
index 45bcc339b..957f47e99 100644
--- a/ansible/roles/install_dpdk/vars/main.yml
+++ b/ansible/roles/install_dpdk/vars/main.yml
@@ -1,9 +1,10 @@
---
-dpdk_make_arch: x86_64-native-linuxapp-gcc
+dpdk_make_archs:
+ "amd64": "x86_64-native-linuxapp-gcc"
+ "arm64": "arm64-native-linuxapp-gcc"
+dpdk_make_arch: "{{ dpdk_make_archs[YARD_IMG_ARCH] }}"
dpdk_module_dir: "/lib/modules/{{ dpdk_kernel }}/extra"
hugetable_mount: /mnt/huge
-dpdk_devbind:
- "16.07": "{{ dpdk_path }}/tools/dpdk-devbind.py"
- "17.02": "{{ dpdk_path }}/usertools/dpdk-devbind.py"
- "17.04": "{{ dpdk_path }}/usertools/dpdk-devbind.py"
+dpdk_devbind_tools: "{{ dpdk_path }}/tools/dpdk-devbind.py"
+dpdk_devbind_usertools: "{{ dpdk_path }}/usertools/dpdk-devbind.py"
dpdk_pmd_path: /usr/lib/dpdk-pmd/