summaryrefslogtreecommitdiffstats
path: root/docs
AgeCommit message (Collapse)AuthorFilesLines
2019-10-29docs: Fix warning with sphinx build, add script to publish docsJohn DeNisco2-1/+73
Signed-off-by: John DeNisco <jdenisco@cisco.com> Change-Id: Ic17585bcb4196e5b0661104745f67d6a02ab6b3d
2019-10-28docs: cleanup typos on readthroughPaul Vinciguerra51-102/+101
Type: style Change-Id: I3b15035ea6c13cd1ca3cdc9dfa9b10a6e1be9880 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-10-09docs: Add macos build documentationNathan Skrzypczak2-0/+58
Type: docs Change-Id: Iee03aacab2cfcb4e87190302dc641e8273b7f096 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-10-07docs: grammar police raidDave Barach1-7/+9
Edit the front-page intro text. Fix egregious grammar errors, including an "it's" vs. "its" blunder. Type: docs Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: If9d7d07899c402cd49bbae988110a15216035b02
2019-10-04docs: add packet-generator writeupDave Barach1-0/+183
Type: docs Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I4abb5c17e6fdfeaed5bbadb2ce83098dde6d05b1
2019-09-26misc: add vnet classify filter set supportDave Barach1-7/+20
Type: feature Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I79b216d2499df143f53977e5b70382f6f887e0bc
2019-09-23misc: unify pcap rx / tx / drop traceDave Barach1-8/+16
Use a single vnet_pcap_t in vlib_global_main, specifically to support unified tracing Update sphinx docs, doxygen tags Type: refactor Ticket: VPP-1776 Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: Id15d41a596712968c0714cef1bd2cd5bc9cbdd55
2019-09-20misc: classifier-based packet trace filterDave Barach1-0/+108
See .../src/vnet/classify/trace_classify.h for the business end of the scheme. It would be best to hash pkts, prefetch buckets, and do the primary table lookups two at a time. The inline as given works, but perf tuning will be required. "At least it works..." Add "classify filter" debug cli, for example: classify filter mask l3 ip4 src dst \ match l3 ip4 dst 192.168.2.10 src 192.168.1.10 Add "pcap rx | tx trace ... filter" to use the current classify filter chain Patch includes sphinx documentation and doxygen tags. Next step: device-driver integration Type: feature Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I05b1358a769f61e6d32470e0c87058f640486b26
2019-09-11docs: run-sphinx-docs-mergedjdenisco2-3/+3
Type: docs Signed-off-by: jdenisco <jdenisco@cisco.com> Change-Id: I571222f3e3672253930700e23cca4812dde84a6d
2019-09-09docs: improve unformat documentationDave Barach1-8/+120
Specifically: document the unformat specifiers "%=", "%|", and correct usage of unformat_line_input. Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I254f9c4a61c5c8d3edbf76f521e5f38fb89150f1
2019-08-26misc: 19.08 new featuresAndrew Yourtchenko2-0/+141
The full RELEASE.md diff is b610f2022c9f4e10a922e7b57c80ec77cd45d021 Change-Id: Ide6d85d41bdc836a03390a50ab94f6ebbaae0b28 Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com> (cherry picked from commit 1c586de48cc76fc6eac50f5d87003e2a80aa43e7)
2019-08-08docs: Add Ray's ACL use casejdenisco5-0/+489
Change-Id: Id99f16953a23a4be4cc1fb94419ea8282fa720e8 Signed-off-by: jdenisco <jdenisco@cisco.com>
2019-08-08api: api socket respect unix runtime directoryOle Troan1-2/+2
socksvr {} should respect the unix runtime directory. Default is now /run/vpp/api.sock The 'default' keyword is deprecated. The user is responsible for creating directories outside of the unix runtime directory. Not yet done: Exit VPP when socket cannot be opened. (currently only process exits). Type: fix Signed-off-by: Ole Troan <ot@cisco.com> Change-Id: I6dd66ed58a3d7e02674dfa16d72c1d7bba07b79e
2019-08-05docs: Add more quic plugin documentationNathan Skrzypczak4-0/+2
Type: docs Change-Id: I0209769f73a46ddad7c2625ad0f774ee2eef43dd Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-08-01docs: Small fixes and orderingNathan Skrzypczak3-0/+20
* deactivtates the TODOs on doxygen (were empty) * This move punt.md to readthedocs (should be the new place for dev doc ?) * Makes Handoff queue demo plugin a child of dev doc in doxygen Type: fix Change-Id: I1f0476a911b35208212af8dd608bc76160efd22a Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-07-26docs: add binary api trace replay detailsDave Barach1-7/+81
Folks need to know that they MUST carefully control the set of plugins to avoid feeding messages to the wrong binary API message handlers. Change-Id: Iefeeda6670aae4627446caee21717b847305c9b5 Signed-off-by: Dave Barach <dave@barachs.net>
2019-07-22docs: improve home gateway use-case documentationDave Barach1-18/+131
Add plugin config, systemd config, netplan config, software installation via ssh, and a quick HowTo for setting up a double-nat test gateway. Fix a minor doc bug which caused a complaint on vpp-dev@lists.fd.io: /etc/vpp/startup.conf -> /setup.gate, but the vpp configuration file wasn't explicitly tagged with the name /setup.gate. Type: docs Change-Id: Ib219040d7c3c8b50ed66f8e9d3afd3dcf51b6b7b Signed-off-by: Dave Barach <dave@barachs.net>
2019-07-19docs: Fix conf.py for read the docsjdenisco2-3/+2
Change-Id: Iaaf9e6ef5acc82fb751c851cc943cf0c48a8940d Signed-off-by: jdenisco <jdenisco@cisco.com>
2019-07-12docs: add compressed core file descriptionDave Barach1-0/+27
To the issue reporting page Change-Id: I3d2b53521bcb1b9b4a85802a84427f17390f0f77 Type: docs Signed-off-by: Dave Barach <dave@barachs.net>
2019-07-12docs: how to enable coredump with systemdBenoît Ganne1-0/+4
Type: docs Change-Id: I1f657389fec716cc6cdc942803e65f861ffea5f5 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-06-27docs: Update the vhost sectionjdenisco4-8/+11
Change-Id: Ic7a144ffda0d0a3e0f6f9bc1a4790ab36fdf002e Signed-off-by: jdenisco <jdenisco@cisco.com>
2019-05-30FIB: correctly report IPv6 FIB Unicast and Multicast memory usage (VPP-1578)"Neale Ranns3-2/+286
and document scaling Change-Id: I65d8999e65616d77e525963c770d91e9b0d5e593 Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-05-28docs: Add some packages for building the docsjdenisco2-2/+13
Change-Id: I7af427ba6378ddd8480a153a65ec11c578bab12e Signed-off-by: jdenisco <jdenisco@cisco.com>
2019-05-17docs: Fix Versions and Titlesjdenisco4-7/+7
Change-Id: I131e33a570bff8b22c767585d03e2eb281dd7184 Signed-off-by: jdenisco <jdenisco@cisco.com>
2019-05-16docs: Update sphinx, requirements, support markdown tablesjdenisco9-30/+50
Change-Id: Ie7c546f5720b10fe5423397204e1ab5c22d7a2ba Signed-off-by: jdenisco <jdenisco@cisco.com>
2019-05-16DOC ONLY: document VLIB_INIT_FUNCTION schemeDave Barach1-4/+49
Change-Id: I15c4256621da6c8d47b1a7c41755ee6587996757 Signed-off-by: Dave Barach <dave@barachs.net>
2019-05-10docs: Add 1904jdenisco6-17/+133
Change-Id: Icf0e01d1dec69d48664ed633205248359b653f4d Signed-off-by: jdenisco <jdenisco@cisco.com>
2019-04-30Sphinx docs: Fix security vulnerability (VPP-1655)Dave Wallace1-1/+1
Change-Id: I9b11d15866d708eb843936ebfd120940d284a2de Signed-off-by: Dave Wallace <dwallacelf@gmail.com> (cherry picked from commit facb4d44475cd0040cc8964be30180e1adeb2021)
2019-04-29DOC ONLY: add a buffer metadata writeupDave Barach2-1/+192
Change-Id: Ic8034cfe3d3c5a9c3d32e97e93e5d9334cc58ca2 Signed-off-by: Dave Barach <dave@barachs.net>
2019-04-25docs: Add VPP inside the CloudFrancesco Spinelli9-4/+805
This commit updates the VPP docs, adding the VPP deployment and configuration inside the cloud Change-Id: I97322deb57f0dfb1aa46cca301adbc91ce4a19f6 Signed-off-by: Francesco Spinelli <francescospinelli94@live.it>
2019-04-08fixing typosJim Thompson1-1/+1
Change-Id: I215e1e0208a073db80ec6f87695d734cf40fabe3 Signed-off-by: Jim Thompson <jim@netgate.com>
2019-03-22DOC-ONLY: improve multi-arch documentationDave Barach2-0/+88
Document CLIB_MARCH_FN and CLIB_MARCH_FN_SELECT Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I661ba2af79db8205d70fa87203d40a2e31b795e4
2019-03-21docs: break up long lines in vmxnet3.rst to avoid line wrapSteven Luong1-21/+34
Although it does not make a difference for the formatter with long lines, it is easier to view and read the raw text with conventional editor when there no line wrap. Just break up the long lines to 80 characters or less. Change-Id: Ia916638e974abd19b8d19aee4dd72ff6a243ca48 Signed-off-by: Steven Luong <sluong@cisco.com>
2019-03-19docs: Update vmxnet3 usecaseSteven Luong1-12/+36
Update vmxnet3 usecase to reflect the current supported features. Change-Id: I4558eb422d5b2641b3acfc7c0a3734bf31a8fb0f Signed-off-by: Steven Luong <sluong@cisco.com>
2019-03-15DOC ONLY: fix g2 build documentationDave Barach2-49/+44
Removed a broken paragraph, replaced it with a link. Some nuisance white-space cleanups courtesy of emacs: (add-hook 'before-save-hook 'delete-trailing-whitespace) Change-Id: Ib348107c2dc0df8249461591015347d7b4f6fa4a Signed-off-by: Dave Barach <dave@barachs.net>
2019-03-12DOC ONLY: add packet handoff docDave Barach1-11/+117
Change-Id: I2e8076bb4f697819780e61ff761defdc74bf4f09 Signed-off-by: Dave Barach <dave@barachs.net>
2019-02-27Fix centos build and build documentationjdenisco3-4/+4
Change-Id: I326204d26b613254e39c6a0ffe9f9491981ba3c3 Signed-off-by: jdenisco <jdenisco@cisco.com>
2019-02-27DOC ONLY: update bug report sectionDave Barach1-31/+58
More detail on why it's important to supply .debs or .rpms which precisely match core files. Probably won't help, but we can try... Change-Id: I7842eaea0ef921b934e84b7f18f6a333b1381292 Signed-off-by: Dave Barach <dave@barachs.net>
2019-02-23Add support for 19.01jdenisco3-74/+15
Change-Id: I8583f6f6432d8d7c449f43d62d8707a1718f3240 Signed-off-by: jdenisco <jdenisco@cisco.com>
2019-02-20docs: use python3 for make docs.Paul Vinciguerra1-3/+3
Change-Id: If62b5ef563523b400fb5160d0343210407905094 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-02-19VPP-1504: Remove JVPPMichal Cmarada8-61/+6
As part of JVPP migration this removes JVPP completely from VPP. Change-Id: I6b74e7961aa474ae471e63fe43a624cd9fc3659b Signed-off-by: Michal Cmarada <mcmarada@cisco.com>
2019-01-31docs: Instructions for using vmxnet3 on macjdenisco2-2/+24
Change-Id: Ie6770e3a3801a23a6eb64cf1699ef0018eab6445 Signed-off-by: jdenisco <jdenisco@cisco.com>
2019-01-20buffers: don't init metadata, as it is already initializedDamjan Marion1-3/+0
Change-Id: Ia083050389853c25b069f0f8286d50d3f4aef527 Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-17DOC ONLY: wireshark dissector upstreamedDave Barach2-58/+48
Remove the last remnant from extra/wireshark, update the Sphinx docs Change-Id: I5886557f17192475c03fcb0dfde581e1e63cea5c Signed-off-by: Dave Barach <dave@barachs.net>
2019-01-07Update tcpdump / wireshark packet format writeupDave Barach1-6/+14
Change-Id: I8195bae1421f68a823b86e12373840f5292ac0df Signed-off-by: Dave Barach <dave@barachs.net>
2018-12-17docs: Add vmxmet3 driverjdenisco3-2/+131
Change-Id: I96425804c310a1ac1b7f5f12bb636e591c7bd429 Signed-off-by: jdenisco <jdenisco@cisco.com>
2018-12-17docs: clarify vector element alignment description.Dave Wallace1-5/+8
Change-Id: I6da153779010263e6fc4b51c64b01444aaadca17 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2018-12-13docs: Update the requirementsjdenisco2-10/+10
Change-Id: I80ea8a65317805c6542e338a92a21e6090f6c015 Signed-off-by: jdenisco <jdenisco@cisco.com>
2018-12-06nsim: add packet loss simulation, docsDave Barach2-1/+91
Change-Id: Ic9747541aad8148ebf7d520b525b99c4cc3961f3 Signed-off-by: Dave Barach <dave@barachs.net>
2018-12-06DOC-ONLY: MFIB documentationNeale Ranns4-5/+96
Change-Id: I8c7277584f231dd4732a4c6013e156a5bb821f41 Signed-off-by: Neale Ranns <nranns@cisco.com>
lp: @echo "Make Targets:" @echo " install-dep[s] - install software dependencies" @echo " wipe - wipe all products of debug build " @echo " wipe-release - wipe all products of release build " @echo " build - build debug binaries" @echo " build-release - build release binaries" @echo " build-coverity - build coverity artifacts" @echo " rebuild - wipe and build debug binaries" @echo " rebuild-release - wipe and build release binaries" @echo " run - run debug binary" @echo " run-release - run release binary" @echo " debug - run debug binary with debugger" @echo " debug-release - run release binary with debugger" @echo " test - build and run tests" @echo " test-help - show help on test framework" @echo " run-vat - run vpp-api-test tool" @echo " pkg-deb - build DEB packages" @echo " pkg-deb-debug - build DEB debug packages" @echo " vom-pkg-deb - build vom DEB packages" @echo " vom-pkg-deb-debug - build vom DEB debug packages" @echo " pkg-rpm - build RPM packages" @echo " install-ext-dep[s] - install external development dependencies" @echo " ctags - (re)generate ctags database" @echo " gtags - (re)generate gtags database" @echo " cscope - (re)generate cscope database" @echo " checkstyle - check coding style" @echo " checkstyle-commit - check commit message format" @echo " checkstyle-test - check test framework coding style" @echo " fixstyle - fix coding style" @echo " doxygen - (re)generate documentation" @echo " bootstrap-doxygen - setup Doxygen dependencies" @echo " wipe-doxygen - wipe all generated documentation" @echo " checkfeaturelist - check FEATURE.yaml according to schema" @echo " featurelist - dump feature list in markdown" @echo " json-api-files - (re)-generate json api files" @echo " json-api-files-debug - (re)-generate json api files for debug target" @echo " docs - Build the Sphinx documentation" @echo " docs-venv - Build the virtual environment for the Sphinx docs" @echo " docs-clean - Remove the generated files from the Sphinx docs" @echo "" @echo "Make Arguments:" @echo " V=[0|1] - set build verbosity level" @echo " STARTUP_CONF=<path> - startup configuration file" @echo " (e.g. /etc/vpp/startup.conf)" @echo " STARTUP_DIR=<path> - startup directory (e.g. /etc/vpp)" @echo " It also sets STARTUP_CONF if" @echo " startup.conf file is present" @echo " GDB=<path> - gdb binary to use for debugging" @echo " PLATFORM=<name> - target platform. default is vpp" @echo " TEST=<filter> - apply filter to test set, see test-help" @echo " DPDK_CONFIG=<conf> - add specified dpdk config commands to" @echo " autogenerated startup.conf" @echo " (e.g. \"no-pci\" )" @echo " SAMPLE_PLUGIN=yes - in addition build/run/debug sample plugin" @echo " DISABLED_PLUGINS=<list> - comma separated list of plugins which" @echo " should not be loaded" @echo "" @echo "Current Argument Values:" @echo " V = $(V)" @echo " STARTUP_CONF = $(STARTUP_CONF)" @echo " STARTUP_DIR = $(STARTUP_DIR)" @echo " GDB = $(GDB)" @echo " PLATFORM = $(PLATFORM)" @echo " DPDK_VERSION = $(DPDK_VERSION)" @echo " DPDK_CONFIG = $(DPDK_CONFIG)" @echo " SAMPLE_PLUGIN = $(SAMPLE_PLUGIN)" @echo " DISABLED_PLUGINS = $(DISABLED_PLUGINS)" $(BR)/.deps.ok: ifeq ($(findstring y,$(UNATTENDED)),y) make install-dep endif ifeq ($(filter ubuntu debian,$(OS_ID)),$(OS_ID)) @MISSING=$$(apt-get install -y -qq -s $(DEB_DEPENDS) | grep "^Inst ") ; \ if [ -n "$$MISSING" ] ; then \ echo "\nPlease install missing packages: \n$$MISSING\n" ; \ echo "by executing \"make install-dep\"\n" ; \ exit 1 ; \ fi ; \ exit 0 else ifneq ("$(wildcard /etc/redhat-release)","") @for i in $(RPM_DEPENDS) ; do \ RPM=$$(basename -s .rpm "$${i##*/}" | cut -d- -f1,2,3) ; \ MISSING+=$$(rpm -q $$RPM | grep "^package") ; \ done ; \ if [ -n "$$MISSING" ] ; then \ echo "Please install missing RPMs: \n$$MISSING\n" ; \ echo "by executing \"make install-dep\"\n" ; \ exit 1 ; \ fi ; \ exit 0 endif @touch $@ .PHONY: bootstrap bootstrap: @echo "'make bootstrap' is not needed anymore" .PHONY: install-dep install-dep: ifeq ($(filter ubuntu debian,$(OS_ID)),$(OS_ID)) ifeq ($(OS_VERSION_ID),14.04) @sudo -E apt-get $(CONFIRM) $(FORCE) install software-properties-common endif ifeq ($(OS_ID)-$(OS_VERSION_ID),debian-8) @grep -q jessie-backports /etc/apt/sources.list /etc/apt/sources.list.d/* 2> /dev/null \ || ( echo "Please install jessie-backports" ; exit 1 ) endif @sudo -E apt-get update @sudo -E apt-get $(APT_ARGS) $(CONFIRM) $(FORCE) install $(DEB_DEPENDS) else ifneq ("$(wildcard /etc/redhat-release)","") ifeq ($(OS_ID),rhel) @sudo -E yum-config-manager --enable rhel-server-rhscl-7-rpms @sudo -E yum groupinstall $(CONFIRM) $(RPM_DEPENDS_GROUPS) @sudo -E yum install $(CONFIRM) $(RPM_DEPENDS) @sudo -E debuginfo-install $(CONFIRM) glibc openssl-libs mbedtls-devel zlib else ifeq ($(OS_ID)-$(OS_VERSION_ID),centos-8) @sudo -E dnf groupinstall $(CONFIRM) $(RPM_DEPENDS_GROUPS) @sudo -E dnf install $(CONFIRM) $(RPM_DEPENDS) else ifeq ($(OS_ID),centos) @sudo -E yum install $(CONFIRM) centos-release-scl-rh epel-release @sudo -E yum groupinstall $(CONFIRM) $(RPM_DEPENDS_GROUPS) @sudo -E yum install $(CONFIRM) $(RPM_DEPENDS) @sudo -E debuginfo-install $(CONFIRM) glibc openssl-libs mbedtls-devel zlib else ifeq ($(OS_ID),fedora) @sudo -E dnf groupinstall $(CONFIRM) $(RPM_DEPENDS_GROUPS) @sudo -E dnf install $(CONFIRM) $(RPM_DEPENDS) @sudo -E debuginfo-install $(CONFIRM) glibc openssl-libs mbedtls-devel zlib endif else ifeq ($(filter opensuse-tumbleweed,$(OS_ID)),$(OS_ID)) @sudo -E zypper refresh @sudo -E zypper install -y $(RPM_SUSE_DEPENDS) else ifeq ($(filter opensuse-leap,$(OS_ID)),$(OS_ID)) @sudo -E zypper refresh @sudo -E zypper install -y $(RPM_SUSE_DEPENDS) else ifeq ($(filter opensuse,$(OS_ID)),$(OS_ID)) @sudo -E zypper refresh @sudo -E zypper install -y $(RPM_SUSE_DEPENDS) else $(error "This option currently works only on Ubuntu, Debian, RHEL, CentOS or openSUSE systems") endif git config commit.template .git_commit_template.txt .PHONY: install-deps install-deps: install-dep define make @make -C $(BR) PLATFORM=$(PLATFORM) TAG=$(1) $(2) endef $(BR)/scripts/.version: ifneq ("$(wildcard /etc/redhat-release)","") $(shell $(BR)/scripts/version rpm-string > $(BR)/scripts/.version) else $(shell $(BR)/scripts/version > $(BR)/scripts/.version) endif DIST_FILE = $(BR)/vpp-$(shell src/scripts/version).tar DIST_SUBDIR = vpp-$(shell src/scripts/version|cut -f1 -d-) .PHONY: dist dist: @if git rev-parse 2> /dev/null ; then \ git archive \ --prefix=$(DIST_SUBDIR)/ \ --format=tar \ -o $(DIST_FILE) \ HEAD ; \ git describe > $(BR)/.version ; \ else \ (cd .. ; tar -cf $(DIST_FILE) $(DIST_SUBDIR) --exclude=*.tar) ; \ src/scripts/version > $(BR)/.version ; \ fi @tar --append \ --file $(DIST_FILE) \ --transform='s,.*/.version,$(DIST_SUBDIR)/src/scripts/.version,' \ $(BR)/.version @$(RM) $(BR)/.version $(DIST_FILE).xz @xz -v --threads=0 $(DIST_FILE) @$(RM) $(BR)/vpp-latest.tar.xz @ln -rs $(DIST_FILE).xz $(BR)/vpp-latest.tar.xz .PHONY: build build: $(BR)/.deps.ok $(call make,$(PLATFORM)_debug,$(addsuffix -install,$(TARGETS))) .PHONY: wipedist wipedist: @$(RM) $(BR)/*.tar.xz .PHONY: wipe wipe: wipedist test-wipe $(BR)/.deps.ok $(call make,$(PLATFORM)_debug,$(addsuffix -wipe,$(TARGETS))) @find . -type f -name "*.api.json" ! -path "./test/*" -exec rm {} \; .PHONY: rebuild rebuild: wipe build .PHONY: build-release build-release: $(BR)/.deps.ok $(call make,$(PLATFORM),$(addsuffix -install,$(TARGETS))) .PHONY: wipe-release wipe-release: test-wipe $(BR)/.deps.ok $(call make,$(PLATFORM),$(addsuffix -wipe,$(TARGETS))) .PHONY: rebuild-release rebuild-release: wipe-release build-release libexpand = $(subst $(subst ,, ),:,$(foreach lib,$(1),$(BR)/install-$(2)-native/vpp/$(lib)/$(3))) export TEST_DIR ?= $(WS_ROOT)/test export RND_SEED ?= $(shell python3 -c 'import time; print(time.time())') define test $(if $(filter-out $(3),retest),make -C $(BR) PLATFORM=$(1) TAG=$(2) vpp-install,) $(eval libs:=lib lib64) make -C test \ VPP_BUILD_DIR=$(BR)/build-$(2)-native \ VPP_BIN=$(BR)/install-$(2)-native/vpp/bin/vpp \ VPP_PLUGIN_PATH=$(call libexpand,$(libs),$(2),vpp_plugins) \ VPP_TEST_PLUGIN_PATH=$(call libexpand,$(libs),$(2),vpp_api_test_plugins) \ VPP_INSTALL_PATH=$(BR)/install-$(2)-native/ \ LD_LIBRARY_PATH=$(call libexpand,$(libs),$(2),) \ EXTENDED_TESTS=$(EXTENDED_TESTS) \ PYTHON=$(PYTHON) \ OS_ID=$(OS_ID) \ RND_SEED=$(RND_SEED) \ CACHE_OUTPUT=$(CACHE_OUTPUT) \ $(3) endef .PHONY: test test: $(call test,vpp,vpp,test) .PHONY: test-debug test-debug: $(call test,vpp,vpp_debug,test) .PHONY: test-gcov test-gcov: $(call test,vpp,vpp_gcov,test) .PHONY: test-all test-all: $(if $(filter-out $(3),retest),make -C $(BR) PLATFORM=vpp TAG=vpp vom-install,) $(eval EXTENDED_TESTS=yes) $(call test,vpp,vpp,test) .PHONY: test-all-debug test-all-debug: $(if $(filter-out $(3),retest),make -C $(BR) PLATFORM=vpp TAG=vpp_debug vom-install,) $(eval EXTENDED_TESTS=yes) $(call test,vpp,vpp_debug,test) .PHONY: papi-wipe papi-wipe: test-wipe-papi $(call banner,"This command is deprecated. Please use 'test-wipe-papi'") .PHONY: test-wipe-papi test-wipe-papi: @make -C test papi-wipe .PHONY: test-help test-help: @make -C test help .PHONY: test-wipe test-wipe: @make -C test wipe .PHONY: test-shell test-shell: $(call test,vpp,vpp,shell) .PHONY: test-shell-debug test-shell-debug: $(call test,vpp,vpp_debug,shell) .PHONY: test-shell-gcov test-shell-gcov: $(call test,vpp,vpp_gcov,shell) .PHONY: test-dep test-dep: @make -C test test-dep .PHONY: test-doc test-doc: @make -C test doc .PHONY: test-wipe-doc test-wipe-doc: @make -C test wipe-doc .PHONY: test-cov test-cov: @make -C $(BR) PLATFORM=vpp TAG=vpp_gcov vom-install $(eval EXTENDED_TESTS=yes) $(call test,vpp,vpp_gcov,cov) .PHONY: test-wipe-cov test-wipe-cov: @make -C test wipe-cov .PHONY: test-wipe-all test-wipe-all: @make -C test wipe-all .PHONY: test-checkstyle test-checkstyle: @make -C test checkstyle .PHONY: test-refresh-deps test-refresh-deps: @make -C test refresh-deps .PHONY: retest retest: $(call test,vpp,vpp,retest) .PHONY: retest-debug retest-debug: $(call test,vpp,vpp_debug,retest) .PHONY: retest-all retest-all: $(eval EXTENDED_TESTS=yes) $(call test,vpp,vpp,retest) .PHONY: retest-all-debug retest-all-debug: $(eval EXTENDED_TESTS=yes) $(call test,vpp,vpp_debug,retest) ifeq ("$(wildcard $(STARTUP_CONF))","") define run @echo "WARNING: STARTUP_CONF not defined or file doesn't exist." @echo " Running with minimal startup config: $(MINIMAL_STARTUP_CONF)\n" @cd $(STARTUP_DIR) && \ $(SUDO) $(2) $(1)/vpp/bin/vpp $(MINIMAL_STARTUP_CONF) endef else define run @cd $(STARTUP_DIR) && \ $(SUDO) $(2) $(1)/vpp/bin/vpp $(shell cat $(STARTUP_CONF) | sed -e 's/#.*//') endef endif %.files: .FORCE @find . \( -name '*\.[chyS]' -o -name '*\.java' -o -name '*\.lex' \) -and \ \( -not -path './build-root*' -o -path \ './build-root/build-vpp_debug-native/dpdk*' \) > $@ .FORCE: .PHONY: run run: $(call run, $(BR)/install-$(PLATFORM)_debug-native) .PHONY: run-release run-release: $(call run, $(BR)/install-$(PLATFORM)-native) .PHONY: debug debug: $(call run, $(BR)/install-$(PLATFORM)_debug-native,$(GDB) $(GDB_ARGS) --args) .PHONY: build-coverity build-coverity: $(call make,$(PLATFORM)_coverity,install-packages) .PHONY: debug-release debug-release: $(call run, $(BR)/install-$(PLATFORM)-native,$(GDB) $(GDB_ARGS) --args) .PHONY: build-vat build-vat: $(call make,$(PLATFORM)_debug,vpp-api-test-install) .PHONY: run-vat run-vat: @$(SUDO) $(BR)/install-$(PLATFORM)_debug-native/vpp/bin/vpp_api_test .PHONY: pkg-deb pkg-deb: $(call make,$(PLATFORM),vpp-package-deb) .PHONY: vom-pkg-deb vom-pkg-deb: pkg-deb $(call make,$(PLATFORM),vom-package-deb) .PHONY: pkg-deb-debug pkg-deb-debug: $(call make,$(PLATFORM)_debug,vpp-package-deb) .PHONY: vom-pkg-deb-debug vom-pkg-deb-debug: pkg-deb-debug $(call make,$(PLATFORM)_debug,vom-package-deb) .PHONY: pkg-rpm pkg-rpm: dist make -C extras/rpm .PHONY: pkg-srpm pkg-srpm: dist make -C extras/rpm srpm .PHONY: dpdk-install-dev dpdk-install-dev: $(call banner,"This command is deprecated. Please use 'make install-ext-deps'") make -C build/external install-$(PKG) .PHONY: install-ext-deps install-ext-deps: make -C build/external install-$(PKG) .PHONY: install-ext-dep install-ext-dep: install-ext-deps .PHONY: json-api-files json-api-files: $(WS_ROOT)/src/tools/vppapigen/generate_json.py .PHONY: json-api-files-debug json-api-files-debug: $(WS_ROOT)/src/tools/vppapigen/generate_json.py --debug-target .PHONY: ctags ctags: ctags.files @ctags --totals --tag-relative -L $< @rm $< .PHONY: gtags gtags: ctags @gtags --gtagslabel=ctags .PHONY: cscope cscope: cscope.files @cscope -b -q -v .PHONY: checkstyle checkstyle: checkfeaturelist @build-root/scripts/checkstyle.sh .PHONY: checkstyle-commit checkstyle-commit: @extras/scripts/check_commit_msg.sh .PHONY: checkstyle-test checkstyle-test: test-checkstyle .PHONY: checkstyle-all checkstyle-all: checkstyle-commit checkstyle checkstyle-test .PHONY: fixstyle fixstyle: @build-root/scripts/checkstyle.sh --fix # necessary because Bug 1696324 - Update to python3.6 breaks PyYAML dependencies # Status: CLOSED CANTFIX # https://bugzilla.redhat.com/show_bug.cgi?id=1696324 .PHONY: centos-pyyaml centos-pyyaml: ifeq ($(OS_ID)-$(OS_VERSION_ID),centos-7) @python3 -m pip install pyyaml endif ifeq ($(OS_ID)-$(OS_VERSION_ID),centos-8) @sudo -E yum install $(CONFIRM) python3-pyyaml endif .PHONY: featurelist featurelist: centos-pyyaml @build-root/scripts/fts.py --all --markdown .PHONY: checkfeaturelist checkfeaturelist: centos-pyyaml @build-root/scripts/fts.py --validate --all # # Build the documentation # # Doxygen configuration and our utility scripts export DOXY_DIR ?= $(WS_ROOT)/doxygen define make-doxy @OS_ID="$(OS_ID)" make -C $(DOXY_DIR) $@ endef .PHONY: bootstrap-doxygen bootstrap-doxygen: $(call make-doxy) .PHONY: doxygen doxygen: bootstrap-doxygen $(call make-doxy) .PHONY: wipe-doxygen wipe-doxygen: $(call make-doxy) # Sphinx Documents export DOCS_DIR = $(WS_ROOT)/docs export VENV_DIR = $(WS_ROOT)/sphinx_venv export SPHINX_SCRIPTS_DIR = $(WS_ROOT)/docs/scripts .PHONY: docs-venv docs-venv: @($(SPHINX_SCRIPTS_DIR)/sphinx-make.sh venv) .PHONY: docs docs: $(DOCS_DIR) @($(SPHINX_SCRIPTS_DIR)/sphinx-make.sh html) .PHONY: docs-clean docs-clean: @rm -rf $(DOCS_DIR)/_build @rm -rf $(VENV_DIR) .PHONY: pkg-verify pkg-verify: install-dep $(BR)/.deps.ok install-ext-deps $(call banner,"Building for PLATFORM=vpp using gcc") @make -C build-root PLATFORM=vpp TAG=vpp wipe-all install-packages $(call banner,"Building sample-plugin") @make -C build-root PLATFORM=vpp TAG=vpp sample-plugin-install $(call banner,"Building libmemif") @make -C build-root PLATFORM=vpp TAG=vpp libmemif-install $(call banner,"Building VOM") @make -C build-root PLATFORM=vpp TAG=vpp vom-install $(call banner,"Building $(PKG) packages") @make pkg-$(PKG) ifeq ($(OS_ID),ubuntu) $(call banner,"Building VOM $(PKG) package") @make vom-pkg-deb endif MAKE_VERIFY_GATE_OS ?= ubuntu-18.04 .PHONY: verify verify: pkg-verify ifeq ($(OS_ID)-$(OS_VERSION_ID),$(MAKE_VERIFY_GATE_OS)) $(call banner,"Testing vppapigen") @src/tools/vppapigen/test_vppapigen.py $(call banner,"Running tests") @make COMPRESS_FAILED_TEST_LOGS=yes RETRIES=3 test else $(call banner,"Skipping tests. Tests under 'make verify' supported on $(MAKE_VERIFY_GATE_OS)") endif