Compare commits
49 Commits
v24.06-rc2
...
stable/160
Author | SHA1 | Date | |
---|---|---|---|
|
22665d23e1 | ||
|
d1f3123795 | ||
|
638aee3e84 | ||
|
c021053491 | ||
|
019886e7e6 | ||
|
dd8e9a5dc5 | ||
|
21bc8624f5 | ||
|
9b15f28295 | ||
|
2dfd08242d | ||
|
bcc0cf6137 | ||
|
0f53393c82 | ||
|
1a30f38192 | ||
|
4eaae3d363 | ||
|
56ca4b7688 | ||
|
0d49712e05 | ||
|
861698f9f1 | ||
|
a4b01cb2b4 | ||
|
61a7a7fb9f | ||
|
0024dfb307 | ||
|
2cb4e68aae | ||
|
331f1a8eac | ||
|
73a52de862 | ||
|
fcaa2f1010 | ||
|
78e0e3af70 | ||
|
c1ac47b61c | ||
|
c278ebdd39 | ||
|
d193b8e41d | ||
|
c2787a42ff | ||
|
c16427e794 | ||
|
7d3322a388 | ||
|
73bb1458f7 | ||
|
88ccc91ba9 | ||
|
6b85ac7fa1 | ||
|
a7601b44ac | ||
|
6214326f41 | ||
|
08377f8ff7 | ||
|
2544ca81c3 | ||
|
eb5cad76ea | ||
|
d7935e8c42 | ||
|
94195c85fe | ||
|
ab4e86cb95 | ||
|
ea60221218 | ||
|
217872424d | ||
|
aa4338556e | ||
|
52ecf85946 | ||
|
78c7daaf6d | ||
|
8b66c77920 | ||
|
a20d317e63 | ||
|
dbc6e3f0bb |
@ -1,48 +0,0 @@
|
||||
# Minimal clang-format version is 11
|
||||
|
||||
BasedOnStyle: GNU
|
||||
UseTab: Always
|
||||
SpaceAfterCStyleCast: true
|
||||
SortIncludes: false
|
||||
AlignConsecutiveMacros: true
|
||||
BreakBeforeTernaryOperators: false
|
||||
BreakBeforeBinaryOperators: None
|
||||
ContinuationIndentWidth: 2
|
||||
|
||||
ForEachMacros:
|
||||
- 'clib_bitmap_foreach'
|
||||
- 'pool_foreach'
|
||||
- 'pool_foreach_index'
|
||||
- 'pool_foreach_pointer'
|
||||
- 'vec_foreach'
|
||||
- 'vec_foreach_backwards'
|
||||
- 'vec_foreach_index'
|
||||
- 'vec_foreach_index_backwards'
|
||||
- 'vec_foreach_pointer'
|
||||
- 'vlib_foreach_rx_tx'
|
||||
- 'foreach_int'
|
||||
- 'foreach_pointer'
|
||||
- 'foreach_vlib_main'
|
||||
- 'foreach_set_bit_index'
|
||||
- 'foreach_vlib_frame_bitmap_set_bit_index'
|
||||
- 'FOREACH_ARRAY_ELT'
|
||||
- 'RTE_ETH_FOREACH_DEV'
|
||||
- 'foreach_vnet_dev_rx_queue_runtime'
|
||||
- 'foreach_vnet_dev_counter'
|
||||
- 'foreach_vnet_dev_port_rx_queue'
|
||||
- 'foreach_vnet_dev_port_tx_queue'
|
||||
- 'foreach_vnet_dev_port'
|
||||
- 'foreach_vnet_dev_args'
|
||||
- 'foreach_vnet_dev_port_args'
|
||||
|
||||
StatementMacros:
|
||||
- 'CLIB_MULTIARCH_FN'
|
||||
- 'VLIB_NODE_FN'
|
||||
- 'VNET_DEV_NODE_FN'
|
||||
- 'VNET_DEVICE_CLASS_TX_FN'
|
||||
- '__clib_section'
|
||||
- '__clib_aligned'
|
||||
|
||||
WhitespaceSensitiveMacros:
|
||||
- 'WARN_ON'
|
||||
- 'WARN_OFF'
|
@ -1,8 +0,0 @@
|
||||
Checks: "-*,\
|
||||
misc-*,\
|
||||
bugprone-*,\
|
||||
-bugprone-reserved-identifier,\
|
||||
-performance-*,\
|
||||
clang-analyzer-*,\
|
||||
-clang-analyzer-valist.Uninitialized,\
|
||||
"
|
@ -1,48 +0,0 @@
|
||||
# <feature-name>: <subject>
|
||||
# |<---- Using a maximum of 50 characters ---->|
|
||||
#
|
||||
# Explain why this change is being made
|
||||
# |<---- Try to limit each line to a maximum of 72 characters ---->|
|
||||
|
||||
# Ticket: <JIRA #id>
|
||||
# Type: <type>
|
||||
# Fixes: <offending-git-commit-id>
|
||||
# Change-Id: <sha1>
|
||||
# Signed-off-by: <email>
|
||||
#
|
||||
#
|
||||
# --- COMMIT END ---
|
||||
#
|
||||
# Type can be
|
||||
# feature (new feature)
|
||||
# fix (bug fix)
|
||||
# refactor (refactoring production code)
|
||||
# improvement (minor improvements in existing feature)
|
||||
# style (formatting, missing semi colons, etc; no code change)
|
||||
# docs (changes to documentation)
|
||||
# test (adding or refactoring tests; no production code change)
|
||||
# make (change the build process, or tools, or infrastructure)
|
||||
#
|
||||
# feature-name: Is the name of the VPP feature, plugin or directory.
|
||||
# Commits across multiple components should be split.
|
||||
# E.g. ip, fib, nat, acl, host, api
|
||||
#
|
||||
# Fixes: If type is fix refers to the original commit (optional).
|
||||
# Ticket: Refers to JIRA ticket if it exists (optional).
|
||||
#
|
||||
# --------------------
|
||||
# Remember to:
|
||||
# Lowercase the subject line.
|
||||
# Use the imperative mood in the subject line.
|
||||
# Not end the subject line with a period.
|
||||
# Separate subject from body with a blank line.
|
||||
# Use the body to explain what and why vs. how.
|
||||
# Use multiple lines with "-" for bullet points in body.
|
||||
# --------------------
|
||||
# Usage:
|
||||
#
|
||||
# The template is automatically added to the current repository by
|
||||
# make install-dep.
|
||||
# (git config commit.template .git_commit_template.txt)
|
||||
#
|
||||
# --------------------
|
21
.github/workflows/close_prs.yml
vendored
21
.github/workflows/close_prs.yml
vendored
@ -1,21 +0,0 @@
|
||||
---
|
||||
name: Close Pull Request
|
||||
|
||||
on:
|
||||
pull_request_target:
|
||||
types: [opened]
|
||||
|
||||
jobs:
|
||||
run:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: superbrothers/close-pull-request@v3
|
||||
with:
|
||||
# Optional. Post a issue comment just before closing a pull request.
|
||||
comment: "Thank you so much for your interest! VPP takes patches at https://gerrit.fd.io/
|
||||
|
||||
```
|
||||
git clone https://gerrit.fd.io/r/vpp
|
||||
```
|
||||
|
||||
Using [git review](https://www.mediawiki.org/wiki/Gerrit/git-review) to contribute patches is recommended"
|
86
.gitignore
vendored
86
.gitignore
vendored
@ -8,35 +8,32 @@
|
||||
/build-root/dpdk-includes/
|
||||
/build-root/packages-vpp/
|
||||
/build-root/path_setup
|
||||
/build-root/build-config.mk
|
||||
/build-root/deb/debian/vpp-plugins/
|
||||
/build-root/deb/.pybuild/
|
||||
/build-root/*.buildinfo
|
||||
/build-root/*.deb
|
||||
/build-root/*.rpm
|
||||
/build-root/*.tar.xz
|
||||
/build-root/*.changes
|
||||
/build-root/rpmbuild/
|
||||
/build-root/test-coverage/
|
||||
/build-root/test/
|
||||
/build-config.mk
|
||||
/build/external/*.tar.gz
|
||||
/build/external/*.tar.xz
|
||||
/build/external/vpp-*
|
||||
/build/external/dpdk_mlx_default.sh
|
||||
/build/external/downloads/
|
||||
/vpp-api/python/vpp_papi/vpp_papi.py
|
||||
/dpdk/*.tar.gz
|
||||
/dpdk/*.tar.xz
|
||||
/path_setup
|
||||
/tools/
|
||||
# start autotools ignore
|
||||
autom4te.cache/
|
||||
config/
|
||||
Makefile
|
||||
Makefile.in
|
||||
aclocal.m4
|
||||
app.info
|
||||
compile
|
||||
config.h
|
||||
config.h.in
|
||||
config.log
|
||||
config.guess
|
||||
config.sub
|
||||
config.status
|
||||
configure
|
||||
configure.scan
|
||||
coverage_report
|
||||
depcomp
|
||||
@ -49,91 +46,32 @@ ltmain.sh
|
||||
ylwrap
|
||||
test-driver
|
||||
|
||||
.cproject
|
||||
*.iml
|
||||
.deps.ok
|
||||
.bootstrap.ok
|
||||
.settings
|
||||
.autotools
|
||||
# stop autotools ignore
|
||||
|
||||
# OSX and some IDE
|
||||
# OSX and some IDE
|
||||
.DS_Store
|
||||
.idea/
|
||||
.project
|
||||
.cproject
|
||||
.pydevproject
|
||||
.vscode/
|
||||
cmake-build*/
|
||||
|
||||
# cscope and ctags
|
||||
/cscope.*
|
||||
/tags
|
||||
ID
|
||||
TAGS
|
||||
# ggtags
|
||||
GPATH
|
||||
GRTAGS
|
||||
GTAGS
|
||||
|
||||
# Generated documentation
|
||||
/build-root/docs
|
||||
/build-root/.doxygen-bootstrap.ok
|
||||
/build-root/.doxygen-siphon.dep
|
||||
/docs/venv
|
||||
|
||||
# language servers
|
||||
compile_commands.json
|
||||
.clangd
|
||||
.cache
|
||||
|
||||
# indent backup files
|
||||
*.BAK
|
||||
|
||||
# Python bytecode
|
||||
*.pyc
|
||||
|
||||
# Python api generator
|
||||
/src/vpp-api/python/build
|
||||
/src/vpp-api/python/dist
|
||||
/src/vpp-api/python/vpp_papi.egg-info
|
||||
/src/vpp_api/.tox
|
||||
/src/vpp_api/.stestr
|
||||
|
||||
# vppctl command list
|
||||
/src/scripts/vppctl-cmd-list
|
||||
|
||||
# No core files
|
||||
**/core
|
||||
|
||||
# extra scripts config
|
||||
/extras/scripts/.config/
|
||||
|
||||
# extras gomemif build files
|
||||
/extras/gomemif/bazel*
|
||||
|
||||
# vpptop build files
|
||||
/extras/vpptop/build/*
|
||||
|
||||
# debian packaging
|
||||
.pc
|
||||
|
||||
# No test log files
|
||||
**/test-run-*-*-*
|
||||
|
||||
# host stack test framework
|
||||
/extras/hs-test/vpp-data
|
||||
/extras/hs-test/hs-test
|
||||
/extras/hs-test/http_server
|
||||
/extras/hs-test/.build.ok
|
||||
/extras/hs-test/summary/
|
||||
|
||||
# ./configure
|
||||
/CMakeFiles
|
||||
/bin
|
||||
/lib
|
||||
/.ninja_deps
|
||||
/.ninja_log
|
||||
/.cmake
|
||||
/CMakeCache.txt
|
||||
/build.ninja
|
||||
/cmake_install.cmake
|
||||
/startup.conf
|
||||
/startup.vpp
|
||||
|
@ -2,4 +2,4 @@
|
||||
host=gerrit.fd.io
|
||||
port=29418
|
||||
project=vpp
|
||||
defaultbranch=stable/2406
|
||||
defaultbranch=stable/1609
|
||||
|
105
INFO.yaml
105
INFO.yaml
@ -1,105 +0,0 @@
|
||||
---
|
||||
project: 'vpp'
|
||||
project_creation_date: '2015-12-08'
|
||||
project_category: ''
|
||||
lifecycle_state: 'Incubation'
|
||||
project_lead: &vpp_ptl
|
||||
name: 'Damjan Marion'
|
||||
email: 'dmarion@me.com'
|
||||
id: 'dmarion'
|
||||
company: 'cisco'
|
||||
timezone: 'Europe/Zagreb'
|
||||
primary_contact: *vpp_ptl
|
||||
issue_tracking:
|
||||
type: 'jira'
|
||||
url: 'https://jira.fd.io/projects/vpp'
|
||||
key: 'VPP'
|
||||
mailing_list:
|
||||
type: 'groups.io'
|
||||
url: 'https://lists.fd.io/g/vpp-dev'
|
||||
tag: '<[sub-project_name]>'
|
||||
realtime_discussion:
|
||||
type: 'irc'
|
||||
server: 'freenode.net'
|
||||
channel: 'fdio-vpp'
|
||||
meetings:
|
||||
- type: 'zoom'
|
||||
agenda: 'n/a'
|
||||
url: 'https://wiki.fd.io/view/VPP/Meeting'
|
||||
server: 'n/a'
|
||||
channel: 'fdio-vpp'
|
||||
repeats: 'weekly'
|
||||
time: '08:00 PT'
|
||||
repositories:
|
||||
- 'vpp'
|
||||
committers:
|
||||
- <<: *vpp_ptl
|
||||
- name: 'Dave Barach'
|
||||
company: 'cisco'
|
||||
email: 'openvpp@barachs.net'
|
||||
id: 'dbarach'
|
||||
- name: 'Florin Coras'
|
||||
company: 'cisco'
|
||||
email: 'florin.coras@gmail.com'
|
||||
id: 'florin.coras'
|
||||
- name: 'Benoit Ganne'
|
||||
company: 'cisco'
|
||||
email: 'bganne@cisco.com'
|
||||
id: 'bganne'
|
||||
- name: 'John Lo'
|
||||
company: 'cisco'
|
||||
email: 'loj@cisco.com'
|
||||
id: 'lojohn'
|
||||
- name: 'Chris Luke'
|
||||
company: 'comcast'
|
||||
email: 'chris_luke@comcast.com'
|
||||
id: 'chrisluke'
|
||||
- name: 'Neale Ranns'
|
||||
company: 'cisco'
|
||||
email: 'nranns@cisco.com'
|
||||
id: 'nranns'
|
||||
- name: 'Matthew Smith'
|
||||
company: 'netgate'
|
||||
email: 'mgsmith@netgate.com'
|
||||
id: 'mgsmith'
|
||||
- name: 'Ole Trøan'
|
||||
company: 'employees'
|
||||
email: 'otroan@employees.org'
|
||||
id: 'otroan'
|
||||
- name: 'Paul Vinciguerra'
|
||||
company: 'vinciconsulting'
|
||||
email: 'pvinci@vinciconsulting.com'
|
||||
id: 'pvinci'
|
||||
- name: 'Dave Wallace'
|
||||
company: 'gmail'
|
||||
email: 'dwallacelf@gmail.com'
|
||||
id: 'dwallacelf'
|
||||
- name: 'Ed Warnicke'
|
||||
company: 'gmail'
|
||||
email: 'hagbard@gmail.com'
|
||||
id: 'hagbard'
|
||||
- name: 'Andrew Yourtchenko'
|
||||
company: 'cisco'
|
||||
email: 'ayourtch@cisco.com'
|
||||
id: 'ayourtch'
|
||||
- name: 'Fan Zhang'
|
||||
company: 'intel'
|
||||
email: 'roy.fan.zhang@intel.com'
|
||||
id: 'royzhang1980'
|
||||
- name: 'Mohammed HAWARI'
|
||||
company: 'cisco'
|
||||
email: 'momohawari@gmail.com'
|
||||
id: 'momohawari'
|
||||
tsc:
|
||||
# yamllint disable rule:line-length
|
||||
approval: 'https://wiki.fd.io/view/TSC/Meeting_Minutes'
|
||||
changes:
|
||||
- type: 'Promotion'
|
||||
name: 'Damjan Marion'
|
||||
link: 'https://lists.fd.io/g/vpp-dev/message/17521'
|
||||
- type: 'Addition'
|
||||
name: 'Fan Zhang'
|
||||
link: 'https://lists.fd.io/g/vpp-dev/message/19068'
|
||||
- type: 'Approval'
|
||||
name: 'Mohammed HAWARI'
|
||||
link: 'https://ircbot.wl.linuxfoundation.org/meetings/fdio-meeting/2023/fd_io_tsc/fdio-meeting-fd_io_tsc.2023-06-01-15.00.html'
|
899
MAINTAINERS
899
MAINTAINERS
File diff suppressed because it is too large
Load Diff
69
README.md
69
README.md
@ -1,7 +1,7 @@
|
||||
Vector Packet Processing
|
||||
========================
|
||||
|
||||
## Introduction
|
||||
## Introduction.
|
||||
|
||||
The VPP platform is an extensible framework that provides out-of-the-box
|
||||
production quality switch/router functionality. It is the open source version
|
||||
@ -16,37 +16,33 @@ For more information on VPP and its features please visit the
|
||||
[What is VPP?](https://wiki.fd.io/view/VPP/What_is_VPP%3F) pages.
|
||||
|
||||
|
||||
## Changes
|
||||
## Directory layout.
|
||||
|
||||
Details of the changes leading up to this version of VPP can be found under
|
||||
doc/releasenotes.
|
||||
Directory name | Description
|
||||
---------------------- | -------------------------------------------
|
||||
build-data | Build metadata
|
||||
build-root | Build output directory
|
||||
doxygen | Documentation generator configuration
|
||||
dpdk | DPDK patches and build infrastructure
|
||||
g2 | Event log visualization tool
|
||||
perftool | Performance tool
|
||||
plugins | VPP bundled plugins directory
|
||||
@ref svm | Shared virtual memory allocation library
|
||||
test | Unit tests
|
||||
@ref vlib | VPP application library source
|
||||
@ref vlib-api | VPP API library source
|
||||
@ref vnet | VPP networking source
|
||||
@ref vpp | VPP application source
|
||||
@ref vpp-api | VPP application API source
|
||||
vppapigen | VPP API generator source
|
||||
vpp-api-test | VPP API test program source
|
||||
@ref vppinfra | VPP core library source
|
||||
|
||||
(If the page you are viewing is not generated by Doxygen then
|
||||
ignore any @@ref labels in the above table.)
|
||||
|
||||
|
||||
## Directory layout
|
||||
|
||||
| Directory name | Description |
|
||||
| ---------------------- | ------------------------------------------- |
|
||||
| build-data | Build metadata |
|
||||
| build-root | Build output directory |
|
||||
| docs | Sphinx Documentation |
|
||||
| dpdk | DPDK patches and build infrastructure |
|
||||
| extras/libmemif | Client library for memif |
|
||||
| src/examples | VPP example code |
|
||||
| src/plugins | VPP bundled plugins directory |
|
||||
| src/svm | Shared virtual memory allocation library |
|
||||
| src/tests | Standalone tests (not part of test harness) |
|
||||
| src/vat | VPP API test program |
|
||||
| src/vlib | VPP application library |
|
||||
| src/vlibapi | VPP API library |
|
||||
| src/vlibmemory | VPP Memory management |
|
||||
| src/vnet | VPP networking |
|
||||
| src/vpp | VPP application |
|
||||
| src/vpp-api | VPP application API bindings |
|
||||
| src/vppinfra | VPP core library |
|
||||
| src/vpp/api | Not-yet-relocated API bindings |
|
||||
| test | Unit tests and Python test harness |
|
||||
|
||||
## Getting started
|
||||
## Getting started.
|
||||
|
||||
In general anyone interested in building, developing or running VPP should
|
||||
consult the [VPP wiki](https://wiki.fd.io/view/VPP) for more complete
|
||||
@ -60,13 +56,13 @@ coverage of the topic.
|
||||
For the impatient, some salient information is distilled below.
|
||||
|
||||
|
||||
### Quick-start: On an existing Linux host
|
||||
### Quick-start: On an existing Linux host.
|
||||
|
||||
To install system dependencies, build VPP and then install it, simply run the
|
||||
build script. This should be performed a non-privileged user with `sudo`
|
||||
access from the project base directory:
|
||||
|
||||
./extras/vagrant/build.sh
|
||||
./build-root/vagrant/build.sh
|
||||
|
||||
If you want a more fine-grained approach because you intend to do some
|
||||
development work, the `Makefile` in the root directory of the source tree
|
||||
@ -76,9 +72,9 @@ interest. To see the available targets run:
|
||||
make
|
||||
|
||||
|
||||
### Quick-start: Vagrant
|
||||
### Quick-start: Vagrant.
|
||||
|
||||
The directory `extras/vagrant` contains a `VagrantFile` and supporting
|
||||
The directory `build-root/vagrant` contains a `VagrantFile` and supporting
|
||||
scripts to bootstrap a working VPP inside a Vagrant-managed Virtual Machine.
|
||||
This VM can then be used to test concepts with VPP or as a development
|
||||
platform to extend VPP. Some obvious caveats apply when using a VM for VPP
|
||||
@ -91,11 +87,10 @@ for this can be found [on the Setting up Vagrant wiki page]
|
||||
(https://wiki.fd.io/view/DEV/Setting_Up_Vagrant).
|
||||
|
||||
|
||||
## More information
|
||||
## More information.
|
||||
|
||||
Several modules provide documentation, see @subpage user_doc for more
|
||||
end-user-oriented information. Also see @subpage dev_doc for developer notes.
|
||||
information.
|
||||
|
||||
Visit the [VPP wiki](https://wiki.fd.io/view/VPP) for details on more
|
||||
advanced building strategies and other development notes.
|
||||
|
||||
advanced building strategies and development notes.
|
||||
|
137
RELEASE.md
Normal file
137
RELEASE.md
Normal file
@ -0,0 +1,137 @@
|
||||
Release Notes
|
||||
=============
|
||||
|
||||
## Features
|
||||
|
||||
- [Integrated July 2016 DPDK release](http://www.dpdk.org/doc/guides/rel_notes/release_16_07.html)
|
||||
- DPDK-vhost is depreciated pending a complete rework of the original integration and
|
||||
addressing of rx performance deltas.
|
||||
- Patches required for DPDK 16.07:
|
||||
- Correctly setting the Packet Type in the IGB, IXGBE and i40e drivers.
|
||||
- Correctly setting checksum in the i40e driver.
|
||||
- NXP DPAA2 PMD Driver.
|
||||
- rte_delay (yield) functionality.
|
||||
|
||||
- Add “in tree” plugins:
|
||||
- IPv6 ILA.
|
||||
- iOAM.
|
||||
- Load Balancer.
|
||||
- SNAT.
|
||||
|
||||
- High-performance (line-rate) “neutron like” L4 port-filtering.
|
||||
|
||||
- API refactoring - addressing some of the issues around JVPP bindings.
|
||||
- Accommodating plugins [(e.g. NSH_SFC)](https://wiki.fd.io/view/NSH_SFC)
|
||||
- Binding for [python](https://wiki.fd.io/view/VPP/Python_API)
|
||||
|
||||
- LISP
|
||||
- L2 LISP overlays
|
||||
- Multitenancy
|
||||
- Multihoming
|
||||
- RTR mode
|
||||
- Map-resolver failover algorithm
|
||||
|
||||
- Support 64-bit vector lengths, huge shared-memory segments.
|
||||
|
||||
- Dynamic IP Feature ordering
|
||||
- IP Features can now specify features they appear before and after
|
||||
|
||||
- 16.09 Builds
|
||||
- Ubuntu 14.04 LTS - Trusty Tahr
|
||||
- Ubuntu 16.04 LTS - Xenial Xerus
|
||||
- CentOS 7
|
||||
- More information on [VPP wiki](https://wiki.fd.io/view/VPP/Installing_VPP_binaries_from_packages)
|
||||
|
||||
- Performance, characterize and document performance for this release
|
||||
[(more information on CSIT page)](https://wiki.fd.io/view/CSIT)
|
||||
|
||||
- IPv4 and IPv6 Scale - performance tests.
|
||||
- Bidirectional 10k/100k/1M flows.
|
||||
- 64B,570B, 1518B,9000B packet sizes.
|
||||
- IPv6 iACL - performance
|
||||
- DUT1 and DUT2 are configured with IPv6 routing, two static IPv6 /64 routes and IPv6 iAcl
|
||||
security whitelist ingress /64 filter entries applied on links.
|
||||
- TG traffic profile contains two L3 flow-groups (flow-group per direction, 253 flows per
|
||||
flow-group) with all packets containing Ethernet header, IPv6 header and generated payload.
|
||||
MAC addresses are matching MAC addresses of the TG node interfaces.
|
||||
|
||||
- L2XC VXLANoIPv4 - performance
|
||||
- DUT1 and DUT2 are configured with L2 cross-connect. VXLAN tunnels are configured between
|
||||
L2XCs on DUT1 and DUT2.
|
||||
- TG traffic profile contains two L3 flow-groups (flow-group per direction, 253 flows per
|
||||
flow-group) with all packets containing Ethernet header, IPv4 header with IP protocol=61
|
||||
and generated payload. MAC addresses are matching MAC addresses of the TG node interfaces.
|
||||
|
||||
- Documentation
|
||||
- Autogenerated CLI documentation.
|
||||
- Using doxygen to automate API/Node documentation.
|
||||
- [(available online)](https://docs.fd.io/vpp/16.09/)
|
||||
|
||||
- Resolved all static analysis issues found by Coverity
|
||||
- Beginning of 16.09 cycle: 505 issues.
|
||||
- Release: 0 outstanding issues.
|
||||
|
||||
|
||||
## Known issues
|
||||
|
||||
Issues in fd.io are tracked in [JIRA](https://jira.fd.io)
|
||||
|
||||
Issue | Description
|
||||
--- | ---
|
||||
VPP-391 | vpp debug version assert appeared in the process of start
|
||||
VPP-380 | Mapping algorithm compute wrong ea-bits when IPv4 prefix 0.0.0.0/0
|
||||
VPP-371 | load_one_plugin:63: Loaded plugin: message from vppctl
|
||||
VPP-367 | vpp packages need to depend on specific versions of each other
|
||||
VPP-312 | IP6 FIB gets in indeterminate state by duplicating commands
|
||||
VPP-224 | Lookup-in-vrf can not be set correctly
|
||||
VPP-206 | Fix classify table delete
|
||||
VPP-203 | Fix binary API for reading vpp node graph
|
||||
VPP-147 | Inconsistent behaviour when adding L2 FIB filter entry
|
||||
VPP-99 | VPP doesn't discard DHCPOFFER message with wrong XID
|
||||
|
||||
|
||||
## Issues fixed
|
||||
|
||||
Issues in fd.io are tracked in [JIRA](https://jira.fd.io)
|
||||
|
||||
Issue | Description
|
||||
--- | ---
|
||||
VPP-396 | Ubuntu systems Graphviz bug
|
||||
VPP-390 | vpp-lib rpm fails to include *.so symlinks, causing linking problems with out of tree builds
|
||||
VPP-388 | IPSec output feature assumes packets have been ethernet rewritten
|
||||
VPP-385 | ARP for indirect adjacencies not working correctly
|
||||
VPP-361 | Memory leak on delete of VXLAN over IPv6 tunnel
|
||||
VPP-357 | VNI not set correctly when removing LISP fwd entries
|
||||
VPP-349 | sw_interface_vhost_user_dump not working
|
||||
VPP-345 | net/enic: bad L4 checksum ptype set on ICMP packets
|
||||
VPP-340 | MAP-T wrong destination address
|
||||
VPP-330 | Use fifo to store LISP pending map-requests
|
||||
VPP-326 | map_add_domain VAT command: unable to configure domain with mtu parameter
|
||||
VPP-318 | The map_add_domain VAT command accepts invalid arguments
|
||||
VPP-315 | Fix "show vxlan-gpe" issue
|
||||
VPP-310 | Mapping algorithm compute wrong ea-bits
|
||||
VPP-239 | LISP IP forwarding does not tag packets that hit negative mapping entries
|
||||
VPP-235 | Invalid help in VAT for sw_interface_set_l2_bridge
|
||||
VPP-228 | Mapping algorithm sends packet to wrong IPv6 address
|
||||
VPP-214 | vpp-api-test: api_ipsec_sad_add_del_entry: vector "ck" not initialized
|
||||
VPP-200 | VPP - TAP port create problem
|
||||
VPP-189 | Coverity Issues for 16.09
|
||||
VPP-184 | u16 translating to char ,not short
|
||||
VPP-179 | Adjacency share-count botch
|
||||
VPP-163 | "show ip6 interface" ignores non-global addresses
|
||||
VPP-155 | Netmap: Inconsistency in interface state between "show hardware" and "show interface"
|
||||
VPP-145 | Dynamically compute IP feature ordering based on constraints
|
||||
VPP-137 | VPP sends ARP with wrong requested IP
|
||||
VPP-118 | JVpp: 0 length arrays not handled properly in VPP responses
|
||||
VPP-112 | linux kernel info missing from build log
|
||||
VPP-110 | vxlan encap node should never touch a deleted tunnel
|
||||
VPP-107 | RPM build broken in master
|
||||
VPP-92 | segment routing is not properly filling out the segment list
|
||||
VPP-91 | segment routing add/del tunnel lookup doesn't work
|
||||
VPP-84 | af_packet throws a fatal error on EAGAIN
|
||||
VPP-74 | Clang compile fails due to warning in vlib/unix/cli.c
|
||||
VPP-64 | Top level "make pkg-deb" fails if CDPATH is set in user env.
|
||||
VPP-48 | Traceroute does not terminate when VPP is the target
|
||||
VPP-23 | CLI pager does not gracefully handle lines longer than the terminal width
|
||||
|
||||
|
@ -1,12 +0,0 @@
|
||||
# Copyright (c) 2015 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:
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
55
build-data/packages/cavium-dpdk.mk
Normal file
55
build-data/packages/cavium-dpdk.mk
Normal file
@ -0,0 +1,55 @@
|
||||
# Temporary until Cavium upstreams their work
|
||||
|
||||
cavium-dpdk_configure = \
|
||||
src_dir=$(call find_source_fn,$(PACKAGE_SOURCE)) ; \
|
||||
dst_dir=$(PACKAGE_BUILD_DIR) ; \
|
||||
tar -C $${src_dir} -cf - . | tar -C $${dst_dir} -xf - ; \
|
||||
cd $${dst_dir} ; \
|
||||
: colossal hemorrhoid to configure headroom ; \
|
||||
if [ x$($(PACKAGE)_configure_args_$(PLATFORM)) = "x" ] ; then \
|
||||
HR=256 ; \
|
||||
else \
|
||||
dpdk_configure_args=$($(PACKAGE)_configure_args_$(PLATFORM)) ; \
|
||||
if [ $$dpdk_configure_args = "--with-headroom=256" ] ; then \
|
||||
HR=256 ; \
|
||||
elif [ $$dpdk_configure_args = "--with-headroom=384" ] ; then \
|
||||
HR=384 ; \
|
||||
else \
|
||||
HR=256 ; \
|
||||
fi ; \
|
||||
fi ; \
|
||||
env HR=$$HR \
|
||||
spp -o \
|
||||
$(PACKAGE_BUILD_DIR)/config/common_linuxapp \
|
||||
$(PACKAGE_BUILD_DIR)/config/common_linuxapp.spp \
|
||||
; \
|
||||
env $(CONFIGURE_ENV) \
|
||||
make config T=arm64-thunderx-linuxapp-gcc RTE_ARCH=arm64 \
|
||||
CC=aarch64-thunderx-linux-gnu-gcc V=0 \
|
||||
RTE_SDK=$(PACKAGE_BUILD_DIR) \
|
||||
RTE_TARGET=arm-default-linuxapp-gcc
|
||||
|
||||
# Note: add e.g. "-O0" to EXTRA_CFLAGS if desired: EXTRA_CFLAGS='-g -O0'
|
||||
|
||||
cavium-dpdk_make_args = install T=arm64-thunderx-linuxapp-gcc RTE_ARCH=arm64 \
|
||||
CC=aarch64-thunderx-linux-gnu-gcc V=0 \
|
||||
RTE_SDK=$(PACKAGE_BUILD_DIR) \
|
||||
RTE_TARGET=arm-default-linuxapp-gcc
|
||||
|
||||
cavium-dpdk_install = \
|
||||
src_dir=$(PACKAGE_BUILD_DIR) ; \
|
||||
dst_dir=$(PACKAGE_INSTALL_DIR) ; \
|
||||
tar -h -C $${src_dir}/arm64-thunderx-linuxapp-gcc -cf - . \
|
||||
| tar -C $${dst_dir} -xf -
|
||||
|
||||
# dpdk libraries end up in .../lib not .../lib64. Fix it.
|
||||
cavium-dpdk_post_install = \
|
||||
if [ "$(arch_lib_dir)" != "lib" ] ; then \
|
||||
mkdir -p $(PACKAGE_INSTALL_DIR)/$(arch_lib_dir) ; \
|
||||
cd $(PACKAGE_INSTALL_DIR)/lib ; \
|
||||
tar cf - . | ( cd $(PACKAGE_INSTALL_DIR)/$(arch_lib_dir); tar xf - ) ; \
|
||||
fi
|
||||
|
||||
# nothing to install, all static libraries
|
||||
cavium-dpdk_image_include = echo
|
||||
|
40
build-data/packages/dpdk.mk
Normal file
40
build-data/packages/dpdk.mk
Normal file
@ -0,0 +1,40 @@
|
||||
|
||||
DPDK_MARCH = $(strip $($(PLATFORM)_dpdk_arch))
|
||||
ifeq ($(DPDK_MARCH),)
|
||||
DPDK_MARCH="native"
|
||||
endif
|
||||
|
||||
DPDK_TUNE = $(strip $($(PLATFORM)_mtune))
|
||||
ifeq ($(DPDK_TUNE),)
|
||||
DPDK_TUNE="generic"
|
||||
endif
|
||||
|
||||
ifneq (,$(findstring debug,$(TAG)))
|
||||
DPDK_DEBUG=y
|
||||
else
|
||||
DPDK_DEBUG=n
|
||||
endif
|
||||
|
||||
DPDK_MAKE_ARGS = -C $(call find_source_fn,$(PACKAGE_SOURCE)) \
|
||||
DPDK_BUILD_DIR=$(PACKAGE_BUILD_DIR) \
|
||||
DPDK_INSTALL_DIR=$(PACKAGE_INSTALL_DIR) \
|
||||
DPDK_MARCH=$(DPDK_MARCH) \
|
||||
DPDK_TUNE=$(DPDK_TUNE) \
|
||||
DPDK_DEBUG=$(DPDK_DEBUG)
|
||||
|
||||
|
||||
DPDK_PLATFORM_TARGET=$(strip $($(PLATFORM)_dpdk_target))
|
||||
ifneq ($(DPDK_PLATFORM_TARGET),)
|
||||
DPDK_MAKE_ARGS += DPDK_TARGET=$(DPDK_PLATFORM_TARGET)
|
||||
endif
|
||||
|
||||
DPDK_MAKE_EXTRA_ARGS = $(strip $($(PLATFORM)_dpdk_make_extra_args))
|
||||
ifneq ($(DPDK_MAKE_EXTRA_ARGS),)
|
||||
DPDK_MAKE_ARGS += DPDK_MAKE_EXTRA_ARGS="$(DPDK_MAKE_EXTRA_ARGS)"
|
||||
endif
|
||||
|
||||
dpdk_configure = echo
|
||||
|
||||
dpdk_make_args = $(DPDK_MAKE_ARGS) config
|
||||
|
||||
dpdk_install = make $(DPDK_MAKE_ARGS) build
|
@ -1,45 +0,0 @@
|
||||
# Copyright (c) 2015 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:
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
external_source = build
|
||||
|
||||
ifneq (,$(findstring debug,$(TAG)))
|
||||
DPDK_DEBUG=y
|
||||
else
|
||||
DPDK_DEBUG=n
|
||||
endif
|
||||
|
||||
DPDK_MAKE_ARGS = -C $(call find_source_fn,$(PACKAGE_SOURCE)) \
|
||||
BUILD_DIR=$(PACKAGE_BUILD_DIR) \
|
||||
INSTALL_DIR=$(PACKAGE_INSTALL_DIR) \
|
||||
DPDK_DEBUG=$(DPDK_DEBUG)
|
||||
|
||||
DPDK_MLX5_PMD=$(strip $($(PLATFORM)_uses_dpdk_mlx5_pmd))
|
||||
ifneq ($(DPDK_MLX5_PMD),)
|
||||
DPDK_MAKE_ARGS += DPDK_MLX5_PMD=y
|
||||
endif
|
||||
|
||||
DPDK_MLX4_PMD=$(strip $($(PLATFORM)_uses_dpdk_mlx4_pmd))
|
||||
ifneq ($(DPDK_MLX4_PMD),)
|
||||
DPDK_MAKE_ARGS += DPDK_MLX4_PMD=y
|
||||
endif
|
||||
|
||||
ifeq ("$(V)","1")
|
||||
DPDK_MAKE_ARGS += DPDK_VERBOSE=1
|
||||
endif
|
||||
|
||||
external_configure = echo
|
||||
|
||||
external_build = echo
|
||||
|
||||
external_install = $(MAKE) $(DPDK_MAKE_ARGS) -C external ebuild-build ebuild-install
|
@ -1 +0,0 @@
|
||||
# empty file
|
5
build-data/packages/g2.mk
Normal file
5
build-data/packages/g2.mk
Normal file
@ -0,0 +1,5 @@
|
||||
g2_configure_depend = vppinfra-install
|
||||
|
||||
g2_CPPFLAGS = $(call installed_includes_fn, vppinfra)
|
||||
|
||||
g2_LDFLAGS = $(call installed_libs_fn, vppinfra)
|
@ -1,22 +1,9 @@
|
||||
# Copyright (c) 2015 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:
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
gmod_configure_depend = vpp-install
|
||||
gmod_configure_depend = vppinfra-install svm-install
|
||||
|
||||
gmod_configure_args = --libdir=$(PACKAGE_INSTALL_DIR)/$(arch_lib_dir)/ganglia
|
||||
|
||||
gmod_CPPFLAGS = $(call installed_includes_fn, vpp)
|
||||
gmod_CPPFLAGS = $(call installed_includes_fn, vppinfra svm)
|
||||
gmod_CPPFLAGS += -I/usr/include/apr-1.0 -I/usr/include/apr-1 -I/usr/include
|
||||
gmod_LDFLAGS = $(call installed_libs_fn, vpp)
|
||||
gmod_LDFLAGS = $(call installed_libs_fn, vppinfra svm)
|
||||
|
||||
gmod_image_include = echo $(arch_lib_dir)/ganglia/libgmodvpp.so etc
|
||||
|
@ -1,35 +0,0 @@
|
||||
# Copyright (c) 2017-2018 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:
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
libmemif_source = extras
|
||||
libmemif_configure_subdir = libmemif
|
||||
|
||||
ifneq ($(shell which cmake3),)
|
||||
CMAKE?=cmake3
|
||||
else
|
||||
CMAKE?=cmake
|
||||
endif
|
||||
|
||||
libmemif_cmake_args ?=
|
||||
libmemif_cmake_args += -DCMAKE_INSTALL_PREFIX:PATH=$(PACKAGE_INSTALL_DIR)
|
||||
libmemif_cmake_args += -DCMAKE_C_FLAGS="$($(TAG)_TAG_CFLAGS)"
|
||||
libmemif_cmake_args += -DCMAKE_SHARED_LINKER_FLAGS="$($(TAG)_TAG_LDFLAGS)"
|
||||
libmemif_cmake_args += -DCMAKE_PREFIX_PATH:PATH="$(PACKAGE_INSTALL_DIR)/../vpp"
|
||||
|
||||
libmemif_configure = \
|
||||
cd $(PACKAGE_BUILD_DIR) && \
|
||||
$(CMAKE) -G Ninja $(libmemif_cmake_args) $(call find_source_fn,$(PACKAGE_SOURCE))$(PACKAGE_SUBDIR)
|
||||
|
||||
libmemif_build = $(CMAKE) --build $(PACKAGE_BUILD_DIR) -- $(MAKE_PARALLEL_FLAGS)
|
||||
|
||||
libmemif_install = $(CMAKE) --build $(PACKAGE_BUILD_DIR) -- install
|
5
build-data/packages/perftool.mk
Normal file
5
build-data/packages/perftool.mk
Normal file
@ -0,0 +1,5 @@
|
||||
perftool_configure_depend = vppinfra-install
|
||||
|
||||
perftool_CPPFLAGS = $(call installed_includes_fn, vppinfra)
|
||||
|
||||
perftool_LDFLAGS = $(call installed_libs_fn, vppinfra)
|
43
build-data/packages/plugins.mk
Normal file
43
build-data/packages/plugins.mk
Normal file
@ -0,0 +1,43 @@
|
||||
plugins_configure_depend = \
|
||||
vppinfra-install \
|
||||
vlib-api-install \
|
||||
vpp-api-test-install \
|
||||
vnet-install \
|
||||
vlib-install
|
||||
|
||||
plugins_CPPFLAGS = $(call installed_includes_fn, \
|
||||
vppinfra \
|
||||
vlib \
|
||||
vnet \
|
||||
svm \
|
||||
vpp-api-test \
|
||||
vlib-api)
|
||||
|
||||
plugins_LDFLAGS = $(call installed_libs_fn, \
|
||||
vppinfra \
|
||||
vlib \
|
||||
vlib-api)
|
||||
|
||||
ifeq ($($(PLATFORM)_enable_tests),yes)
|
||||
plugins_configure_args += --enable-tests
|
||||
endif
|
||||
|
||||
# Platform dependent configure flags
|
||||
plugins_configure_args += $(plugins_configure_args_$(PLATFORM))
|
||||
|
||||
# include & link with openssl only if needed
|
||||
ifneq ($($(PLATFORM)_uses_openssl),no)
|
||||
plugins_CPPFLAGS += $(call installed_includes_fn, openssl)
|
||||
plugins_LDFLAGS += $(call installed_libs_fn, openssl)
|
||||
endif
|
||||
|
||||
ifneq ($($(PLATFORM)_uses_dpdk),no)
|
||||
ifeq ($($(PLATFORM)_uses_external_dpdk),yes)
|
||||
plugins_CPPFLAGS += -I$($(PLATFORM)_dpdk_inc_dir)
|
||||
plugins_LDFLAGS += -L$($(PLATFORM)_dpdk_lib_dir)
|
||||
else
|
||||
plugins_configure_depend += dpdk-install
|
||||
plugins_CPPFLAGS += $(call installed_includes_fn, dpdk)
|
||||
plugins_LDFLAGS += $(call installed_libs_fn, dpdk)
|
||||
endif
|
||||
endif
|
@ -1,40 +0,0 @@
|
||||
# Copyright (c) 2015 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:
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
sample-plugin_source = src
|
||||
sample-plugin_configure_subdir = examples/sample-plugin
|
||||
sample-plugin_configure_depend = vpp-install
|
||||
sample-plugin_CPPFLAGS = $(call installed_includes_fn, vpp)
|
||||
sample-plugin_LDFLAGS = $(call installed_libs_fn, vpp)
|
||||
sample-plugin_PATH = $(call package_install_dir_fn,vpp)/bin
|
||||
|
||||
ifneq ($(shell which cmake3),)
|
||||
CMAKE?=cmake3
|
||||
else
|
||||
CMAKE?=cmake
|
||||
endif
|
||||
|
||||
sample-plugin_cmake_args ?=
|
||||
sample-plugin_cmake_args += -DCMAKE_INSTALL_PREFIX:PATH=$(PACKAGE_INSTALL_DIR)
|
||||
sample-plugin_cmake_args += -DCMAKE_C_FLAGS="$($(TAG)_TAG_CFLAGS)"
|
||||
sample-plugin_cmake_args += -DCMAKE_SHARED_LINKER_FLAGS="$($(TAG)_TAG_LDFLAGS)"
|
||||
sample-plugin_cmake_args += -DCMAKE_PREFIX_PATH:PATH="$(PACKAGE_INSTALL_DIR)/../vpp"
|
||||
|
||||
sample-plugin_configure = \
|
||||
cd $(PACKAGE_BUILD_DIR) && \
|
||||
$(CMAKE) -G Ninja $(sample-plugin_cmake_args) \
|
||||
$(call find_source_fn,$(PACKAGE_SOURCE))$(PACKAGE_SUBDIR)
|
||||
|
||||
sample-plugin_build = $(CMAKE) --build $(PACKAGE_BUILD_DIR) -- $(MAKE_PARALLEL_FLAGS)
|
||||
|
||||
sample-plugin_install = $(CMAKE) --build $(PACKAGE_BUILD_DIR) -- install
|
@ -1,12 +0,0 @@
|
||||
# Copyright (c) 2015 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:
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
5
build-data/packages/svm.mk
Normal file
5
build-data/packages/svm.mk
Normal file
@ -0,0 +1,5 @@
|
||||
svm_top_srcdir = $(call find_source_fn,svm)
|
||||
svm_configure_depend = vppinfra-install
|
||||
|
||||
svm_CPPFLAGS = $(call installed_includes_fn, vppinfra)
|
||||
svm_LDFLAGS = $(call installed_libs_fn, vppinfra)
|
6
build-data/packages/vlib-api-cavium-dpdk.mk
Normal file
6
build-data/packages/vlib-api-cavium-dpdk.mk
Normal file
@ -0,0 +1,6 @@
|
||||
vlib-api-cavium-dpdk_source = vlib-api
|
||||
|
||||
vlib-api-cavium-dpdk_configure_depend = vppinfra-install svm-install vlib-cavium-dpdk-install
|
||||
|
||||
vlib-api-cavium-dpdk_CPPFLAGS = $(call installed_includes_fn, vppinfra svm vlib-cavium-dpdk)
|
||||
vlib-api-cavium-dpdk_LDFLAGS = $(call installed_libs_fn, vppinfra svm vlib-cavium-dpdk)
|
4
build-data/packages/vlib-api.mk
Normal file
4
build-data/packages/vlib-api.mk
Normal file
@ -0,0 +1,4 @@
|
||||
vlib-api_configure_depend = vppinfra-install svm-install vlib-install
|
||||
|
||||
vlib-api_CPPFLAGS = $(call installed_includes_fn, vppinfra svm vlib)
|
||||
vlib-api_LDFLAGS = $(call installed_libs_fn, vppinfra svm vlib)
|
7
build-data/packages/vlib-cavium-dpdk.mk
Normal file
7
build-data/packages/vlib-cavium-dpdk.mk
Normal file
@ -0,0 +1,7 @@
|
||||
vlib-cavium-dpdk_source = vlib
|
||||
vlib-cavium-dpdk_configure_depend = vppinfra-install cavium-dpdk-install
|
||||
|
||||
vlib-cavium-dpdk_configure_args += --with-dpdk
|
||||
|
||||
vlib-cavium-dpdk_CPPFLAGS = $(call installed_includes_fn, vppinfra cavium-dpdk)
|
||||
vlib-cavium-dpdk_LDFLAGS = $(call installed_libs_fn, vppinfra cavium-dpdk)
|
16
build-data/packages/vlib.mk
Normal file
16
build-data/packages/vlib.mk
Normal file
@ -0,0 +1,16 @@
|
||||
vlib_configure_depend = vppinfra-install
|
||||
|
||||
vlib_CPPFLAGS = $(call installed_includes_fn, vppinfra)
|
||||
vlib_LDFLAGS = $(call installed_libs_fn, vppinfra)
|
||||
|
||||
ifneq ($($(PLATFORM)_uses_dpdk),no)
|
||||
vlib_configure_args += --with-dpdk
|
||||
ifeq ($($(PLATFORM)_uses_external_dpdk),yes)
|
||||
vlib_CPPFLAGS += -I$($(PLATFORM)_dpdk_inc_dir)
|
||||
vlib_LDFLAGS += -L$($(PLATFORM)_dpdk_lib_dir)
|
||||
else
|
||||
vlib_configure_depend += dpdk-install
|
||||
vlib_CPPFLAGS += $(call installed_includes_fn, dpdk)
|
||||
vlib_LDFLAGS += $(call installed_libs_fn, dpdk)
|
||||
endif
|
||||
endif
|
29
build-data/packages/vnet-cavium-dpdk.mk
Normal file
29
build-data/packages/vnet-cavium-dpdk.mk
Normal file
@ -0,0 +1,29 @@
|
||||
vnet-cavium-dpdk_source = vnet
|
||||
|
||||
vnet-cavium-dpdk_configure_depend = \
|
||||
vppinfra-install \
|
||||
cavium-dpdk-install \
|
||||
svm-install \
|
||||
vlib-api-cavium-dpdk-install \
|
||||
vlib-cavium-dpdk-install
|
||||
|
||||
|
||||
vnet-cavium-dpdk_CPPFLAGS = $(call installed_includes_fn, \
|
||||
vppinfra \
|
||||
cavium-dpdk \
|
||||
openssl \
|
||||
svm \
|
||||
vlib-cavium-dpdk \
|
||||
vlib-api-cavium-dpdk)
|
||||
|
||||
vnet-cavium-dpdk_LDFLAGS = $(call installed_libs_fn, \
|
||||
vppinfra \
|
||||
cavium-dpdk \
|
||||
openssl \
|
||||
svm \
|
||||
vlib-cavium-dpdk \
|
||||
vlib-api-cavium-dpdk)
|
||||
|
||||
# Platform dependent configure flags
|
||||
vnet-cavium-dpdk_configure_args += $(vnet-cavium-dpdk_configure_args_$(PLATFORM))
|
||||
|
41
build-data/packages/vnet.mk
Normal file
41
build-data/packages/vnet.mk
Normal file
@ -0,0 +1,41 @@
|
||||
vnet_configure_depend = \
|
||||
vppinfra-install \
|
||||
svm-install \
|
||||
vlib-api-install \
|
||||
vlib-install
|
||||
|
||||
vnet_CPPFLAGS = $(call installed_includes_fn, \
|
||||
vppinfra \
|
||||
svm \
|
||||
vlib \
|
||||
vlib-api)
|
||||
|
||||
vnet_LDFLAGS = $(call installed_libs_fn, \
|
||||
vppinfra \
|
||||
svm \
|
||||
vlib \
|
||||
vlib-api)
|
||||
|
||||
ifeq ($($(PLATFORM)_enable_tests),yes)
|
||||
vnet_configure_args += --enable-tests
|
||||
endif
|
||||
|
||||
# Platform dependent configure flags
|
||||
vnet_configure_args += $(vnet_configure_args_$(PLATFORM))
|
||||
|
||||
# include & link with openssl only if needed
|
||||
ifneq ($($(PLATFORM)_uses_openssl),no)
|
||||
vnet_CPPFLAGS += $(call installed_includes_fn, openssl)
|
||||
vnet_LDFLAGS += $(call installed_libs_fn, openssl)
|
||||
endif
|
||||
|
||||
ifneq ($($(PLATFORM)_uses_dpdk),no)
|
||||
ifeq ($($(PLATFORM)_uses_external_dpdk),yes)
|
||||
vnet_CPPFLAGS += -I$($(PLATFORM)_dpdk_inc_dir)
|
||||
vnet_LDFLAGS += -L$($(PLATFORM)_dpdk_lib_dir)
|
||||
else
|
||||
vnet_configure_depend += dpdk-install
|
||||
vnet_CPPFLAGS += $(call installed_includes_fn, dpdk)
|
||||
vnet_LDFLAGS += $(call installed_libs_fn, dpdk)
|
||||
endif
|
||||
endif
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user