Commit Graph

24 Commits

Author SHA1 Message Date
23a7412bda String (key,value) pair serialization
Change-Id: I0e713b5ee82e246d4e5bca138683f3205e984561
Signed-off-by: Dave Barach <dave@barachs.net>
2016-11-24 16:36:01 -05:00
241e52222e Add clib_mem_alloc_or_null(...)
Change-Id: I5177d6d3349384beb551b4f2f52b30b044ce335b
Signed-off-by: Dave Barach <dave@barachs.net>
2016-10-13 10:56:20 -04:00
c379999665 VPP-327 Coding standards cleanup for vppinfra
Fix additional a few additional deviations reported elsewhere by
checkstyle

Change-Id: I026a8ae1c5b1856bbe3c4a555e1b690e7501b045
Signed-off-by: Dave Barach <dave@barachs.net>
2016-08-15 11:12:40 -04:00
b3d93dacfd VPP-236 Support 64-bit vector lengths, shared memory segments >4 GB
Change-Id: I02aee33e96e7ae32094b9f82f6a667d30bb52f59
Signed-off-by: Dave Barach <dave@barachs.net>
2016-08-15 13:57:25 +00:00
853e720fdd VPP-237: indent fixes in prep for checkstyle
Ran indent *twice*

Change-Id: If9c18b81983bb859cc8dc3b415c67cbf318fc618
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-08-12 12:07:54 -07:00
56faee8372 VPP-189 Clean up more coverity warnings
Change-Id: I1b971ab326dc334a4743fd7d4184cef106b0523d
Signed-off-by: Dave Barach <dave@barachs.net>
2016-08-05 13:21:59 +00:00
ac0798db35 Fix coverity warnings
Change-Id: I37131f2d814a608fe9098daff83ff395f7ce99d7
Signed-off-by: Dave Barach <dave@barachs.net>
2016-07-26 10:31:05 -04:00
98cfc1aab0 Add uid/gid config parameters to shared-vm database map operator
So vpp_get_metrics and similar will not need to run as root

Change-Id: I635e830834c82990ad84ddaae06f2e50e55fd616
Signed-off-by: Dave Barach <dave@barachs.net>
2016-07-18 14:29:04 -04:00
8a7fb0cf68 fd-io-styleify for svm
Change-Id: I816de8b1f255dc3bc6d2904566ea0b0f68fac5d8
Signed-off-by: Dave Barach <dave@barachs.net>
2016-07-08 14:44:38 -04:00
bbae375ca2 Remove unnecessary and obsolete configure.ac directives
Also enable silent rules where missing

Change-Id: Ia521886815c862b013f01df4cc18fd8a298aaaa1
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-07-08 13:55:35 +00:00
370e9e38e8 VPP-189 Some bugfixes for issues reported by Coverity
CID 130914 Buffer not null terminated
CID 130916 Unchecked return value
CID 130938 Unchecked return value from library
CID 130939 Unchecked return value from library
CID 130940 Unchecked return value from library
CID 131042 Argument cannot be negative
CID 131222 Resource leak
CID 131223 Resource leak
CID 131334 Double close
CID 131335 Read from pointer after free
CID 131211 Resource leak
CID 131212 Resource leak

Change-Id: Idd80b91f621278e0be15911f2ed4354dbe4fc7f2
Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-07-08 09:41:03 +00:00
16c75df797 VPP-83 Allow non-privileged clients to use the vpp binary API.
Use the command line argument "api-segment { uid <nnn> gid <nnn> }" to
configure shared memory segment file ownership. Defaults to uid = gid
= 0.  Shared-memory segments are explicitly set to 0770 mode, aka
"rwxrwx---".

