Compare commits

..

49 Commits

Author SHA1 Message Date
22665d23e1 Vhost: Add thread sync while receiving vhost message
It is important to stop the working threads while
some operations are performed on the working threads.

This is a backport of a fix brought in commit e21c52861d.
This should solve Jira ticket VPP526

Change-Id: I6deb27f5de44f0f19401161ee6adecaba86dae1a
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-11-09 10:16:57 +00:00
d1f3123795 Update tx and output node runtime when recycling interface
When an interface is removed, and another one is created,
the nodes from the previous interface are reused. The current
code fails when the new interface type differs from the original.
It is necessary to update the node runtime, in particular the
node function, and the node format function.

Jira: VPP-460

Change-Id: I2fc3c609e0173a7f62597230768669039853ab03
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
(cherry picked from commit 064f55da77)
2016-11-04 12:30:49 +00:00
Jan
638aee3e84 Use released 1609 CSIT branch for test in stable/1609 VPP branch
- csit branch changed from oper-rls1609-161009 to rls1609

Change-Id: I20b70960794f67a4f779a7cbae446a7f485a0336
Signed-off-by: Jan Gelety <jgelety@cisco.com>
2016-11-04 12:03:59 +01:00
Jan
c021053491 Update CSIT tests 160919 -> 160925
- update of CSIT operational branch to be used for VPP-patch test
  in VPP branch stable/1609

Change-Id: I7e9d4993356016f02fe173b94b5477231480290d
Signed-off-by: Jan Gelety <jgelety@cisco.com>
2016-09-26 12:16:52 +02:00
019886e7e6 Temporary fix for CLI doc macro expansion; VPP-417
One CLI initializer has been modified temporarily to
avoid macro expansion that the siphon CLI documentation parser
doesn't understand.

Removed macros: ila_type_list, ila_csum_list and ila_direction_list.

Also make docs use the official version without the offset-from-tag
count we would other wise get in this stable release.

Change-Id: I52e1fa215f540583f0610200ec28349e67f56a32
Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-09-20 22:18:07 -04:00
Jan
dd8e9a5dc5 Update CSIT tests 160912 -> 160919
- update of CSIT operational branch to be used for VPP-patch test
  in VPP branch stable/1609

Change-Id: I0045726035b09f97f55f817f1581b86fd9f34b1a
Signed-off-by: Jan <jgelety@cisco.com>
2016-09-19 12:38:16 +02:00
21bc8624f5 Update of release notes, disable SIXRD; VPP-412
Change-Id: I74ca4846e41f1bd8b4bf384f4c1e5791d0481f6d
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-09-16 22:00:30 +00:00
9b15f28295 Add ILA API and API test plugin VPP-412
The ILA plugin could only be configured through CLI.
This patch adds API support to ila_interface and
ila_add_del_entry functions.
The patch also adds a test plugin for vpp_api_test.

Change-Id: I35d96c4e56bb32862cd08cc86a9fa25ff56ef583
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-09-16 16:25:23 +00:00
2dfd08242d Fix vpp-plugins rpms
vpp by default looks in /usr/lib/vpp_plugins
rpmbuild has ${_libdir} as /usr/lib64

Thus vpp doesn't see the plugins.

Change-Id: Iecbc491940678728305c181b04bb0914ad174bf1
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-09-14 17:31:17 -07:00
bcc0cf6137 16.09 Release Notes - VPP-135
Change-Id: I9a2ae5dc859e73682003175a8987d49bf0729d02
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-09-14 13:59:20 -07:00
0f53393c82 Add structure to some of the documentation; VPP-223
Moves the random .md files into a config examples tree

Change-Id: If423b82f1047f1c84f90876a786313054b5f7c77
Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-09-14 18:03:31 +00:00
1a30f38192 VPP-282: Document changes for vnet/vnet/ethernet
Change-Id: Ie75f43516fdd76ba3720f65f38d66f14749e3e2d
Signed-off-by: Billy McFall <bmcfall@redhat.com>
2016-09-14 17:06:52 +00:00
4eaae3d363 VPP-306: Document changes for vnet/vnet/vxlan
Change-Id: I1ec4a80ee431758998716014e3fb6f80a5b9c168
Signed-off-by: Billy McFall <bmcfall@redhat.com>
2016-09-14 10:59:04 -04:00
Jan
56ca4b7688 Update CSIT tests 160904 -> 160912
- update of CSIT operational branch to be used for VPP-patch test
  in VPP branch stable/1609

