DPDK bump 89/31989/6
authorpmikus <pmikus@cisco.com>
Thu, 15 Apr 2021 10:12:10 +0000 (10:12 +0000)
committerPeter Mikus <pmikus@cisco.com>
Mon, 19 Apr 2021 06:54:19 +0000 (06:54 +0000)
Signed-off-by: pmikus <pmikus@cisco.com>
Change-Id: I6edd980cb72111a008ae7fa19e1a4df279febdb2

DPDK_VPP_VER
fdio.infra.ansible/roles/dpdk/defaults/main.yaml
fdio.infra.ansible/roles/dpdk/meta/main.yaml [new file with mode: 0644]
fdio.infra.ansible/roles/dpdk/molecule/default/converge.yml [new file with mode: 0644]
fdio.infra.ansible/roles/dpdk/molecule/default/molecule.yml [new file with mode: 0644]
fdio.infra.ansible/roles/dpdk/tasks/main.yaml
resources/libraries/python/Constants.py
resources/libraries/python/DpdkUtil.py
resources/libraries/python/QemuUtils.py
resources/tools/presentation/conf.py

index 2315586..774381f 100644 (file)
@@ -1 +1 @@
-dpdk-20.11
+dpdk-21.02
index 2a8c691..11affc4 100644 (file)
@@ -23,9 +23,5 @@ packages_by_arch:
 
 dpdk_target_dir: "/opt"
 dpdk_version:
-  - "20.02"
+  - "21.02"
 dpdk_url: "https://fast.dpdk.org/rel"
-dpdk_build_targets:
-  "20.02":
-    aarch64: "arm64-armv8a-linux-gcc"
-    x86_64: "x86_64-native-linux-gcc"
diff --git a/fdio.infra.ansible/roles/dpdk/meta/main.yaml b/fdio.infra.ansible/roles/dpdk/meta/main.yaml
new file mode 100644 (file)
index 0000000..8acf6ef
--- /dev/null
@@ -0,0 +1,24 @@
+---
+# file: roles/dpdk/meta/main.yaml
+
+# desc: Install DPDK from stable branch and configure service.
+# inst: DPDK
+# conf: ?
+# info: 1.0 - added role
+
+dependencies: [ ]
+
+galaxy_info:
+  role_name: dpdk
+  author: fd.io
+  description: DPDK for Linux.
+  company: none
+  license: "license (Apache)"
+  min_ansible_version: 2.9
+  platforms:
+    - name: Ubuntu
+      versions:
+        - bionic
+        - focal
+  galaxy_tags:
+    - dpdk
diff --git a/fdio.infra.ansible/roles/dpdk/molecule/default/converge.yml b/fdio.infra.ansible/roles/dpdk/molecule/default/converge.yml
new file mode 100644 (file)
index 0000000..ab8392c
--- /dev/null
@@ -0,0 +1,9 @@
+---
+# file: molecule/default/converge.yaml
+
+- name: Converge
+  hosts: all
+  become: true
+
+  roles:
+    - role: csit.dpdk
diff --git a/fdio.infra.ansible/roles/dpdk/molecule/default/molecule.yml b/fdio.infra.ansible/roles/dpdk/molecule/default/molecule.yml
new file mode 100644 (file)
index 0000000..1910c47
--- /dev/null
@@ -0,0 +1,21 @@
+---
+# file: molecule/default/molecule.yaml
+
+dependency:
+  name: galaxy
+driver:
+  name: docker
+lint: |
+  yamllint .
+  ansible-lint
+platforms:
+  - name: ${DISTRO:-ubuntu-20.04}
+    image: "pmikus/docker-${MOLECULE_DISTRO:-ubuntu-20.04}-ansible:latest"
+    volumes:
+      - /sys/fs/cgroup:/sys/fs/cgroup:ro
+    privileged: true
+    pre_build_image: true
+provisioner:
+  name: ansible
+  playbooks:
+    converge: ${MOLECULE_PLAYBOOK:-converge.yml}
index 46f942b..9052baf 100644 (file)
@@ -3,21 +3,21 @@
 
 - name: Inst - Update Package Cache (APT)
   apt:
-    update_cache: yes
+    update_cache: true
     cache_valid_time: 3600
   when:
-    - ansible_distribution|lower == 'ubuntu'
+    - ansible_distribution == 'Ubuntu'
   tags:
     - dpdk-inst-prerequisites
 
 - name: Inst - Prerequisites
   package:
     name: "{{ packages | flatten(levels=1) }}"
-    state: latest
+    state: "latest"
   tags:
     - dpdk-inst-prerequisites
 
-- name: Download Release Archive
+- name: Inst - Download Release Archive
   get_url:
     url: "{{ dpdk_url }}/dpdk-{{ item }}.tar.xz"
     dest: "{{ dpdk_target_dir }}/dpdk-{{ item }}.tar.xz"
