2 # file: roles/dpdk/tasks/main.yaml
4 - name: DPDK - Install Distribution - Release - Machine Prerequisites
6 name: "{{ packages | flatten(levels=1) }}"
10 - install-dependencies
12 - name: DPDK - Download Release Archive
14 url: "{{ dpdk_url }}/dpdk-{{ item }}.tar.xz"
15 dest: "{{ dpdk_target_dir }}/dpdk-{{ item }}.tar.xz"
17 loop: "{{ dpdk_version }}"
18 register: "dpdk_downloaded"
22 - name: DPDK - Extract Release Archive
25 src: "{{ dpdk_target_dir }}/dpdk-{{ item }}.tar.xz"
26 dest: "{{ dpdk_target_dir }}/"
27 creates: "{{ dpdk_target_dir }}/dpdk-{{ item }}"
28 loop: "{{ dpdk_version }}"
29 when: "dpdk_downloaded"
30 register: "dpdk_extracted"
34 - name: DPDK - Build igb_uio by default
36 dest: "{{ dpdk_target_dir }}/dpdk-{{ item }}/config/common_base"
37 regexp: "^CONFIG_RTE_EAL_IGB_UIO"
38 line: "CONFIG_RTE_EAL_IGB_UIO=y"
39 loop: "{{ dpdk_version }}"
40 when: "dpdk_extracted"
41 register: "dpdk_configured"
45 - name: DPDK - Compile Release I
47 command: "make install T={{ dpdk_build_targets[item][ansible_machine] }} DESTDIR={{ dpdk_target_dir }}/dpdk-{{ item }} chdir={{ dpdk_target_dir }}/dpdk-{{ item }}"
48 loop: "{{ dpdk_version }}"
49 when: "dpdk_configured"
50 register: "dpdk_compiled"
54 - name: DPDK - Link igb_uio Module
55 shell: "ln -fs {{ dpdk_target_dir }}/dpdk-{{ item }}/{{ dpdk_build_targets[item][ansible_machine] }}/kmod/igb_uio.ko /lib/modules/`uname -r`/igb_uio.ko && depmod -a"
57 loop: "{{ dpdk_version }}"