Change-Id: Ia053d152dd20bbd0f967313ac058e0b7be1db585
Signed-off-by: Jan <jgelety@cisco.com>
2016-09-13 01:33:37 +00:00
0d49712e05 VPP-402 Provide vpp-plugins rpm packaging
Change-Id: Ifbd99818ead5f38c5f8ad3ecdb36b24a9fa59798
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-09-12 21:31:59 +00:00
861698f9f1 vhost user buffer allocation and counter fix for 1609
This patch backports parts of ba1d046414 to 1609 branch:
- Bug allocation error (Not enough buffers were allocated)
- Dropped packet counting bugfix

Those fixes are more critical than what I expected.

DO NOT CHERRY-PICK TO MASTER
Sorry for the inconveniance.

Change-Id: I96bd9beb54924ab13fc87e6d4546cd9fa4dd6725
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-09-12 07:59:35 +00:00
a4b01cb2b4 VPP-341: iOAM plugin documentation
Change-Id: I0042ce8b8a70bb709765037c3636be667ad88aa2
Signed-off-by: Shwetha <shwethab@cisco.com>
(cherry picked from commit f074eef040)
2016-09-11 20:50:17 +00:00
61a7a7fb9f Move CLI examples from wiki to code - VPP-165
Change-Id: I50ad0d79a6ffaf0a51848abf2c5ed57e83c8640f
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-09-11 20:33:27 +00:00
0024dfb307 Peg vpp and vpp-plugins to depend on specific versions; VPP-367
vpp now depends on the version of vpp-lib it was built with
vpp-plugins now depends on the version of vpp it was built with

Change-Id: Idf706f94d3a35bdf51930badf61cac288855873d
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-09-11 13:47:05 +00:00
2cb4e68aae Check for zero-sized Graphvix config file on Ubuntu; VPP-396
- The previous change only accounted for a missing Graphviz config
  file; apparently it can be zero-sized too.

Change-Id: Ic6957d10cdc7cb7b9da72d2b2a0f8913100870c5
Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-09-09 20:20:09 -04:00
331f1a8eac On Ubuntu check for graphviz system config; VPP-396
- Sometimes it seems Ubuntu doesn't always set up the Graphviz
  handler config. If it's missing, generate it.
  https://bugs.launchpad.net/ubuntu/+source/graphviz/+bug/1349026

Change-Id: I2c1e566817de8415f8b360c6f967cd76307a2a52
Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-09-09 18:16:31 -04:00
73a52de862 VPP-388 Improve IP header lookup in ipsec_output
Change-Id: I5df0067c9ce56d7a15a991b82d4761924d91758b
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from commit fb28e9a80c)
2016-09-08 14:55:29 +00:00
fcaa2f1010 VPP-223 Various documentation fixes.
[Note: This is an amalgamation of two patches on master with
only the parts relevant to stable included. See 16bcf7d8 and
d4024f58]

This is a cleanup of some obvious syntactic issues with Doxygen
tags in the documentation. It is not an attempt to improve the
documentation itself.

Change-Id: I278ad91fe980243778f84560c5e4b84a9423dc09
Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-09-07 15:17:14 -04:00
78e0e3af70 VPP-221 CLI auto-documentation infrastructure
[Note: This is an amalgamation of several patches cherry-picked from
master all related to introducing auto-CLI documentation. See commits
d4024f58 ee4743ad 16bcf7d8 e0d802bc 54ccf226]

As a step before Doxygen, extract CLI-related struct initializers
from the code and parse that into a summary of the CLI commands
available with the provided help text, such as it is. At the moment
this only renders this into an indexed Markdown file that Doxygen
then picks up but later we can use this information to enrich the
existing VLIB_CLI_COMMAND macro documentor as well as provide
runtime documentation to VPP that is stored on disk outside the
binary image.

