Age | Commit message (Collapse) | Author | Files | Lines |
|
Change-Id: I70bc1f5cff21ecbba734fa44cd2d94a1e5be8e9a
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
|
|
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>
|
|
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>
|
|
Change-Id: Iceaceee96dddeb9e09aa1cfc178ec7fbc00f72c3
Signed-off-by: Jeff Shaw <jeffrey.b.shaw@intel.com>
|
|
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>
|
|
Change-Id: I319a828b2357c2d450a429e34079afea68d7d7a1
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
|
|
-fixed issue with webserver not spinning up properly
Change-Id: I3724f1640ba2b84b7d84fab29febbbd047120812
Signed-off-by: Aristeidis Iliopoulos <ailiopou@cisco.com>
|
|
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>
|
|
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>
|
|
|
|
|
|
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Adding .gitreview so that gitreview works for the vppsb.
Change-Id: Ic0e3931701557a2604d94cb63ee5a33a6646aa39
Signed-off-by: Ray Kinsella <ray.kinsella@intel.com>
|
|
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>
|
|
Change-Id: I79eb30c7a4130d1cf12277a68bb417b5778e9f9c
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
|
|
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>
|
|
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>
|
|
* changes:
[router] Remove note about build failure.
[router] Support tcp injection on tapped interfaces.
[router] Combine node functions.
|
|
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>
|
|
Enabled with 'tap inject arp,icmp4,tcp from ... as ...'
Change-Id: Ibc1670a8d4b9b3c4369ced9e42df85f496f4129c
Signed-off-by: Jeff Shaw <jeffrey.b.shaw@intel.com>
|
|
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>
|
|
Link against the libtool file, not the library itself. Without
this change, the following error is produced when building the
plugin.
/usr/bin/ld: cannot find -lrtnl
collect2: error: ld returned 1 exit status
Makefile:465: recipe for target 'testrtnl_plugin.la' failed
Change-Id: I60c7c33baa3958c26749e4507e9d5bebb65a3519
Signed-off-by: Jeff Shaw <jeffrey.b.shaw@intel.com>
|
|
Change-Id: Idf7d9cff0bf5b4e8c9eea8a38a61c75ee9d3da1c
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
|
|
|
|
Change-Id: Ief5544e58f002e8d33b72dd87295c29f93345d37
Signed-off-by: Jeff Shaw <jeffrey.b.shaw@intel.com>
|
|
Without this modification I see a timing wheel assertion
failure.
Change-Id: I20435b36e06d8978771809857cd1a1121f785bc0
Signed-off-by: Jeff Shaw <jeffrey.b.shaw@intel.com>
|
|
Change-Id: I76d3400b4d62e871def81420203407761c8d5c7f
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
|
|
Change-Id: I5a3e955696ea4b1b866f6217c375cfce8d722681
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
|
|
Change-Id: I59b393888246e8b37f815ffda6259977f9c03c7b
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
|
|
Change-Id: Ie804a9855f20e12f44fe040d15efb710941dee9f
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
|
|
Change-Id: I74e55293ce7fb9888a9473eb5a3a2f06bd2a97e5
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
|
|
|