68 Commits

Author SHA1 Message Date
Gabriel Ganne
bf246dff1b dpdk plugin depends on numactl-libs
dpdk_plugin.so depends on libnuma.so.1

Change-Id: Ia1fd3b5cec043b294cc14cd947908675b451deac
Signed-off-by: Gabriel Ganne <gabriel.ganne@enea.com>
2018-01-18 11:00:17 +01:00
Florin Coras
891f0a1caa apps: refactor uri and update build infra
Change-Id: Ifa9966a27586a1a65038d069cf4a1e6e21a72d45
Signed-off-by: Florin Coras <fcoras@cisco.com>
2017-12-15 19:05:57 +00:00
Renato Botelho do Couto
e266ea3795 Optimize RPM build process
* Remove unused variable OS_VERSION_ID
* Do all RPM building in build-root/rpmbuild
* Add build-root/rpmbuild to .gitignore
* Move redundant code to a target called 'spec'
* Copy spec file to SPECS instead of SOURCES
* Only set %{_topdir} macro when it's undefined, and because of that
  remove sed call to delete definition on spec file
* Pass _version and _release using --define parameter instead of using
  sed to add them to .spec
* Move rpm files to build-root after build finishes
* Add dist tarball to .gitignore

Change-Id: I230d60b62914056b353f7f8701d14754b0bf7f8c
Signed-off-by: Renato Botelho do Couto <renato@netgate.com>
2017-12-04 11:36:28 +00:00
Marco Varlese
aba730fc0d Cleanup and simplify
This patch addresses two things:
1) It simplifies the Makefile to build RPMs by removing duplication and
use environment variables instead;
2) It aligns openSUSE with others with regards to invoke "pkg-rpm" by
the build.sh for Vagrant

Change-Id: I51557f54e4ddf49d83bb69fa0035c8fff122857e
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
2017-11-30 08:48:49 +00:00
Marco Varlese
176fd570e6 Using $(CURDIR) to fix the absolute path issue
Change-Id: Ic26edd34a2980fc8cf34514433a7b7076660316e
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
2017-11-29 10:10:53 +00:00
Jakub Grajciar
c62a63dd05 libmemif: unit test update, continue configure if check module missing
Change-Id: I11ef4e7dcf1759eb3545be5db2a7196d1217a6dd
Signed-off-by: Jakub Grajciar <Jakub.Grajciar@pantheon.tech>
2017-11-21 14:34:57 +00:00
John DeNisco
ddecfb3d9f Add a non interactive mode
Change-Id: I2ebcb1acb43b4316e3dd48e83909d710dbef4e2f
Signed-off-by: John DeNisco <jdenisco@cisco.com>
2017-11-17 14:08:35 +00:00
Gabriel Ganne
b8bbd6521f subunit is required on centos as well as fedora
Remove fedora dependency restriction on subunit and subunit-devel packages.
libsunit is only called in test/ext/Makefile on all platforms safe opensuse.

Change-Id: I483f42f20f6ba8bd112c18a9c51753a5d816d1c1
Signed-off-by: Gabriel Ganne <gabriel.ganne@enea.com>
Signed-off-by: Romain Ly <romain.ly@enea.com>
2017-11-17 08:39:06 +00:00
Jakub Grajciar
8419755d4c libmemif: unmask head/tail pointers fix, additional ring info in memif_queue_details_t
Change-Id: I1dbf91c2a1575d5a82af70bfccdd990310323a8c
Signed-off-by: Jakub Grajciar <Jakub.Grajciar@pantheon.tech>
2017-11-16 14:22:46 +00:00
Dave Wallace
3bd43b88ff VCL: clean up disconnect_session debug output.
- Run VPP in xfce4-terminal in VCL unit tests.

Change-Id: Iba6a870617a811261de0a54fa38cdb5109ae1d07
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2017-11-11 22:45:38 -05:00
Damjan Marion
6d56fa4b0a memif: do not mask head and tail pointers
Change-Id: Ie849ab713ff086187c18a91ab32e58207fe94033
Signed-off-by: Damjan Marion <damarion@cisco.com>
Signed-off-by: Jakub Grajciar <Jakub.Grajciar@pantheon.tech>
2017-11-08 19:52:38 +00:00
Neale Ranns
2ea2e423a9 VOM rpm build fixes
Change-Id: I1f76aabecfd7d33b924a4856a4c3fc683b9b8802
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2017-11-08 10:19:30 +00:00
Jakub Grajciar
6e39d62643 libmmeif: Makefile fix
Change-Id: Id3fae50714802a4e2a5a82fcdfcee5b640f47e37
Signed-off-by: Jakub Grajciar <Jakub.Grajciar@pantheon.tech>
2017-11-07 17:06:46 +00:00
Jakub Grajciar
fab3890eab libmemif: add dep to Makefile
Change-Id: I7a14474e4545016f0de97f92602e1dfcc0ffac12
Signed-off-by: Jakub Grajciar <Jakub.Grajciar@pantheon.tech>
2017-11-07 12:23:53 +00:00
Jakub Grajciar
e4bb5bc7c1 libmemif: example app can generate ICMP, dev perf tests (using icmpr-epoll)
Change-Id: Ib72ede51559754f606c0a1d57f4fb624d032caa6
Signed-off-by: Jakub Grajciar <Jakub.Grajciar@pantheon.tech>
2017-11-05 11:35:47 +00:00
Sergio Gonzalez Monroy
6184db357d dpdk: build nasm from source
As not all distros have the minimum required nasm version (2.12.01)
available, build nasm from sources when building Intel IPsec MB library.