Additionally support a comment block immediately prior to
VLIB_CLI_COMMAND CLI command definitions in the form /*? ... ?*/
that can be used to include long-form documentation without having
it compiled into VPP.

Examples of documenting CLI commands can be found in
vlib/vlib/unix/cli.c which, whilst not perfect, should provide a
starting point. Screen captures of sample output can be seen at
https://chrisy.flirble.org/vpp/doxy-cli-example.png and
https://chrisy.flirble.org/vpp/doxy-cli-index.png .

Next, shift the Doxygen root makefile targets to their own Makefile.
The primary reason for this is that the siphon targets do dependency
tracking which means it needs to generate those dependencies whenever
make is run; that is pointless if we're not going to generate any
documentation. This includes the package dependencies since they since
they sometimes unnecessarily interfere with the code build in some cases
at the moment; later we will look to building a Python venv to host the
Python modules we use.

One final remark: In future we may consider deprecating .long_help
in the VLIB_CLI_COMMAND structure entirely but add perhaps .usage_help.
.short_help would be reserved for a summary of the command function
and .usage_help provide the syntax of that command. These changes would
provide great semantic value to the automaticly generated CLI
documentation. I could also see having .long_help replaced by a
mechanism that reads it from disk at runtime with a rudimentary
Markdown/Doxygen filter so that we can use the same text that is used in
the published documentation.

Change-Id: I8afccfd7fe2096411d8064ac954ca5a2cbca9ae7
Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-09-07 15:16:36 -04:00
c1ac47b61c VPP-390: include *.so symlinks in vpp-lib
Currently, vpp-lib rpm includes symlinks for

*.so.0 -> *.so.0.0.0

but not

*.so -> *.so.0.0.0

This causes linker issues in cases where vpp-lib and vpp-devel rpms
are installed and sources are built that rely on libraries in vpp-lib.

Example:

libtool: link: gcc -shared -fPIC -DPIC jvpp/.libs/libjvpp_nsh_la-jvpp_nsh.o -lvlibmemoryclient -lvlibapi -lsvm -lvppinfra -lpthread -lm -lrt -ljvpp_common -L/usr/lib64 -O2 -Wl,-soname -Wl,libjvpp_nsh.so.0 -o .libs/libjvpp_nsh.so.0.0.0
/usr/bin/ld: cannot find -lvlibmemoryclient
/usr/bin/ld: cannot find -lvlibapi
/usr/bin/ld: cannot find -lsvm
/usr/bin/ld: cannot find -lvppinfra
collect2: error: ld returned 1 exit status

Change-Id: Ic8eebc696f973ea348be0b43e7cfb289efbe44fe
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-09-07 17:15:18 +00:00
c278ebdd39 VPP-307 - vnet/vnet/vxlan-gpe Documentation fixes
Change-Id: Icd7b82306f49e8148d5e7b2fccd8b5f1005f935d
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-09-07 13:18:41 +00:00
d193b8e41d VPP-303 - Documentation changes for vnet/vnet/sr
Change-Id: If8b76959d7c29c216bf03609483a2c9e1d034f46
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-09-07 13:18:07 +00:00
c2787a42ff VPP-386 Fix map-server output in lisp-cp-lookup trace
Change-Id: I67dd7896932b8ea96062b9ff074959c172b51ba4
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from commit 5a1c11b53f)
2016-09-06 23:00:48 +00:00
c16427e794 VPP-381 Add LISP interfaces to sw_interface_dump
Change-Id: I62b65472e77a33b1fc94f7c4975b5e9cbf358f41
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from commit ce98275ac3)
2016-09-06 20:05:19 +00:00
Jan
7d3322a388 Update CSIT tests 160821 -> 160904
- update of CSIT operational branch to be used for VPP-patch test
  in VPP branch stable/1609

