diff options
Diffstat (limited to 'ansible/roles/install_dpdk')
-rwxr-xr-x | ansible/roles/install_dpdk/tasks/Debian.yml | 1 | ||||
-rw-r--r-- | ansible/roles/install_dpdk/tasks/main.yml | 25 | ||||
-rw-r--r-- | ansible/roles/install_dpdk/vars/main.yml | 11 |
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/ |