Change-Id: Iaa9da87f612c0f84da5704162c3bf430b3351076
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
2017-11-05 11:35:12 +00:00
John DeNisco
c6b2a206b6 A bit of cleanup, updated the README, started vhost test.
Change-Id: I49b998644b8b79c778c1186fc09831b1cd8fc015
Signed-off-by: John DeNisco <jdenisco@cisco.com>
2017-11-01 18:06:33 +00:00
Jakub Grajciar
04b68bdc48 libmemif: perf optimization
Change-Id: Ie3bd75e0e98c7ecb4c66dba701131363e5ec89a2
Signed-off-by: Jakub Grajciar <Jakub.Grajciar@pantheon.tech>
2017-10-30 11:06:47 +00:00
Dave Wallace
4f6c3a9a13 VCL: Fix vcl test scripts to check vcl.am instead of uri.am
Change-Id: I34ab79ddf0a612be1f2a4223e46811516e5b317e
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2017-10-25 19:12:57 +00:00
Dave Wallace
5c7cf1cc53 VCL-LDPRELOAD: statically link vppcom into libvcl-ldpreload.so
- Move VCL & VCL-LDPRELOAD source into src/vcl
- Statically link vppcom into libvcl-ldpreload.so

Change-Id: I778300b37e8b06640d9dbc01caf297edf7a6edb7
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2017-10-24 18:25:31 +00:00
Dave Wallace
e22aa74154 VCL-LDPRELOAD: Refactor vcom_socket* and fix crash in vppcom_select
- filter verbose debug output with VCOM_DEBUG > 2
- clean up nomenclature, renaming vppcom_*() functions to
  vcom_session_*()
- fix vppcom_select crash with NULL maps.

Change-Id: I6e416a096d6fd800aa26991c2439e24e8fc38cc5
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2017-10-20 18:51:33 +00:00
shrinivasan ganapathy
1d35963766 LD_PRELOAD poll implementation
- add poll implementation
- implementation based on vppcom_poll
- implementation based on vppcom_select
- currently vppcom_select implementation is picked

Change-Id: If6c2862ae72e9969335aca5b8085957c98287dc0
Signed-off-by: shrinivasan ganapathy <shrinivasanganapathy@gmail.com>
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2017-10-19 17:42:23 +00:00
Dave Wallace
86b8e26b33 vcl-ldpreload: test script enhancements
Change-Id: Iff302a35cd5d35bf0671a63e8ba81a0c60a231eb
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2017-10-19 14:27:51 +00:00
Dave Wallace
9c4b5b28b1 VCL-LDPRELOAD: fix iperf3 socket_test.sh
Change-Id: Ib6b52917af717d3341429163fb9ecc903cf717fb
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2017-10-19 04:35:37 +00:00
John DeNisco
a3db0782d4 Initial commit for phase 2, Add some simple validation.
Change-Id: I5b1d5600cdef4b05cc7c2f1cddb60aed2cc49ac2
Signed-off-by: John DeNisco <jdenisco@cisco.com>
2017-10-17 16:48:26 +00:00
Dave Wallace
80b48a61b8 VCL_LDPRELOAD: Add unit test scripts.
Change-Id: I5fbb3339a6dbd7b40fecf66bfda3fd3249b4a90c
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2017-10-17 16:09:25 +00:00
Dave Wallace
68a40c868d VCL: refactor VCL_LDPRELOAD env vars.
- Update vcl-ldpreload references to use $WS_ROOT.

Change-Id: I8e79f7c5e330eda6548a2baf84613b0a4d360811
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2017-10-17 16:09:23 +00:00
Steven
0d004aaaed LDPRELOAD: Remove hack code in getpeername
Now the real implementation of getpeername is there, we
remove the hack version of getpeername in LDPRELOAD.

Change-Id: I8fa2ba93d346f78d04129a87ee17a834cba537da
Signed-off-by: Steven <sluong@cisco.com>
2017-10-16 11:03:51 -07:00
Steven
2199aab742 VCL/LDPRELOAD: getpeername and getsockname
Add support for getpeername and getsockname system calls