Change-Id: Ic5d596b68139add61e7de6ace035c57dfd030111
Signed-off-by: Dave Barach <dave@barachs.net>
2016-06-01 20:05:08 +00:00
aa761e1281 VPP-57 Add missing license headers in doc files
Change-Id: Icd1f8952f66d3cee027c59f3148c67f1839de306
Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-05-16 11:48:16 +00:00
b585097048 VPP-57 Add Doxygen to VPP
- 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-05-13 17:23:36 +00:00
6b1d7c55d6 Make automake silent rules default
Change-Id: Ia504ccdac1deac20f20cf7fb76f78b2d8c505474
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-04-26 19:36:59 +00:00
f1213b8277 Add clib_memcpy macro based on DPDK rte_memcpy implementation
Change-Id: I22cb443c4bd0bf298abb6f06e8e4ca65a44a2854
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-04-22 17:29:47 +02:00
fef15b4bb8 Add support for AArch32
gcc version 4.9.2 (Raspbian 4.9.2-10)
Tested on Linux raspberrypi 4.4.6-v7+ #875 SMP Tue Apr 12 16:33:02 BST 2016 armv7l GNU/Linux

CPUs may be little or big endian, detect with gcc flags, not the processor architecture
Add a new flag $(PLATFORM)_uses_openssl which allows to disable the link with openssl lib.

vlib/vlib/threads.c:
startup.conf must:
- specify the heapsize as we don't have hugepages on raspbian

cpu {
  main-core 3
}
heapsize 64M

Corrects in various files the assumption uword == u64 and replaces 'u64' cast with 'pointer_to_uword' and 'uword_to_pointer' where appropriate.
256 CPUs may create an OOM when testing with small memory footprint ( heapsize 64M ), allows the number of VLIB_MAX_CPUS to be set in platforms/*.mk

vppinfra/vppinfra/longjmp.S:
ARM - copy r1 (1st parameter of the setjmp call) to r0 (return value)

vppinfra/vppinfra/time.h:
On ARMv7 in AArch32 mode, we can access to a 64bit register to retreive the cycles count.
gcc on rpi only declare ARM_ARCH 6. Override this info, and check if it is possible to use 'mrrc'.
/!\ the time function will NOT work without allowing the user mode access to the PMU.
You may download the source of the kmod here:
https://github.com/christophefontaine/arm_rdtsc

Change-Id: I8142606436d9671a184133b935398427f08a8bd2
Signed-off-by: Christophe Fontaine <christophe.fontaine@qosmos.com>
2016-04-18 13:20:57 +00:00
cbed90c8cb Add a configurable "significant error" metric
Change-Id: Idda59272a029ffcbc029f9bb167508d7bd5e6e21
Signed-off-by: Dave Barach <dave@barachs.net>
2016-04-12 03:44:46 +00:00
2126b35f5f Replace AC_PROG_LIBTOOL with LT_INIT
Change-Id: I642c4b8e83dd07708658a10ad46e9fd2c28a7f1f
Signed-off-by: Dave Barach <dave@barachs.net>
2016-02-10 08:43:22 -05:00
309bef25f1 Enable shared-VM namespace support
Required prep work for gracefully supporting
"... dpdk { proc-type secondary }" -  multiple processes sharing a physical
host, VM, container, etc.

Change-Id: Ic3eb72f4093e26d7c86dde3b8799264f1d0c218b
Signed-off-by: Dave Barach <dave@barachs.net>
2016-01-22 16:10:07 -05:00
2c29d75021 Fix warnings/errors reported by clang
Change-Id: Ifb2de64347526e3218e22067452f249ff878fd32
Signed-off-by: Damjan Marion <damarion@cisco.com>
2015-12-18 13:31:56 +01:00
7210e9470e Remove autotools generated products
Change-Id: I7f23b8b8e5136cb56768bac3a7473e6df5ee4993
Signed-off-by: Dave Barach <dave@barachs.net>
2015-12-15 19:06:39 -05:00
95bb883a62 Handle large user-mode page sizes, tested to 64k
Change-Id: Iccabc1be6e3a2822268c7b60e9c4e8250677c2ac
Signed-off-by: Dave Barach <dave@barachs.net>
2015-12-12 10:37:21 -05:00
cb9cadad57 Initial commit of vpp code.
Change-Id: Ib246f1fbfce93274020ee93ce461e3d8bd8b9f17
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2015-12-08 15:47:27 -07:00