Change-Id: I4dfd568d1078e0ce92053dd64225dd043f556575
Signed-off-by: Jan <jgelety@cisco.com>
2016-09-06 18:48:41 +00:00
73bb1458f7 VPP-385: Fix ARP for indirect adjacencies
Change-Id: I48cffb8acbd9e6655d7ec661ee8f7e0689b12a2d
Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-09-06 17:15:21 +00:00
88ccc91ba9 VPP-374: getting jvppgen.py into rpm vpp-devel package
Change-Id: Ia2643f33170da92fde0f8228c8d8393f23e98d11
Signed-off-by: Ed Warnicke <eaw@cisco.com>
(cherry picked from commit 406ab9d365)
2016-09-06 15:01:48 +00:00
6b85ac7fa1 VPP-373: stop building from /vpp mount
Change-Id: I7f8fe8fa6c24b4229b0cb45e6c83e7cb2828e2da
Signed-off-by: Ed Warnicke <eaw@cisco.com>
(cherry picked from commit 3ba4d36d92)
2016-09-06 15:01:48 +00:00
a7601b44ac VPP-375: Fix LSIP locator set hash table on addition
Change-Id: Iec9e6538d2731ba12ae8338b72fdc3a0bd5f0c69
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-09-02 17:45:56 +02:00
6214326f41 VPP-371: Fix for vppctl to suppress "load_one_plugin:63: Loaded plugin:" msgs
Change-Id: I06fcb024036b48a6401d2865a2181b122cb32108
Signed-off-by: Ed Warnicke <eaw@cisco.com>
(cherry picked from commit f53db2a6c2)
2016-09-01 18:35:51 +00:00
08377f8ff7 VPP-365: Fix sending of bd_index in lisp_eid_table_add_del_map
Change-Id: I1f8fd65fa33b0bc7ee07aa0eeb5f794a7ede9537
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
(cherry picked from commit 5a4e2dde94)
2016-08-30 19:28:58 +00:00
2544ca81c3 VPP-361: Memory leak on delete of VXLAN over IPv6 tunnel
The key for VXLAN over IPv6 tunnel is allocated on create and should
be freed on delete.

Change-Id: I11bdd9465030fed57cc4bbd28dbccdf952633b34
Signed-off-by: John Lo <loj@cisco.com>
2016-08-30 00:10:09 -04:00
eb5cad76ea vhost-user: unmap previously configured memory if necessary
If there's any memory-mapped region configued previously,
it should be unmapped before setting up a new vhost memory table.
Otherwise, huge page leakage will happen.

Change-Id: I375f603ea303919f1502df44a26a7384ab2ea00e
Signed-off-by: Steve Shin <jonshin@cisco.com>
(cherry picked from commit 5e15c91b6c)
2016-08-30 03:07:00 +00:00
d7935e8c42 tuntap_rx modification to handle jumbo packets ( > 2K bytes)
Change-Id: Iebe30b87457741ac268b24c96fa7ea8ad1e101a6
Signed-off-by: Steve Shin <jonshin@cisco.com>
(cherry picked from commit 82a7af95e7)
2016-08-30 01:47:57 +00:00
94195c85fe VPP-356: Fix wrong byte order in LISP API
Change-Id: Ib2284025b8394a87f1d5765713adb7070b450cba
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
(cherry picked from commit e3552c45f3)
2016-08-27 10:40:26 +00:00
ab4e86cb95 VPP-357 Fix vni for LISP fwd entry removals
Change-Id: I5d20c1939f7a5a142bf696b34143f7ebca6afbcb
Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-08-26 16:46:52 +00:00
ea60221218 VPP-345: pull in upstream checksum patch for ICMP packets
http://www.dpdk.org/dev/patchwork/patch/15216/

Change-Id: I91b67f3e5c0abff52626e504e2707814ae0c3ed0
Signed-off-by: Sean Chandler <seandchandler@gmail.com>
(cherry picked from commit dc731bd4b1)
2016-08-26 12:39:33 +00:00
217872424d VPP-305: Documentation for vnet/vnet/unix
Change-Id: I3f1a225033ecebe0cedfc3466b552176461b76ab
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-08-26 12:38:42 +00:00
aa4338556e VPP-307: Documentation for vnet/vnet/vxlan-gpe
Change-Id: Iaab6f4b63ed0d986be1ac0636c692b46098ad54d
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-08-25 13:56:13 -07:00
52ecf85946 VPP-321: Fix param order of unformat_lisp_eid_api
Change-Id: Ib00ca0f0dab4784a3fb34ffd91c18a3940e9a5d5
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
(cherry picked from commit 251aec436b)
2016-08-25 12:14:47 +00:00
78c7daaf6d Fix issues with vhost-user when dpdk vhost-user is disabled, fixes VPP-347, VPP-349
Change-Id: I774bab98e43d55678a67a7708ca50edbbd4cbb06
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-08-25 07:42:37 +00:00
8b66c77920 VPP-340: MAP-T wrong destination address
The bug was in VAT MAP code parsing a 32 bit integer into a 8 bit
type.  Perhaps we should try to build some defences in
unformat_chech_input() to avoid these errors.

