aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2017-10-05Merge "VCL_LDPRELOAD epoll implementation"Keith Burns7-1236/+2143
2017-10-04VCL_LDPRELOAD epoll implementationshrinivasan ganapathy7-1236/+2143
-epoll_create implementation Change-Id: If05b5f44e48455f5a6f7a8096c1d020e7f3cd9cc Signed-off-by: shrinivasan ganapathy <shrinivasanganapathy@gmail.com>
2017-09-26Fix name of VCL LD_PRELOAD lib dir env var.Dave Wallace1-1/+1
Change-Id: I86a3ffc6c119eb9979580e8d48979dce5d5ce72d Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2017-08-30Update vcl-preload instructionsKeith Burns (alagalah)2-15/+57
Change-Id: I2aab07d379a804b5b007db31abf0838b5b0798f4 Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2017-08-28Merge "t commit -s Removed unnecessary includes"Keith Burns2-21/+1
2017-08-23Add generated files to .gitignore & fix buildDave Wallace2-6/+12
- Fix build references when VPP_DIR is specified for configure. Change-Id: I7274305764f9985fce3e5596fd522154248ccbe5 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2017-08-21t commit -sshrinivasan ganapathy2-21/+1
Removed unnecessary includes Change-Id: Ib51701e9c0f57968961526de27e08d4b3c5d65f5 Signed-off-by: shrinivasan ganapathy <shrinivasanganapathy@gmail.com>
2017-08-17VCL-LDPRELOAD LIBRARYshrinivasan ganapathy16-1/+6792
A LD_PRELOAD library built on top of VCL library - initial creation. - User can LD_PRELOAD any application that uses POSIX socket API and yet reap the benifits of VPP transport. - addressed review comments - fix bug in vcom_select rv was always zero. - updated README.md with instructions to use socket_test.sh script Signed-off-by: shrinivasan ganapathy <shrinivasanganapathy@gmail.com> new file: vcl-ldpreload/LICENSE new file: vcl-ldpreload/MAINTAINERS new file: vcl-ldpreload/src/Makefile.am new file: vcl-ldpreload/src/configure.ac new file: vcl-ldpreload/src/libvcl-ldpreload.am new file: vcl-ldpreload/src/libvcl-ldpreload/TODO new file: vcl-ldpreload/src/libvcl-ldpreload/vcom.c new file: vcl-ldpreload/src/libvcl-ldpreload/vcom.h new file: vcl-ldpreload/src/libvcl-ldpreload/vcom_glibc_socket.h new file: vcl-ldpreload/src/libvcl-ldpreload/vcom_socket.c new file: vcl-ldpreload/src/libvcl-ldpreload/vcom_socket.h new file: vcl-ldpreload/src/libvcl-ldpreload/vcom_socket_wrapper.c new file: vcl-ldpreload/src/libvcl-ldpreload/vcom_socket_wrapper.h new file: vcl-ldpreload/src/vcl-ldpreload.mk new file: vcl-ldpreload/test/README.md Change-Id: I0db70bc4c3b3bac35451afa432c20dc04cb9699c Signed-off-by: shrinivasan ganapathy <shrinivasanganapathy@gmail.com>
2017-07-25Initial creation of LD_PRELOAD for VPP Communications Library (VCL)Keith Burns (alagalah)1-0/+1
Change-Id: I5f8b0aa50535c4fcf78de44128a5e87258b3ae4b Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2017-05-02Merge "vpp-bootstrap: VPP 17.04 Support"Pierre Pfister3-23/+18
2017-04-28vpp-bootstrap: VPP 17.04 SupportRay Kinsella3-23/+18
* Adding support for VPP17.04 * Disabling DPDK to reduce mem footprint to 1G * Fixing AWS for Xenial Change-Id: I70f4ac0e70b80fd9b50d08f88a0987c089503ff2 Signed-off-by: Ray Kinsella <ray.kinsella@intel.com>
2017-04-25librtnl: Add compilation instructions to README.mdPierre Pfister1-3/+11
Change-Id: Ia7c7224e4561f238933c6d8b170b3e46b8675e8f Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2017-04-25librtnl: Add out-of-tree compilationPierre Pfister4-25/+45
See README.md changes for the new way to compile the plugin/library. Change-Id: I54ac5b9e7558ec8bb07430dc4a6f8e24d69cebbd Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2017-04-05Merge "FIx compile issue for netlink and router plugin"Pierre Pfister8-75/+176
2017-04-05FIx compile issue for netlink and router pluginHongjun Ni8-75/+176
Change-Id: I8a6f069af4acce97fd0ee262c217af645afd476d Signed-off-by: Hongjun Ni <hongjun.ni@intel.com> Signed-off-by: Dave Barach <dave@barachs.net>
2017-03-31Merge "vpp-userdemo: updated to use stable repo"Pierre Pfister1-4/+2
2017-03-30Merge "vpp-bootstrap:"Pierre Pfister6-50/+178
2017-03-30vpp-userdemo: updated to use stable repoRay Kinsella1-4/+2
Minor update to use the stable repository. Change-Id: I1c08225f7e98f9d11b6443908afa68f63b380ffb Signed-off-by: Ray Kinsella <ray.kinsella@intel.com>
2017-03-29vpp-bootstrap:Ray Kinsella6-50/+178
* Updated to VPP 17.01 * Updated README.md * Reduced image requirements to 2 cores & 2048 megs of ram. * Fixed VPP Binary on host to have more modest resource requirements. * XConnect the Containers automagically in VPP on the host. * Added support for python `pip` packages, updated scapy to 2.3.x for VXLAN support. * Using the VPP Binaries from 17.01 stable, instead of head. * Added gdb package to ctwo, so `make debug` will work. * Renamed veth backend interfaces on the host to `veth-c[one,two]`. Change-Id: Ie1a86989733c1eb18041e20a4d268a308ffaebb3 Signed-off-by: Ray Kinsella <ray.kinsella@intel.com>
2017-03-28Merge "vpp-userdemo: updated to VPP 17.01"Pierre Pfister3-3/+23
2017-03-28vpp-userdemo: updated to VPP 17.01Ray Kinsella3-3/+23
Updated the vpp-userdemo to support VPP 17.01, plus a number of other bug fixes. Change-Id: I79aebebdeaa4ad20690351f820e2efb5e62fdbee Signed-off-by: Ray Kinsella <ray.kinsella@intel.com>
2016-12-20vhost-test: Add MoonGen lua script for perf profilingPierre Pfister2-5/+188
mg.lua is a MoonGen script dedicated to forwarding rate and drop rate measurement. It is sort of clever at finding which points to plot in order to discover interesting behaviors. Change-Id: I40c9ce4da27f3c13c27a8b3214c96298683c2658 Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-12-15vhost-test: Feature addition to the vhost testing scriptPierre Pfister2-83/+221
This patch adds: - Support for custom virtio queue size. Patching qemu is required when a size other than 256. - Add/Del more vhost interfaces (limited to 1 VM though) - Start/Stop the VM at runtime Change-Id: Ie8410fd8dd9a7d22a7278dae4a898e66c7d3be5a Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-12-15vhost-test: Add .gitignore filePierre Pfister1-0/+3
Git ignores: - tmp directory (temporary configuration) - vmroot directory (mount point for the vm file system) - conf.sh (user configuration file) Change-Id: I8fe15f6428975b686e26c523954780d30189b58f Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-11-21vpp-bootstrap: initial commitRay Kinsella8-0/+396
vpp-bootstrap is a vagrant based tool to automatically bootstrap a vpp development environment. The tool is designed to be as data-driven and extensible. * An Ubuntu environment featuring one or more containers connected via a Linux bridge is created. * New containers can be easily created, packages install and configured via a provisioning scripts. * Networking, auth credentials and hostnames are automatically configured to enable using tools like ssh and scp without password and ip addresses. * Support for vagrant-proxy and vagrant-aws provisioning. * Two containers are initially provided:- * The first container provides network test tools such as scapy are automatically installed * In the second container VPP-lite is automatically git cloned, built and installed. Change-Id: Id484431f7dde8fdc9ff25ad198ff3cec55ba112c Signed-off-by: Ray Kinsella <ray.kinsella@intel.com>
2016-11-04Adding CPU jitter elimination tricksPierre Pfister1-0/+26
Change-Id: I70bc1f5cff21ecbba734fa44cd2d94a1e5be8e9a Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-11-02vhost-test: Initial commit with first draftPierre Pfister3-0/+671
This is a first version for what intends to become some reference scripts to test vpp and vhost performances. The goal of this effort is to: - Give testers a reference script that they can run on their own device. - Give user a reference configuration that they should try to replicate. Change-Id: I810565a9000e79ea908c390a5527e7ccd9e05351 Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-10-25flowtable - initial commitGabriel Ganne4-0/+2699
Adds vpp patches for: - the flowtable plugin - a port-mirroring plugin to work with the flowtable - test scripts Change-Id: I61d988342921b994cf1a6c0b784fa7e75ca07276 Signed-off-by: Gabriel Ganne <gabriel.ganne@qosmos.com>
2016-10-05[netlink] support new vpp fibJeff Shaw2-0/+54
Change-Id: Iceaceee96dddeb9e09aa1cfc178ec7fbc00f72c3 Signed-off-by: Jeff Shaw <jeffrey.b.shaw@intel.com>
2016-10-04[router] IPv6 support and refactoring.Jeff Shaw7-692/+1173
This change adds support for IPv6 while refactoring most of the original plugin code in the following ways. - Adhere to vpp style guidelines. - Split the netlink, node, and tap processing into separate files named with a "tap_inject" prefix which more accurately represents the functionality. - Implement our own tap management and rx/tx. This is to reduce the overhead of passing packets in and out of vnet tap devices, in favor of directly reading/writing from the tap. - Change how nodes work. Now we have neighbor, rx, and tx nodes. The neighbor node sends ARP replies and ICMP6 neighbor advertisements to the arp-input and icmp6-neighbor-solicitation nodes, respectively, before also injecting the packet to the host, making it possible for both vpp and the host network stack to resolve the next hop. The tx node injects packets into the host by writing to the tap. The rx node reads packets from the tap and sends them on its associated data plane interface. - Simplify the CLI. Instead of creating taps specifically for a given interface we create a tap for all of the Ethernet interfaces with the "enable tap-inject" CLI command. The interfaces are named with a "vpp" prefix, i.e. "vpp0". Also add a "disable tap-inject" option. - Provide ability to enable at configuration time with the tap-inject { enable } stanza. Change-Id: I6b56da606e2da1d793ce6aca222fe4eb5a4e070d Signed-off-by: Jeff Shaw <jeffrey.b.shaw@intel.com>
2016-09-15Addressed formatKeith Burns (alagalah)3-3/+3
Change-Id: I319a828b2357c2d450a429e34079afea68d7d7a1 Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-09-15Added GUI for tutorials that runs entirely inside the VMAristeidis Iliopoulos38-10/+81547
-fixed issue with webserver not spinning up properly Change-Id: I3724f1640ba2b84b7d84fab29febbbd047120812 Signed-off-by: Aristeidis Iliopoulos <ailiopou@cisco.com>
2016-09-13vpp-userdemo: Convert namespaces to full containers.Ray Kinsella6-52/+124
Changes to convert namespaces to full containers as follows:- * c1 -> cone, c2 -> ctwo * Containers are accessible via lxc-console and ssh overlinux bridge. * vpp is installed and configure in the container. * Bridging, routing and tracing demo's work as before. Change-Id: I4e957600e1e487355e55d2570c430f2ad21cafd6 Signed-off-by: Ray Kinsella <ray.kinsella@intel.com>
2016-09-05vpp-userdemo: adding debug optionRay Kinsella1-4/+24
Adding -d debug option to capture vpp-userdemo output to log file. This will aid debug down the line. Change-Id: Iaad69ad8890cafb9b748e3629447d9e6061a91f6 Signed-off-by: Ray Kinsella <ray.kinsella@intel.com>
2016-08-29Merge "[router] Support UDP protocol."Pierre Pfister1-0/+18
2016-08-27Merge "vppsb: set up gitreview for the vppsb"Keith Burns1-0/+4
2016-08-27Merge "vpp-userdemo: fixing bridging license"Keith Burns1-15/+13
2016-08-18[router] Support UDP protocol.Jeff Shaw1-0/+18
Register an IP protocol handler for UDP. When a UDP packet arrives on a tapped interface configured for UDP, the packet is injected on the input device's respective tap. commit f560a490c already adds support for directing multicast packets to the tap device. Change-Id: I2a28a123d9bf1470f87986e66f34e76a99e63f48 Signed-off-by: Jeff Shaw <jeffrey.b.shaw@intel.com>
2016-08-12[router] Handle initial tap link state.Jeff Shaw1-2/+37
When an interface is tapped, the tap inherits the link state of the underlying device. Also, the hw vector was being resized in the time between getting the interface and when the hw_address was referenced, leading to a segmentation fault. Resolve the issue by saving the mac address contents on the stack before passing to other functions. Change-Id: I4b5b31e438159a83ddfea808882503775b1fcd1a Signed-off-by: Jeff Shaw <jeffrey.b.shaw@intel.com>
2016-08-10turbotap: A plugin for turbo tap interfacesMohsin KAZMI10-0/+1696
This patch implements a plugin for tap interfaces using socket API. It has advantage of reduced context switching over traditional tap interfaces using "sendmmsg" or "recvmmsg" system calls to send/receive multiple packets using single system call. Change-Id: I5b98e403692ac47d119c03174a21fbd9ff24de82 Signed-off-by: Mohsin KAZMI <sykazmi@cisco.com>
2016-08-08[router] Link state eventsElza Mathew1-0/+47
This patch introduces a method to listen to link state events. The method invokes callback functions to set the interface flags. Change-Id: I284bc5dd92a38c91f093d6709fb43b6b5ae57c56 Signed-off-by: Elza Mathew <elza.mathew@intel.com>
2016-08-08vppsb: set up gitreview for the vppsbRay Kinsella1-0/+4
Adding .gitreview so that gitreview works for the vppsb. Change-Id: Ic0e3931701557a2604d94cb63ee5a33a6646aa39 Signed-off-by: Ray Kinsella <ray.kinsella@intel.com>
2016-08-08vpp-userdemo: fixing bridging licenseRay Kinsella1-15/+13
The bridging file was using a 'C' style license, not a bash style license. Change-Id: Ieacfda56ca8cb44f417ffbbc035dd16bdee9ed03 Signed-off-by: Ray Kinsella <ray.kinsella@intel.com>
2016-08-07Adding subproject: vpp-userdemoKeith Burns (alagalah)13-0/+567
Change-Id: I79eb30c7a4130d1cf12277a68bb417b5778e9f9c Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-08-03[router] Support igmp and ospf multicast.Jeff Shaw1-3/+62
When requested, inject IGMP and OSPF packets with a multicast address of 224.0.0.0/24 to the respective tap. Change-Id: I2763e3df1929d12bd7b5a68bca51f83febc63b28 Signed-off-by: Jeff Shaw <jeffrey.b.shaw@intel.com>
2016-08-02[router] Correctly handle per-interface protocolsJeff Shaw1-46/+70
Previously, if one interface were configured to inject a protocol, then all interfaces would inject the protocol. In other words, if iface 1 were configured for arp,icmp4 and iface 2 were configured for arp,icmp4,tcp, then iface 1 would erroneously inject tcp. This commit fixes the above behavior such that each packet is compared with the protocols enabled for the interface before injecting. Change-Id: I20477a24019f3e0209b863aca25c1253ba45d7f4 Signed-off-by: Jeff Shaw <jeffrey.b.shaw@intel.com>
2016-06-30Merge changes from topic 'cleanup'Pierre Pfister2-275/+201
* changes: [router] Remove note about build failure. [router] Support tcp injection on tapped interfaces. [router] Combine node functions.
2016-06-29[router] Remove note about build failure.Jeff Shaw1-4/+1
The build issue has been fixed in the netlink repo. Remove the note from the README as it is no longer relevant. Change-Id: I3d9fe59f443b926fb83dce16655d86d88ea06be4 Signed-off-by: Jeff Shaw <jeffrey.b.shaw@intel.com>
2016-06-29[router] Support tcp injection on tapped interfaces.Jeff Shaw1-1/+13
Enabled with 'tap inject arp,icmp4,tcp from ... as ...' Change-Id: Ibc1670a8d4b9b3c4369ced9e42df85f496f4129c Signed-off-by: Jeff Shaw <jeffrey.b.shaw@intel.com>
2016-06-29[router] Combine node functions.Jeff Shaw1-270/+187
Handle arp, icmp4, and classified packets in a single node function instead of three nearly identical ones. Change-Id: Id3752bbf2b4f5b1f9d8f98315d330dcf2124c829 Signed-off-by: Jeff Shaw <jeffrey.b.shaw@intel.com>