2 # file: roles/dpdk/tasks/main.yaml
4 - name: Inst - Update Package Cache (APT)
9 - ansible_distribution|lower == 'ubuntu'
11 - dpdk-inst-prerequisites
13 - name: Inst - Prerequisites
15 name: "{{ packages | flatten(levels=1) }}"
18 - dpdk-inst-prerequisites
20 - name: Download Release Archive
22 url: "{{ dpdk_url }}/dpdk-{{ item }}.tar.xz"
23 dest: "{{ dpdk_target_dir }}/dpdk-{{ item }}.tar.xz"
25 loop: "{{ dpdk_version }}"
26 register: "dpdk_downloaded"
30 - name: Extract Release Archive
33 src: "{{ dpdk_target_dir }}/dpdk-{{ item }}.tar.xz"
34 dest: "{{ dpdk_target_dir }}/"
35 creates: "{{ dpdk_target_dir }}/dpdk-{{ item }}"
36 loop: "{{ dpdk_version }}"
37 when: "dpdk_downloaded"
38 register: "dpdk_extracted"
42 - name: Build igb_uio by default
44 dest: "{{ dpdk_target_dir }}/dpdk-{{ item }}/config/common_base"
45 regexp: "^CONFIG_RTE_EAL_IGB_UIO"
46 line: "CONFIG_RTE_EAL_IGB_UIO=y"
47 loop: "{{ dpdk_version }}"
48 when: "dpdk_extracted"
49 register: "dpdk_configured"
53 - name: Compile Release I
55 command: "make install T={{ dpdk_build_targets[item][ansible_machine] }} DESTDIR={{ dpdk_target_dir }}/dpdk-{{ item }} chdir={{ dpdk_target_dir }}/dpdk-{{ item }}"
56 loop: "{{ dpdk_version }}"
57 when: "dpdk_configured"
58 register: "dpdk_compiled"
62 - name: Link igb_uio Module
63 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"
65 loop: "{{ dpdk_version }}"