Rebuild.

Change-Id: Iae4959f7e04d889da2e9650a4201c4db15d74201
Signed-off-by: Ole Troan <ot@cisco.com>
2016-08-24 18:50:12 +02:00
a20d317e63 VPP-342: Don't allow remote mapping to overwrite local or static mapping
Change-Id: I9888d7c087da538b81a6a1967edbdf1103cc095a
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
(cherry picked from commit 3cd9e730f9)
2016-08-23 13:27:23 +00:00
dbc6e3f0bb Change default branch in .gitreview
Change-Id: Ia39cdfd2b3d6c9dbe252dff0bcea3ba0adabdaaf
Signed-off-by: Dave Barach <dave@barachs.net>
2016-08-17 20:26:03 -04:00
4240 changed files with 380673 additions and 1011255 deletions

View File

@ -1,38 +0,0 @@
---
AlignEscapedNewlinesLeft: true
AlignTrailingComments: true
AllowAllParametersOfDeclarationOnNextLine: true
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false
AllowShortFunctionsOnASingleLine: false
AlwaysBreakBeforeMultilineStrings: false
BreakBeforeBinaryOperators: false
BreakBeforeTernaryOperators: true
BinPackParameters: true
BreakBeforeBraces: GNU
ColumnLimit: 79
IndentCaseLabels: false
MaxEmptyLinesToKeep: 1
PenaltyBreakBeforeFirstCallParameter: 19
PenaltyBreakComment: 60
PenaltyBreakString: 1000
PenaltyBreakFirstLessLess: 120
PenaltyExcessCharacter: 1000000
PenaltyReturnTypeOnItsOwnLine: 60
PointerBindsToType: false
SpaceBeforeAssignmentOperators: true
SpaceBeforeParens: Always
SpacesBeforeTrailingComments: 1
SpacesInParentheses: false
SpaceInEmptyParentheses: false
SpacesInCStyleCastParentheses: false
SpaceAfterControlStatementKeyword: true
Cpp11BracedListStyle: true
Standard: Cpp11
SortIncludes: false
IndentWidth: 2
TabWidth: 4
UseTab: Never
IndentFunctionDeclarationAfterType: false
ContinuationIndentWidth: 4
...

View File

@ -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)
#
# --------------------

59
.gitignore vendored
View File

