aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--DPDK_VPP_VER2
-rw-r--r--fdio.infra.ansible/roles/dpdk/defaults/main.yaml6
-rw-r--r--fdio.infra.ansible/roles/dpdk/meta/main.yaml24
-rw-r--r--fdio.infra.ansible/roles/dpdk/molecule/default/converge.yml9
-rw-r--r--fdio.infra.ansible/roles/dpdk/molecule/default/molecule.yml21
-rw-r--r--fdio.infra.ansible/roles/dpdk/tasks/main.yaml42
-rw-r--r--resources/libraries/python/Constants.py2
-rw-r--r--resources/libraries/python/DpdkUtil.py4
-rw-r--r--resources/libraries/python/QemuUtils.py5
-rw-r--r--resources/tools/presentation/conf.py4
10 files changed, 80 insertions, 39 deletions
diff --git a/DPDK_VPP_VER b/DPDK_VPP_VER
index 2315586c7e..774381f470 100644
--- a/DPDK_VPP_VER
+++ b/DPDK_VPP_VER
@@ -1 +1 @@
-dpdk-20.11
+dpdk-21.02
diff --git a/fdio.infra.ansible/roles/dpdk/defaults/main.yaml b/fdio.infra.ansible/roles/dpdk/defaults/main.yaml
index 2a8c691728..11affc4a26 100644
--- a/fdio.infra.ansible/roles/dpdk/defaults/main.yaml
+++ b/fdio.infra.ansible/roles/dpdk/defaults/main.yaml
@@ -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
index 0000000000..8acf6ef9b5
--- /dev/null
+++ b/fdio.infra.ansible/roles/dpdk/meta/main.yaml
@@ -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
index 0000000000..ab8392c3dc
--- /dev/null
+++ b/fdio.infra.ansible/roles/dpdk/molecule/default/converge.yml
@@ -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
index 0000000000..1910c4780c
--- /dev/null
+++ b/fdio.infra.ansible/roles/dpdk/molecule/default/molecule.yml
@@ -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}
diff --git a/fdio.infra.ansible/roles/dpdk/tasks/main.yaml b/fdio.infra.ansible/roles/dpdk/tasks/main.yaml
index 46f942be93..9052baff74 100644
--- a/fdio.infra.ansible/roles/dpdk/tasks/main.yaml
+++ b/fdio.infra.ansible/roles/dpdk/tasks/main.yaml
@@ -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"
@@ -39,30 +39,24 @@
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
diff --git a/resources/libraries/python/Constants.py b/resources/libraries/python/Constants.py
index 14fb7958b8..79b94be7ff 100644
--- a/resources/libraries/python/Constants.py
+++ b/resources/libraries/python/Constants.py
@@ -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"
diff --git a/resources/libraries/python/DpdkUtil.py b/resources/libraries/python/DpdkUtil.py
index dcca73db1d..fd31f1ddb2 100644
--- a/resources/libraries/python/DpdkUtil.py
+++ b/resources/libraries/python/DpdkUtil.py
@@ -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))
diff --git a/resources/libraries/python/QemuUtils.py b/resources/libraries/python/QemuUtils.py
index 21de620448..a765e11e27 100644
--- a/resources/libraries/python/QemuUtils.py
+++ b/resources/libraries/python/QemuUtils.py
@@ -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,
diff --git a/resources/tools/presentation/conf.py b/resources/tools/presentation/conf.py
index ac29fe43a8..b15af82188 100644
--- a/resources/tools/presentation/conf.py
+++ b/resources/tools/presentation/conf.py
@@ -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')