Change-Id: Ie22787b967bb2a5fead0f5fcffd779e4f39b3302
Signed-off-by: Steven <sluong@cisco.com>
2017-10-15 20:21:27 -07:00
Thomas F Herbert
41988e58ba Fix bug with temporary directory when building rpms.
Fixes bug introduced in commit 5349f94d.

JIRA: VPP-1014

Change-Id: Ia18f4c6f5f1124306cce790a36f6de970d186687
Signed-off-by: Thomas F Herbert <therbert@redhat.com>
(cherry picked from commit 8c5bfbcc09f44f3ed2b87b0b5c257fbb7b735f97)
2017-10-14 09:12:32 +00:00
Thomas F Herbert
e41289115f Deps added to Makefile must also be in spec file.
Deps are required for Fedora too.

This patch is merged in version stable/17.10.
It should also be merged in master because it
fixes breaking rpm builds in some circumstances.

JIRA: VPP-1015

Cherry-picked from stable/1710

Change-Id: I10807069742cdd6b09a0f34d9d05e9cae4146ec3
Signed-off-by: Thomas F Herbert <therbert@redhat.com>
2017-10-14 09:12:12 +00:00
Steven
bd187a8272 LDPRELOAD: Add TCP_KEEPIDLE, TCP_KEEPINTVL, and SO_KEEPALIVE
Implement the subject setsockopt by passing them to VCL

Change-Id: Ida5136cb3a51d2bf30080e8c4af4239681ed2184
Signed-off-by: Steven <sluong@cisco.com>
2017-10-13 21:04:44 +00:00
Steven
b59f227ab0 LDPRELOAD: Add ioctl, fcntl, and setsockopt support
Add support for the following system calls:

ioctl (FIONREAD)
fcntl (F_GETFL)
fcntl (F_SETFL)
setsockopt (SOL_IPV6, IPV6_V6ONLY)
setsockopt (SOL_TCP, TCP_NODELAY)
setsockopt (SOL_SOCKET, SO_REUSEADDR)
setsockopt (SOL_SOCKET, SO_BROADCAST)

This patch supersedes https://gerrit.fd.io/r/#/c/8765/

Change-Id: I5d5309d9f43d93a990b389d8cb667631de1903fe
Signed-off-by: Steven <sluong@cisco.com>
2017-10-13 16:46:51 +00:00
Milan Lenco
0a47c99aed libmemif: Add memif_cancel_poll_event() + bug fixing.
Change-Id: I27d6bf93216f1f639f01fad730506afdc7115e46
Signed-off-by: Milan Lenco <milan.lenco@pantheon.tech>
2017-10-12 18:18:54 +00:00
Marco Varlese
34acce2574 Add support for packaging SUSE RPMs.
This patch adds a new spec file for SUSE distribution and modifies the
Makefile to learn which platform is building the RPMs for.

Change-Id: Ic8ee0ddf978042cc1785ebc28bd1a6c9faf9bb74
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
2017-10-12 02:41:26 +00:00
Keith Burns (alagalah)
b327c2b954 Initial push of vcl-ldpreload to extras
- fix checkstyle

Change-Id: I4317757258ed6a65b8fae1377f17db39375282ac
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
Signed-off-by: shrinivasan ganapathy <shrinivasanganapathy@gmail.com>
2017-10-12 01:38:54 +00:00
John DeNisco
68b0ee3a38 Redhat and small system support
Initial 17.10 commit
Final 17.07 cleanup, 17.10 next
Added CentOS grub support, this should complete the CentOS support
Added Centos install/unistall
Added TCP parameters.

Change-Id: I064e3a4118969ac36e62924a6a3f8a98f132ba60
Signed-off-by: John DeNisco <jdenisco@cisco.com>
Signed-off-by: Dave Barach <dave@barachs.net>
2017-10-11 18:45:41 +00:00
Marco Varlese
c2e63feb62 Allow use of /etc/os-release file
The top-level Makefile in VPP already uses the file /etc/os-release to
recognize which OS the build is being performed on.
The scripts for vagrant images instead were still using different files
for different distros and adding a new distro to be supported causes
issues with the extra-logic to deal with it.
This patch aligns the vagrant scripts to use the same approach followed
by the top-level Makefile and simplifies the steps to identify / update
the OS and build / run VPP.