@ -8,33 +8,27 @@
/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/*.deb
/build-root/*.rpm
/build-root/*.tar.xz
/build-root/*.changes
/build-root/rpmbuild/
/build-root/test-doc/
/build-root/test-cov/
/test/run/
/test/build/
/test/coverage/
/build-config.mk
/build/external/*.tar.gz
/build/external/*.tar.xz
/build/external/vpp-*.deb
/build/external/vpp-*.changes
/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
@ -52,63 +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/_build
/sphinx_venv
!/docs/Makefile
# language servers
compile_commands.json
.clangd
# 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*

View File

@ -2,4 +2,4 @@
host=gerrit.fd.io
port=29418
project=vpp
defaultbranch=stable/2005
defaultbranch=stable/1609

111
INFO.yaml
View File

@ -1,111 +0,0 @@
---
project: 'vpp'
project_creation_date: '2015-12-08'
project_category: ''
lifecycle_state: 'Incubation'
project_lead: &vpp_ptl
name: 'Dave Barach'
email: 'openvpp@barachs.net'
id: 'dbarach'
company: ''
timezone: ''
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'
timezone: ''
- name: 'Florin Coras'
company: 'cisco'
email: 'florin.coras@gmail.com'
id: 'florin.coras'
timezone: ''
- name: 'Benoit Ganne'
company: 'cisco'
email: 'bganne@cisco.com'
id: 'bganne'
timezone: ''
- name: 'John Lo'
company: 'cisco'
email: 'loj@cisco.com'
id: 'lojohn'
timezone: ''
- name: 'Chris Luke'
company: 'comcast'
email: 'chris_luke@comcast.com'
id: 'chrisluke'
timezone: ''
- name: 'Damjan Marion'
company: 'cisco'
email: 'damarion@cisco.com'
id: 'dmarion'
timezone: ''
- name: 'Neale Ranns'
company: 'cisco'
email: 'nranns@cisco.com'
id: 'nranns'
timezone: ''
- name: 'Matthew Smith'
company: 'netgate'
email: 'mgsmith@netgate.com'
id: 'mgsmith'
timezone: ''
- name: 'Ole Trøan'
company: 'employees'
email: 'otroan@employees.org'
id: 'otroan'
timezone: ''
- name: 'Paul Vinciguerra'
company: 'vinciconsulting'
email: 'pvinci@vinciconsulting.com'
id: 'pvinci'
timezone: ''
- name: 'Dave Wallace'
company: 'gmail'
email: 'dwallacelf@gmail.com'
id: 'dwallacelf'
timezone: ''
- name: 'Ed Warnicke'
company: 'gmail'
email: 'hagbard@gmail.com'
id: 'hagbard'
timezone: ''
- name: 'Andrew Yourtchenko'
company: 'cisco'
email: 'ayourtch@cisco.com'
id: 'ayourtch'
timezone: ''
tsc:
# yamllint disable rule:line-length
approval: ''
changes:
- type: 'removal'
name: ''
link: ''
- type: 'promotion'
name: ''
link: ''

File diff suppressed because it is too large Load Diff

738
Makefile

File diff suppressed because it is too large Load Diff

View File

@ -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
@ref release_notes.
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 |
| doxygen | Documentation generator configuration |
| dpdk | DPDK patches and build infrastructure |
| @ref extras/libmemif | Client library for memif |
| @ref src/examples | VPP example code |
| @ref src/plugins | VPP bundled plugins directory |
| @ref src/svm | Shared virtual memory allocation library |
| src/tests | Standalone tests (not part of test harness) |
| src/vat | VPP API test program |
| @ref src/vlib | VPP application library |
| @ref src/vlibapi | VPP API library |
| @ref src/vlibmemory | VPP Memory management |
| @ref src/vnet | VPP networking |
| @ref src/vpp | VPP application |
| @ref src/vpp-api | VPP application API bindings |
| @ref src/vppinfra | VPP core library |
| @ref 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,16 +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.
## Test Framework
There is PyDoc generated documentation available for the VPP test framework.
See @ref test_framework_doc for details.
advanced building strategies and development notes.

6933
RELEASE.md

File diff suppressed because it is too large Load Diff

View File

@ -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.

View 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

View 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

View File

@ -1,60 +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_MLX_IBVERBS_DLOPEN=$(strip $($(PLATFORM)_uses_dpdk_ibverbs_link_dlopen))
ifneq ($(DPDK_MLX_IBVERBS_DLOPEN),)
DPDK_MAKE_ARGS += DPDK_MLX_IBVERBS_DLOPEN=y
endif
DPDK_MLX4_PMD=$(strip $($(PLATFORM)_uses_dpdk_mlx4_pmd))
ifneq ($(DPDK_MLX4_PMD),)
DPDK_MAKE_ARGS += DPDK_MLX4_PMD=y
endif
DPDK_PLATFORM_TARGET=$(strip $($(PLATFORM)_dpdk_target))
ifneq ($(DPDK_PLATFORM_TARGET),)
DPDK_MAKE_ARGS += DPDK_TARGET=$(DPDK_PLATFORM_TARGET)
endif
ifneq (,$(TARGET_PLATFORM))
DPDK_MAKE_ARGS += DPDK_AARCH64_GENERIC=n
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
external_configure = echo
external_make_args = $(DPDK_MAKE_ARGS) -C external ebuild-build
external_install = make $(DPDK_MAKE_ARGS) -C external ebuild-install

View File

@ -1 +0,0 @@
# empty file

View File

@ -0,0 +1,5 @@
g2_configure_depend = vppinfra-install
g2_CPPFLAGS = $(call installed_includes_fn, vppinfra)
g2_LDFLAGS = $(call installed_libs_fn, vppinfra)

View File

@ -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

View File

@ -1,40 +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"
# Use devtoolset on centos 7
ifneq ($(wildcard /opt/rh/devtoolset-9/enable),)
libmemif_cmake_args += -DCMAKE_PROGRAM_PATH:PATH="/opt/rh/devtoolset-9/root/bin"
endif
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

View File

@ -0,0 +1,5 @@
perftool_configure_depend = vppinfra-install
perftool_CPPFLAGS = $(call installed_includes_fn, vppinfra)
perftool_LDFLAGS = $(call installed_libs_fn, vppinfra)

View 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

View File

@ -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.
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"
# Use devtoolset on centos 7
ifneq ($(wildcard /opt/rh/devtoolset-9/enable),)
sample-plugin_cmake_args += -DCMAKE_PROGRAM_PATH:PATH="/opt/rh/devtoolset-9/root/bin"
endif
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

View File

@ -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.

View 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)

View 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)

View 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)

View 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)

View 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

View 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))

View 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

View File

@ -1,45 +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.
vom_configure_depend = vpp-install
vom_source = extras
vom_configure_subdir = vom
ifneq ($(shell which cmake3),)
CMAKE?=cmake3
else
CMAKE?=cmake
endif
vom_cmake_args ?=
vom_cmake_args += -DCMAKE_INSTALL_PREFIX:PATH=$(PACKAGE_INSTALL_DIR)
vom_cmake_args += -DCMAKE_CXX_FLAGS="$($(TAG)_TAG_CPPFLAGS)"
vom_cmake_args += -DCMAKE_SHARED_LINKER_FLAGS="$($(TAG)_TAG_LDFLAGS)"
vom_cmake_args += -DCMAKE_PREFIX_PATH:PATH="$(PACKAGE_INSTALL_DIR)/../vpp"
# Use devtoolset on centos 7
ifneq ($(wildcard /opt/rh/devtoolset-9/enable),)
vom_cmake_args += -DCMAKE_PROGRAM_PATH:PATH="/opt/rh/devtoolset-9/root/bin"
endif
vom_configure = \
cd $(PACKAGE_BUILD_DIR) && \
$(CMAKE) -G Ninja $(vom_cmake_args) $(call find_source_fn,$(PACKAGE_SOURCE))$(PACKAGE_SUBDIR)
vom_build = $(CMAKE) --build $(PACKAGE_BUILD_DIR) -- $(MAKE_PARALLEL_FLAGS)
vom_install = $(CMAKE) --build $(PACKAGE_BUILD_DIR) -- install
vom-package-deb: vom-install
@$(CMAKE) --build $(PACKAGE_BUILD_DIR)/vom -- package
@find $(PACKAGE_BUILD_DIR)/vom -name '*.deb' -exec mv {} $(CURDIR) \;

View File

@ -0,0 +1,32 @@
vpp-api-test-cavium-dpdk_source = vpp-api-test
vpp-api-test-cavium-dpdk_configure_depend = \
vppinfra-install \
cavium-dpdk-install \
svm-install \
vlib-api-cavium-dpdk-install \
vlib-cavium-dpdk-install \
vnet-cavium-dpdk-install \
vpp-cavium-dpdk-install
#
vpp-api-test-cavium-dpdk_configure_args = --with-dpdk
vpp-api-test-cavium-dpdk_CPPFLAGS = $(call installed_includes_fn, \
vppinfra \
cavium-dpdk \
svm \
vlib-cavium-dpdk \
vlib-api-cavium-dpdk \
vnet-cavium-dpdk \
vpp-cavium-dpdk)
vpp-api-test-cavium-dpdk_LDFLAGS = $(call installed_libs_fn, \
vppinfra \
cavium-dpdk \
svm \
vlib-cavium-dpdk \
vlib-api-cavium-dpdk \
vnet-cavium-dpdk \
vpp-cavium-dpdk)

Some files were not shown because too many files have changed in this diff Show More