aboutsummaryrefslogtreecommitdiffstats
path: root/vpp/vnet
AgeCommit message (Collapse)AuthorFilesLines
2016-12-06dpdk: fix rte_delay_us callback issueDamjan Marion1-7/+9
Introduced by recent commit. It causes initalization failure on many NICs. Change-Id: I409ebb8ca5ae29eb9d43438017a0d1ddddb472fc Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-12-06dpdk: add rte_delay_us_callbackPavel Kotucek1-1/+13
Converted DPDK16.07 "Allow-applications-to-override-rte_delay_us" patch to of callback in DPDK16.11 Change-Id: I6c802e3ea8f817e5df591166b1e0a42f5f835a71 Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2016-10-25dpdk: remove dpdk_pmd_constructor_initDamjan Marion1-5/+1
This is not needed anymore, likely because we use --whole-archive parameter during linking. Change-Id: Iab0f2ec647b63c59663faceacfbc60aa4a4b84a6 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-08-05VPP-237 Coding standards cleanupDave Barach1-215/+248
Change-Id: I239143f920285050ad85244ece6893236195534f Signed-off-by: Dave Barach <dave@barachs.net>
2016-06-27More janitorial workDave Barach1-1/+1
Install vpp api header files in /usr/include/vpp-api, instead of /usr/include/api. Someone will eventually complain if we continue with the status quo. Generate /usr/bin/vpp_plugin_configure, to correctly configure standalone plugin compilation against header files installed from the dev package. If a plugin's CFLAGS don't precisely match the installed vpp engine binary, subtle misbehavior can and will occur. Example: the ip4/ip6 main_t structure size / member offsets depend on DPDK=[0|1]. Screw that one up, and your brand-new configurable ip feature will mysteriously fail to appear, even though the plugin loads perfectly. Change-Id: I20c97fe1042808a79935863209d995c31953b98c Signed-off-by: Dave Barach <dave@barachs.net>
2016-05-23Move rte_delay_us_override so it overrides DPDKTodd Foggoa1-0/+41
The current location in the vnet dynamic library does not override the dpdk weak function as intented. Moving this function to the main app allows the linker to find the non-weak symbol and override it. Change-Id: I96c6dc5af2e511cc1f84bd66419c5a4ac96a9541 Signed-off-by: Todd Foggoa <tfoggoa@cisco.com>
2016-05-19Add support for multiple microarchitectures in single binaryDamjan Marion1-9/+10
* compiler -march= parameter is changed from native to corei7 so code is always genereted with instructions which are available on the Nehalem microarchitecture (up to SSE4.2) * compiler -mtune= parameter is added so code is optimized for corei7-avx which equals to Sandy Bridge microarchitecture * set of macros is added which allows run-time detection of available cpu instructions (e.g. clib_cpu_supports_avx()) * set of macros is added which allows us to clone graph node funcitons where cloned function is optmized for different microarchitecture Those macros are using following attributes: __attribute__((flatten)) __attribute__((target("arch=core-avx2))) I.e. If applied to foo_node_fn() macro will generate cloned functions foo_node_fn_avx2() and foo_node_fn_avx512() (future) It will also generate function void * foo_node_fn_multiarch_select() which detects available instruction set and returns pointer to the best matching function clone. Change-Id: I2dce0ac92a5ede95fcb56f47f3d1f3c4c040bac0 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-05-13VPP-57 Add Doxygen to VPPChris Luke1-8/+0
- Configures Doxygen. - Adds a source filter to do magic on our use of the preprocessor to do constructor stuff to make Doxygen grok it better. - Adds a convenience helper to the root Makefile. - Adds a README.md to the root directory (and which Doxygem uses as its "mainpage". - Add several other documentative files. - Currently using SVG for call graphs, though this may have a load-time performance impact in browsers. Change-Id: I25fc6fb5bf634319dcb36a7f0e32031921c125ac Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-04-26Fix compile errors reported by clangDamjan Marion1-1/+1
For using clang as a compiler it is enough to specify CC=clang in the make command line Change-Id: I06f1c1d418b68768f8119de5bdc8748c51f90c02 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-04-01Add option to link DPDK dynamicallyDamjan Marion1-1/+9
Change-Id: Ie2b47f9020c8260b199d141103318a0261e16832 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-03-20vnet classifier debug CLI enhancementsDave Barach1-0/+1
Extensible next-index and opaque unformat function scheme. Added next-index-by-node-name and sw_if_index->opaque functions. Allow dynamic graph arcs to be added to ip4/6-inacl. Change-Id: Ie434335399a0708772eb82563a154df19c63b622 Signed-off-by: Dave Barach <dave@barachs.net>
2016-03-17Reincarnate call to unix_physmem_init() for non-dpdk useDamjan Marion1-0/+3
Change-Id: Iaa3da32060e78bbc505ee84a2a6393f899aa110e Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-03-04Add CPU detection functionsDamjan Marion1-0/+1
Change-Id: Id7ea0410d6a789000c747c36a7e50076e31dc29a Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-03-03Refuse to start if binary requires unavailable CPU extensionsDamjan Marion1-0/+29
Change-Id: I4d0d152b6f5d4ba566398fcccaa6a1f96625f864 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-02-26Update PowerPC (qppc) platform to build with Ubuntu cross-toolsDamjan Marion1-26/+0
Standard Ubuntu PowerPC toolchain can be installed with: apt-get install crossbuild-essential-powerpc And code can be built with: make PLATFORM=qppc TAG=qppc ... Change-Id: I247355fc89fd61aedb8693156e84c454ca86eb75 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-02-24Link the vpp application against libvnet.so, not libvnet.aDave Barach1-94/+6
Turn of srp, mainly as an example of how to restructure a featurette for selective disablement. Change-Id: Id3364c58a8711b103939f4434adfa67177380f67 Signed-off-by: Dave Barach <dave@barachs.net>
2016-02-19Per-interface, per-address-family fast packet filterDave Barach1-0/+2
Change-Id: I122aa8edfb16a433a8ccdfb72ee8463c48c56d6d Signed-off-by: Dave Barach <dave@barachs.net>
2016-02-13Remove duplicate vlib_call_init_function() for tuntap initOleg A. Arkhangelsky1-2/+0
Change-Id: Ie642d15d2843f02a01448afe91aa7311e6131047 Signed-off-by: Oleg A. Arkhangelsky <sysoleg@yandex.ru>
2016-02-08Cisco Discovery Protocol, initial working attemptDave Barach1-0/+6
There are multiple enhancement opportunities... Change-Id: I976772dc3802f8284e8c6457c001d68184831e25 Signed-off-by: Dave Barach <dave@barachs.net>
2016-01-22aarch64 CPU arch / ThunderX platform initial supportDave Barach1-2/+39
Change-Id: Ia2edd3cee2c25c26c7c47a9023744b97226434c7 Signed-off-by: Dave Barach <dave@barachs.net>
2016-01-20Rename vpe binary name to avoid collision with latexDamjan Marion1-1/+1
Change-Id: I34a46b9ebbc0e36486fbef528b34ea1c3be2e8be Signed-off-by: Damjan Marion <damarion@cisco.com>
2015-12-15load vpp startup config from fileMatus Fabian1-0/+59
Change-Id: I55c636059cda706a47758ad89e5518e959c85263 Signed-off-by: Matus Fabian <matfabia@cisco.com> Acked-by: Damjan Marion <damarion@cisco.com>
2015-12-14Move rpc handler where it belongs, related cleanupDave Barach1-10/+3
Change-Id: I393df100558a85fe676f4a4c8c9b546fa549ecc9 Signed-off-by: Dave Barach <dave@barachs.net>
2015-12-08Initial commit of vpp code.Ed Warnicke1-0/+312
Change-Id: Ib246f1fbfce93274020ee93ce461e3d8bd8b9f17 Signed-off-by: Ed Warnicke <eaw@cisco.com>