@@ -27,7 +27,7 @@
   tags:
     - dpdk-inst
 
-- name: Extract Release Archive
+- name: Inst - Extract Release Archive
   unarchive:
     remote_src: true
     src: "{{ dpdk_target_dir }}/dpdk-{{ item }}.tar.xz"
   tags:
     - dpdk-inst
 
-- name: Build igb_uio by default
-  lineinfile:
-    dest: "{{ dpdk_target_dir }}/dpdk-{{ item }}/config/common_base"
-    regexp: "^CONFIG_RTE_EAL_IGB_UIO"
-    line: "CONFIG_RTE_EAL_IGB_UIO=y"
+- name: Inst - Compile Release I
+  command: "meson -Dexamples=l3fwd build"
+  args:
+    chdir: "{{ dpdk_target_dir }}/dpdk-{{ item }}"
+  environment:
+    CFLAGS: "-DRTE_LIBRTE_I40E_16BYTE_RX_DESC=y"
   loop: "{{ dpdk_version }}"
-  when: "dpdk_extracted"
-  register: "dpdk_configured"
+  register: "dpdk_compiled"
   tags:
     - dpdk-inst
 
-- name: Compile Release I
-  become: yes
-  command: "make install T={{ dpdk_build_targets[item][ansible_machine] }} DESTDIR={{ dpdk_target_dir }}/dpdk-{{ item }} chdir={{ dpdk_target_dir }}/dpdk-{{ item }}"
+- name: Inst - Compile Release II
+  command: "ninja -C build"
+  args:
+    chdir: "{{ dpdk_target_dir }}/dpdk-{{ item }}"
+  environment:
+    CFLAGS: "-DRTE_LIBRTE_I40E_16BYTE_RX_DESC=y"
   loop: "{{ dpdk_version }}"
-  when: "dpdk_configured"
   register: "dpdk_compiled"
   tags:
     - dpdk-inst
-
-- name: Link igb_uio Module
-  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"
-  ignore_errors: "yes"
-  loop: "{{ dpdk_version }}"
-  when: "dpdk_compiled"
-  tags:
-    - dpdk-inst
\ No newline at end of file
index 14fb795..79b94be 100644 (file)
@@ -176,7 +176,7 @@ class Constants:
     QEMU_VM_IMAGE = u"/var/lib/vm/image.iso"
 
     # QEMU VM DPDK path
-    QEMU_VM_DPDK = u"/opt/dpdk-20.02"
+    QEMU_VM_DPDK = u"/opt/dpdk-21.02"
 
     # Docker container SUT image
     DOCKER_SUT_IMAGE_UBUNTU = u"csit_sut-ubuntu2004:local"
index dcca73d..fd31f1d 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (c) 2020 Cisco and/or its affiliates.
+# Copyright (c) 2021 Cisco and/or its affiliates.
 # 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:
@@ -161,7 +161,7 @@ class DpdkUtil:
         :rtype: OptionString
         """
         options = OptionString()
-        options.add(u"testpmd")
+        options.add(u"dpdk-testpmd")
         options.extend(DpdkUtil.get_eal_options(**kwargs))
         options.add(u"--")
         options.extend(DpdkUtil.get_testpmd_pmd_options(**kwargs))
index 21de620..a765e11 100644 (file)
@@ -65,16 +65,13 @@ class QemuUtils:
 
         # Architecture specific options
         if self._arch == u"aarch64":
-            dpdk_target = u"arm64-armv8a"
             self._opt[u"machine_args"] = \
                 u"virt,accel=kvm,usb=off,mem-merge=off,gic-version=3"
             self._opt[u"console"] = u"ttyAMA0"
         else:
-            dpdk_target = u"x86_64-native"
             self._opt[u"machine_args"] = u"pc,accel=kvm,usb=off,mem-merge=off"
             self._opt[u"console"] = u"ttyS0"
-        self._testpmd_path = f"{Constants.QEMU_VM_DPDK}/" \
-            f"{dpdk_target}-linux-gcc/app"
+        self._testpmd_path = f"{Constants.QEMU_VM_DPDK}/build/app"
         self._vm_info = {
             u"host": node[u"host"],
             u"type": NodeType.VM,
index ac29fe4..b15af82 100644 (file)
@@ -113,8 +113,8 @@ rst_epilog = u"""
            csit_prev_release=u'2009',
            vpprelease=u'21.01',
            vpp_prev_release=u'20.09',
-           dpdkrelease=u'20.11',
-           dpdk_prev_release=u'20.08',
+           dpdkrelease=u'21.02',
+           dpdk_prev_release=u'20.11',
            sdpdkrelease=u'2011',
            trex_version=u'v2.88',
            vpp_release_commit_id=u'3d2d96e5547484290c9368bac0a420afa8c4c068')