Change-Id: I539f4a7c27b3fef70ed1c12b0276049bc47dc289
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
2017-10-09 02:41:01 +00:00
Jakub Grajciar
e2a4f07200 libmemif: memif_rx_burst fix
Change-Id: I2f488fef828df8915b57552567e1be79efe69700
Signed-off-by: Jakub Grajciar <Jakub.Grajciar@pantheon.tech>
2017-10-04 09:48:00 +00:00
Dave Barach
59b2565cd9 Repair vlib API socket server
- Teach vpp_api_test to send/receive API messages over sockets
- Add memfd-based shared memory
- Add api messages to create memfd-based shared memory segments
- vpp_api_test supports both socket and shared memory segment connections
- vpp_api_test pivot from socket to shared memory API messaging
- add socket client support to libvlibclient.so
- dead client reaper sends ping messages, container-friendly
- dead client reaper falls back to kill (<pid>, 0) live checking
  if e.g. a python app goes silent for tens of seconds
- handle ping messages in python client support code
- teach show api ring about pairwise shared-memory segments
- fix ip probing of already resolved destinations (VPP-998)

We'll need this work to implement proper host-stack client isolation

Change-Id: Ic23b65f75c854d0393d9a2e9d6b122a9551be769
Signed-off-by: Dave Barach <dave@barachs.net>
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Signed-off-by: Florin Coras <fcoras@cisco.com>
2017-10-03 11:03:47 +00:00
Chris Luke
64ebb5ff13 General documentation updates
- We now have several developer-focused docs, so create an index page
  for them.
- Rework several docs to fit into the index structure.
- Experiment with code highlighting; tweak the CSS slightly to make
  it slightly nicer to look at.

Change-Id: I4185a18f84fa0764745ca7a3148276064a3155c6
Signed-off-by: Chris Luke <chrisy@flirble.org>
2017-09-28 01:04:56 +00:00
Dave Wallace
d51020cdfc Update vagrant centos config to CentOS 7.4
Change-Id: I45c1227b53ba9e57b94f1bc68de939cd3ce9d619
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2017-09-27 17:54:10 +00:00
Dave Wallace
d4c623eea4 Vagrant fails if Vagrantfile is a symlink on Windows 10.
- Revert Vagrantfile symlink to the default
- Update README and env.sh

Change-Id: Ib1a557b897e0217b162c31118a4c265769dd1760
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2017-09-25 22:09:19 +00:00
Dave Wallace
3d67449de5 Refactor multi-host socket_test.sh for bare-metal.
Change-Id: I4fcde6652e0c66315a453250c6e02cd32176833d
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2017-09-25 22:07:52 +00:00
Jakub Grajciar
ba3c4e88c1 libmemif: Jumbo frames data/buffer length fix
Change-Id: Icadf1c28b4ab712a210a8e037200ab29d6c53fe4
Signed-off-by: Jakub Grajciar <grajciar.jakub@gmail.com>
2017-09-23 23:24:49 +00:00
Marco Varlese
dc33d4ccb3 openSUSE build fix
* Fixed package dependency
* Fixed bash unary operation error

Change-Id: I782dda8ffd807931241fa6034c110f5fedbeca8e
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
2017-09-22 20:53:59 +00:00
Thomas F Herbert
5349f94d99 Unpack into temporary directory with longer name.
JIRA VPP-498

This commit is a fix so downstream builds in Centos and
RHEL mock environment will work.  This is a workaround
for a bug in the debugedit code in rpm-build package 4.13
and earlier.

Change-Id: Ia6361f7487c5afe9948a2d2fe929942ba5b9c0f1
Signed-off-by: Thomas F Herbert <therbert@redhat.com>
2017-09-21 14:09:01 +00:00
Thomas F Herbert
440751b918 Use openssl 1.0 compat RPM for Fedora 26 and newer.
This is just a workaround until VPP is compatible with OpenSSL 1.1.

JIRA: VPP-569

Change-Id: I8d2a113dc9400fd7e8e6850de5d91f40380455ce
Signed-off-by: Thomas F Herbert <therbert@redhat.com>
2017-09-20 13:40:04 +00:00
Dave Wallace
1948161b65 Add multi-vm Vagrantfile for vcl-test.
- Existing Vagrantfile is symbolic link to the
  default Vagrantfile.
- In order to run the multi-host vcl test,
  change Vagrantfile -> Vagrantfile.vcl_test
- Fix socket_test.sh & vppcom bugs.

Change-Id: I965b7f799135c86e989c08bf6c5909677ef38dea
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2017-09-17 00:30:20 +00:00
Billy McFall
ce41a5c803 VPP-958: RPM Update wipes out local changes to 80-vpp.conf
Changed the %config to %config(noreplace) for the two files in the
vpp.spec file that use it, 80-vpp.conf and startup.conf. Any local
changes to these files will now remain. If a newer version of the file
is published, the new version will be copied over as {filename}.rpmnew,
and the changes will not be applied without manual intervention.

Change-Id: I00b2c7abca20bc33f82479374dd184fc57a9abc5
Signed-off-by: Billy McFall <bmcfall@redhat.com>
2017-09-15 13:57:51 +00:00