Compare commits

..

49 Commits

Author SHA1 Message Date
Pierre Pfister
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
Pierre Pfister
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 064f55da7798f3a4c790b656dba71b32a3b82a5c)
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
Chris Luke
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
Keith Burns (alagalah)
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
Pierre Pfister
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
Ed Warnicke
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
Keith Burns (alagalah)
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
Chris Luke
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
Billy McFall
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
Billy McFall
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
Ed Warnicke
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
Pierre Pfister
861698f9f1 vhost user buffer allocation and counter fix for 1609
This patch backports parts of ba1d04641454 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
Shwetha
a4b01cb2b4 VPP-341: iOAM plugin documentation
Change-Id: I0042ce8b8a70bb709765037c3636be667ad88aa2
Signed-off-by: Shwetha <shwethab@cisco.com>
(cherry picked from commit f074eef0409a64475e840f59581306273313b218)
2016-09-11 20:50:17 +00:00
Keith Burns (alagalah)
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
Ed Warnicke
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
Chris Luke
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
Chris Luke
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
Florin Coras
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 fb28e9a80c8e36db0a3a484a20e9e0114be517bd)
2016-09-08 14:55:29 +00:00
Chris Luke
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
Chris Luke
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
Ed Warnicke
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
Keith Burns (alagalah)
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
Keith Burns (alagalah)
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
Florin Coras
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 5a1c11b53f60f4339e893b1a24cfc6515d2b08f7)
2016-09-06 23:00:48 +00:00
Florin Coras
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 ce98275ac31f1120c263d22d667841e6e7a7b936)
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
Florin Coras
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
Ed Warnicke
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 406ab9d3657d028c974069ce63807a88dfa62a4f)
2016-09-06 15:01:48 +00:00
Ed Warnicke
6b85ac7fa1 VPP-373: stop building from /vpp mount
Change-Id: I7f8fe8fa6c24b4229b0cb45e6c83e7cb2828e2da
Signed-off-by: Ed Warnicke <eaw@cisco.com>
(cherry picked from commit 3ba4d36d927444cfd1929c3d130af7dc9194ea6c)
2016-09-06 15:01:48 +00:00
Filip Tehlar
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
Ed Warnicke
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 f53db2a6c2a7e511716018aa37bc8ae8d0c18156)
2016-09-01 18:35:51 +00:00
Filip Tehlar
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 5a4e2dde94262a6f93c0c87be81a10317f2ae426)
2016-08-30 19:28:58 +00:00
John Lo
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
Steve Shin
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 5e15c91b6c2b5fbd7f989c5dc4edde506d254926)
2016-08-30 03:07:00 +00:00
Steve Shin
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 82a7af95e7553747dcebdb865a9c9a67826745d4)
2016-08-30 01:47:57 +00:00
Filip Tehlar
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 e3552c45f38d1f101cf512c9046647201d6c121b)
2016-08-27 10:40:26 +00:00
Florin Coras
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
Sean Chandler
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 dc731bd4b1ad6ea588334c681d1409cbdec9ce67)
2016-08-26 12:39:33 +00:00
Keith Burns (alagalah)
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
Keith Burns (alagalah)
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
Filip Tehlar
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 251aec436b9e3be15f92a464fa4559396b115b2a)
2016-08-25 12:14:47 +00:00
Damjan Marion
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
Ole Troan
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
Filip Tehlar
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 3cd9e730f9db0d998e5e8a27ddff1da5a123625b)
2016-08-23 13:27:23 +00:00
Dave Barach
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
5290 changed files with 404144 additions and 1285133 deletions

View File

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

View File

@ -1,8 +0,0 @@
Checks: "-*,\
misc-*,\
bugprone-*,\
-bugprone-reserved-identifier,\
-performance-*,\
clang-analyzer-*,\
-clang-analyzer-valist.Uninitialized,\
"

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

View File

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

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

View File

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

105
INFO.yaml
View File

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

File diff suppressed because it is too large Load Diff

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

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

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

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

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

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