Calvin [Fri, 15 Jul 2016 19:07:58 +0000 (15:07 -0400)]
VPP-187: Standardized retvalue types in vpe.api
Change-Id: I0cb0d2588a824c0fa040bbc5a30c3bb8be96aa0f
Signed-off-by: Calvin <calvin.ference@gmail.com>
Pierre Pfister [Sat, 16 Jul 2016 07:51:16 +0000 (08:51 +0100)]
Add ILA plugin
This plugin is implementation of Identifier Locator Addressing (ILA)
per IETF draft-herbert-nvo3-ila-2
Change-Id: I5d5f8fb55c490f358f628bceb5f57e7e7408e6ed
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
Signed-off-by: Wolfgang <wolfgang.beck01@gmail.com>
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Sat, 16 Jul 2016 15:47:22 +0000 (17:47 +0200)]
Add DPDK patches for i40e vPMD (ptype and ip checksum offload)
Change-Id: Idf38ee8f8cfc31be62fcf0b828832b2f06876815
Signed-off-by: Damjan Marion <damarion@cisco.com>
Wolfgang [Sat, 16 Jul 2016 09:23:43 +0000 (11:23 +0200)]
- fixed misleading indentation (fixes compilation error on gcc versio 6.1.1)
Change-Id: I7f666a5fb9dac3cac88633d01e1941dac7cc012d
Signed-off-by: Wolfgang Beck <wolfgang.beck01@gmail.com>
Steve Shin [Thu, 14 Jul 2016 19:06:01 +0000 (12:06 -0700)]
vhost-user: Reset virt-queue info when a vhost interface is disconnected.
When a vhost interface is disconneted, virt-queue info should be cleaned up.
This will avoid any potential vpp crash due to unmmaped memory access.
Change-Id: Ia20153da9eb45412bb41d76ef66ede175ea6fef1
Signed-off-by: Steve Shin <jonshin@cisco.com>
Dave Barach [Thu, 14 Jul 2016 14:05:37 +0000 (07:05 -0700)]
Add a command line utility to display critical vpp engine metrics
vector rate, aggregate rx rate, [configurable] significant error rate
Change-Id: If0b7316a62cb8478d1466f1c9a9903d6df2a6ca0
Signed-off-by: Dave Barach <openvpp@barachs.net>
marek zavodsky [Thu, 7 Jul 2016 01:16:10 +0000 (03:16 +0200)]
Show 802.1q/802.1ah details in the trace output, fixes VPP-111
added one line to dpdk-input trace to display vlan tci when PKT_RX_VLAN_PKT flag set
cleaned trace output of af_packet node. Added formatter for vlan_tci.
Merged with John Lo's ethernet trace extension:
Decode both dot1q and dot1ad VLAN tags in ethernet format function
and show what type of vlan tag it is.
dpdk-input & ethernet trace output example of ARP:
00:00:41:545481: dpdk-input
TenGigabitEthernet8/0/1 rx queue 0
buffer 0x10f2e: current data 0, length 60, free-list 0, totlen-nifb 0, trace 0x1
PKT MBUF: port 4, nb_segs 1, pkt_len 60
buf_len 2176, data_len 60, ol_flags 0x1, data_off 128, phys_addr 0x70e38ac0
packet_type 0x0
Packet Offload Flags
PKT_RX_VLAN_PKT (0x0001) RX packet is a 802.1q VLAN packet ID 100
ARP: 8c:60:4f:dd:ca:81 -> ff:ff:ff:ff:ff:ff vlan 802.1q id 100
request, type ethernet/IP4, address size 6/4
8c:60:4f:dd:ca:81/172.16.110.1 -> ff:ff:ff:ff:ff:ff/172.16.110.10
00:00:41:545492: ethernet-input
ARP: 8c:60:4f:dd:ca:81 -> ff:ff:ff:ff:ff:ff vlan 802.1q id 100
00:00:41:545499: error-drop
ethernet-input: unknown vlan
Change-Id: Iae67a945fda4aa2f24032e305a24544dd182b065
Signed-off-by: marek zavodsky <mazavods@gmail.com>
John Lo [Wed, 13 Jul 2016 22:13:02 +0000 (18:13 -0400)]
VPP-189 Addtional fixes for last coverity fix in linux_pci.c
Fix VPP startup problem where it cannot attach to a combination
of 3 Intel igb 1GE ports and 2 Intel ixgbe 10GE ports whose PCI
addresses are specified in the DPDK section of VPP startup
config file as follows:
dpdk { dev 0000:02:00.1 dev 0000:02:00.2 dev 0000:02:00.3
dev 0000:05:00.0 dev 0000:05:00.1 }
Change-Id: Ibb12f9e9a9184d00da51a49961772ac3a42a2d1d
Signed-off-by: John Lo <loj@cisco.com>
Filip Tehlar [Wed, 13 Jul 2016 11:17:15 +0000 (13:17 +0200)]
Add API dump call for vrf/vni mapping to vpp-api-test
Change-Id: I7a028ce9ddf21bd3a7d4991ba1be05e5e74202d6
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Damjan Marion [Wed, 13 Jul 2016 11:42:33 +0000 (13:42 +0200)]
Add plugins debian packaging
New debian package "vpp-plugins" is created with enabled plugins.
Change-Id: I8920178e8874f12e075858001ec44257dfaf497d
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Tue, 12 Jul 2016 19:58:19 +0000 (21:58 +0200)]
packet-generator: various fixes
Change-Id: I8f1be9a501574ff4d5024ed0d632392708716e77
Signed-off-by: Damjan Marion <damarion@cisco.com>
Shwetha Bhandari [Mon, 11 Jul 2016 22:08:54 +0000 (23:08 +0100)]
Show cli for plugin path, name filter and loaded plugins
Change-Id: If6ab5f08bcdcf5e24bb8b31926894d2a56cb6c14
Signed-off-by: Shwetha Bhandari <shwethab@cisco.com>
Matus Fabian [Tue, 31 May 2016 14:33:29 +0000 (07:33 -0700)]
policer action
JIRA: VPP-90
Policer allows you to specify the action to be taken on a packet:
conform-action (green color)
exceed-action (yellow color)
violate-action (red color)
Action to take on packets:
drop - drops the packet
transmit - transmits the packet, the packet is not altered
mark-and-transmit <DSCP> - sets the DSCP value and transmits the packet
Change-Id: I59c037e55e7e2a9fc9b9752e92426f3977f5587b
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Dave Barach [Mon, 11 Jul 2016 23:48:42 +0000 (16:48 -0700)]
Add incrementing MAC / count support for the l2fib_add_del API
Change-Id: I1df1cd3d2630baab979e840153f1f109d3ead0c2
Signed-off-by: Dave Barach <openvpp@barachs.net>
John Lo [Mon, 11 Jul 2016 22:09:51 +0000 (18:09 -0400)]
ENIC driver update to allow bonded interface admin down/up to pass traffic
When ENIC ports are used as slaves to a bonded interface, these patches
enable traffic on bonded interface to resume properly on admin down and
then up of the bonded interface.
Change-Id: I339926010da614068417c72009b7af2f892890ce
Signed-off-by: John Lo <loj@cisco.com>
Marek Gradzki [Mon, 11 Jul 2016 06:35:32 +0000 (08:35 +0200)]
VPP-190: support variable length array syntax in request messages
The information is aleardy stored in array.length field, but
vpe.api syntax should be uniform.
Change-Id: Id84cd95c088281609c70548346cf0e408a6f49ff
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
Florin Coras [Sun, 10 Jul 2016 18:09:32 +0000 (20:09 +0200)]
Simplify API to add LISP adjacencies
The API to add an adjacency requires that two things be provided 1) a
local and a remote eid 2) the whole remote mapping for the remote eid.
Since the API to add remote mappings can be used for 2), 1) in
combination with this API are enough to add an adjacency.
Change-Id: Ibe7474924bc3f28b6aed19cefa78fdb812de5eac
Signed-off-by: Florin Coras <fcoras@cisco.com>
Matus Fabian [Mon, 11 Jul 2016 14:08:55 +0000 (07:08 -0700)]
VPP-183: IPSec transport mode
Change-Id: I22399aa9d55db0d91da7ba6acbbf552c0d201458
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Damjan Marion [Fri, 8 Jul 2016 15:36:50 +0000 (17:36 +0200)]
dpdk: disable CRC stripping
Change-Id: I7006a3068c22e18e62c84abb8cc6124695b9ca44
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Fri, 8 Jul 2016 20:08:16 +0000 (22:08 +0200)]
packet-generator: fix pcap stream support
Change-Id: I494280964deda1d9448540cb5c6e7a8b750fff93
Signed-off-by: Damjan Marion <damarion@cisco.com>
Dave Barach [Fri, 8 Jul 2016 18:44:23 +0000 (14:44 -0400)]
fd-io-styleify for svm
Change-Id: I816de8b1f255dc3bc6d2904566ea0b0f68fac5d8
Signed-off-by: Dave Barach <dave@barachs.net>
Chris Luke [Fri, 8 Jul 2016 14:34:00 +0000 (10:34 -0400)]
VPP-192 ip_neighbor_add_del incomplete vat help
Adds missing items to ip_neighbor_add_del help text
Change-Id: I1d74c7d31ec6d96f8de9bfb5bfc7872b9cbef682
Signed-off-by: Chris Luke <chrisy@flirble.org>
Dave Barach [Fri, 8 Jul 2016 13:38:52 +0000 (09:38 -0400)]
fd-io-styleify pass
Change-Id: I72d0dff064162d11321257c858f68da1ba79ea48
Signed-off-by: Dave Barach <dave@barachs.net>
Dave Barach [Fri, 8 Jul 2016 12:13:45 +0000 (08:13 -0400)]
fd-io-styleify pass
Change-Id: If2d57a213fc2fec996db26df332910c3d2105f97
Signed-off-by: Dave Barach <dave@barachs.net>
Yoann Desmouceaux [Wed, 29 Jun 2016 16:30:29 +0000 (18:30 +0200)]
IPv6 frag: avoid overflow while parsing extension headers
A malicious packet could advertise an extension header length bigger than
the actual packet length, which would cause an overflow.
Change-Id: I277123e6fde6937b0170f2b2e33846bd22848ac4
Signed-off-by: Yoann Desmouceaux <ydesmouc@cisco.com>
Filip Tehlar [Thu, 7 Jul 2016 13:40:36 +0000 (15:40 +0200)]
Add locator prority and weight to LISP API
Change-Id: Ifa9bcd9a9c5dbda00ff8096909ccbc822445b8cb
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Damjan Marion [Fri, 8 Jul 2016 11:57:11 +0000 (13:57 +0200)]
Remove unnecessary and obsolete configure.ac directives
Also enable silent rules where missing
Change-Id: Ia521886815c862b013f01df4cc18fd8a298aaaa1
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Fri, 8 Jul 2016 11:46:48 +0000 (13:46 +0200)]
Update emacs plugin skeleton
Change-Id: I52b370abd8b6fec34b8219a274f2de404e072a97
Signed-off-by: Damjan Marion <damarion@cisco.com>
Juraj Sloboda [Thu, 7 Jul 2016 07:18:57 +0000 (00:18 -0700)]
Add IPFIX to vpp-api-test
Change-Id: I32dcfb1c33f0b2324de1ebf08851e8b65793e4ea
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
Juraj Sloboda [Thu, 7 Jul 2016 06:11:47 +0000 (23:11 -0700)]
Add binary API for IPFIX
Change-Id: I3346b18126d65b72726e977dfb11ba4c380056c0
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
Juraj Sloboda [Thu, 7 Jul 2016 00:04:06 +0000 (17:04 -0700)]
Make IPFIX src port configurable
Make src port configurable in flow report sample code
Change-Id: Ic7d3c3de17b83821106a827fb65e79381044da7e
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
Damjan Marion [Thu, 7 Jul 2016 18:27:49 +0000 (20:27 +0200)]
Multiple changes in the plugin build infra
- configure.ac - some plugins are enabled by default
- Plugin .so files are placed into corresponding subdirs
- WITH_PLUGIN_TOOLKIT macro is retired - not needed anymore
- plugins/build-data is removed
- plugin makefiles are not building static libs anymore
- plugin makefiles are not installing header files to /usr/include
anymore
Change-Id: I55681bd9ce34811f7eb1b2b24d9f0ca42df1cf04
Signed-off-by: Damjan Marion <damarion@cisco.com>
Chris Luke [Thu, 7 Jul 2016 15:01:17 +0000 (11:01 -0400)]
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>
John Lo [Thu, 7 Jul 2016 17:54:44 +0000 (13:54 -0400)]
Allow DPDK per interface startup config to enable/disable VLAN stripping
The init of VIC/ENIC ports enable VLAN stripping of received packets by
default, which is different to all other devices. The VLAN stripping of
ENIC ports can be disabled by adding the per device DPDK config as
"vlan-strip-offload off" such as:
dpdk {... dev 0000:0c:00.0 {vlan-strip-offload off} ...}
The per device config "vlan-strip-offload on" can be used for enabling VLAN
stripping for other devices which support this function but is disabled
by default.
Change-Id: I9c81904a87c26868a07900b03677aeeb57f72372
Signed-off-by: John Lo <loj@cisco.com>
Juraj Sloboda [Wed, 6 Jul 2016 13:11:00 +0000 (06:11 -0700)]
Reset IPFIX streams after configuration change
Reset IPFIX streams if reconfiguring IP addresses or collector port
Change-Id: Idc914f90462572342d4ed02b538bb2d30b317931
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
Damjan Marion [Thu, 7 Jul 2016 15:56:48 +0000 (17:56 +0200)]
Set plugin path properly when using toplevel makefile to run/debug vpp
Change-Id: Ib6f7dd9d7e1d9f2f2108a8b89421149e4435d5ec
Signed-off-by: Damjan Marion <damarion@cisco.com>
Juraj Sloboda [Thu, 7 Jul 2016 10:23:15 +0000 (03:23 -0700)]
Add configuration options for IPFIX
Make Path MTU configurable
Make template resend interval configurable
Make collector port configurable
Change-Id: Ia557916137995ea565f0ede12e169efe81eb0a5d
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
Juraj Sloboda [Fri, 1 Jul 2016 13:12:58 +0000 (06:12 -0700)]
Use arbitrary FIB for IPFIX
Change-Id: I85b3543a3f72a10e15c252e04ce2e4a390513ca9
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
Neale [Fri, 1 Jul 2016 12:00:09 +0000 (13:00 +0100)]
VPP-142 Recursive route sending traffic to wrong interface
Indirect routes should always result in an indriect adjacency even when the route's next-hop is covered by a connceted, since the covering route may change and no tracking is in place.
Some de-duplication of code for installing indirect routes via the CLI and API.
Change-Id: I7a440ffba43ae3990b68cb407244c06bd0827534
Signed-off-by: Neale <nranns@cisco.com>
marek zavodsky [Fri, 1 Jul 2016 01:49:53 +0000 (03:49 +0200)]
VPP-148 added bvi_mac flag to l2fib_add_del api call similarly to cli
Change-Id: I3b65e85d24ed37b6889af7e194fee45ec61b15a8
Signed-off-by: marek zavodsky <mazavods@gmail.com>
Juraj Sloboda [Thu, 7 Jul 2016 09:59:28 +0000 (02:59 -0700)]
Fix bugs and do some optimization in IPFIX code
Change-Id: Iba8627062874eac63c584ec05343f4591f48c286
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
Dave Barach [Thu, 7 Jul 2016 14:10:17 +0000 (10:10 -0400)]
Document more nodes
Change-Id: Ib8ef0559aa0573bf1229e9c794d48520197f9c8a
Signed-off-by: Dave Barach <dave@barachs.net>
Dave Barach [Thu, 7 Jul 2016 14:35:56 +0000 (10:35 -0400)]
Remove #if DPDK == 0, to eliminate a data structure size mismatch
Otherwise, e.g. the ip4/6_main_t's change size between PLATFORM=vpp
and PLATFORM=vpp_lite. That, in turn, makes it far easier to build
broken plugins.
Change-Id: Ic962d75b170eee698de29c4e29849ce73d27caad
Signed-off-by: Dave Barach <dave@barachs.net>
Damjan Marion [Thu, 7 Jul 2016 14:20:13 +0000 (16:20 +0200)]
Remove duplicate code buffer_func.h
Change-Id: I57e442b1f3486c5e8caac9d2e288869ee10f37b8
Signed-off-by: Damjan Marion <damarion@cisco.com>
Filip Tehlar [Thu, 7 Jul 2016 07:58:08 +0000 (09:58 +0200)]
Fix deletion forwarding entries when deleting static remote mapping
Change-Id: I11207a0452cbccfb959ff426faefda4820463007
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Damjan Marion [Wed, 6 Jul 2016 21:13:39 +0000 (23:13 +0200)]
Retire support for DPDK 2.1.0 and older
Change-Id: I3c3427c61e32d4727360aa802950bb9ab44afd84
Signed-off-by: Damjan Marion <damarion@cisco.com>
Dave Barach [Wed, 6 Jul 2016 14:29:27 +0000 (10:29 -0400)]
Add some doxygen tags
Also add an index of node names
Change-Id: Id65c2e607976d8bad73deb738035a471be077196
Signed-off-by: Dave Barach <dave@barachs.net>
Signed-off-by: Chris Luke <chrisy@flirble.org>
Filip Tehlar [Mon, 4 Jul 2016 09:43:11 +0000 (11:43 +0200)]
Add an option to dump details about specific LISP EID in API/CLI
Change-Id: Ie5e6751fd791e7ca728522632332abe442a1a75b
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Damjan Marion [Wed, 6 Jul 2016 20:52:49 +0000 (22:52 +0200)]
Retire PLATFORM=virl
Change-Id: Iaf9735258f456574534c1a581b983326badea171
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Mon, 4 Jul 2016 19:04:40 +0000 (21:04 +0200)]
Add support for capturing packets on packet generator interfaces
This patch introduces following changes:
- 4 predefined pg/stream[0-3] interfaces are removed
- Interface naming is changed form pg/streamX to pgX where X can be
any u32 value
- one pgX interface can handle multiple streams
- keyword "source pgX" is added to "packet-generator add" command, X is 0
by default
- new cli "packet-generator capture" is introduced
- new cli "create packet-generator interface pgX"
Change-Id: I768d075b9d4a34f0b5073debdc5dd4a0880c682c
Signed-off-by: Damjan Marion <damarion@cisco.com>
Mohsin KAZMI [Wed, 6 Jul 2016 01:17:50 +0000 (03:17 +0200)]
Netmap: Fix Netmap Polling Issue
Previously, netmap node switched from interrupt to polling if
worker threads are enabled even if there was no netmap interface
running. Netmap input node consumed CPU cycles because of input
node calls but these cycles were wasted as input node did not have
any packet to process.
This patch fixes issue stated above using more intelligent way of enabling
or disabling polling based on interfaces count. But the pre-requisite
condition for polling is, worker thread(s) should be enabled.
Change-Id: I3a901823c7b040cce3393958981f439b9f290fe5
Signed-off-by: Mohsin KAZMI <sykazmi@cisco.com>
Jan Srnicek [Wed, 6 Jul 2016 11:19:12 +0000 (13:19 +0200)]
VPP-184 - Bad type translation in jvpp
Change-Id: I6dda9eb8d58a2bc9a1e4d6636688dfa1f8bb88c6
Signed-off-by: Jan Srnicek <jan.srnicek@pantheon.tech>
Calvin [Mon, 4 Jul 2016 18:14:46 +0000 (14:14 -0400)]
Bug fix for VPP-104 about not being able to down a sub-if if the super-if is up
Change-Id: I913c9807519aa10e515d12fcfbcbfc22b58f5839
Signed-off-by: Calvin <calvin.ference@gmail.com>
John Lo [Tue, 5 Jul 2016 22:34:40 +0000 (18:34 -0400)]
VPP-182: IPv4 static ARP entries should not be deleted on interface down
IPv4 static ARP entries should remain when interface is set admin-down
and be reapplied on interface admin-up.
Change-Id: Ic0051865154230c2561d6e6421b05d842f147ca7
Signed-off-by: John Lo <loj@cisco.com>
Matus Fabian [Mon, 4 Jul 2016 12:36:52 +0000 (05:36 -0700)]
VPP-177: IPsec empty buffers allocation fix
Change-Id: I6d224fe19f1e0dd7ad5659e0734bc96ba37337ff
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Calvin [Mon, 4 Jul 2016 20:30:50 +0000 (16:30 -0400)]
VPP-144: Fix that shows the empty segment field in sh sr tunnel
Change-Id: Idc71a48f2eab3b712f6953af8baf1a6ecd54dcaf
Signed-off-by: Calvin <calvin.ference@gmail.com>
Dave Barach [Tue, 5 Jul 2016 17:37:34 +0000 (13:37 -0400)]
VPP-179 Fix adjacency reference-count botches
Change-Id: I3fe83a511064d73087c4526ef33cd7628f15b90f
Signed-off-by: Dave Barach <dave@barachs.net>
John Lo [Tue, 5 Jul 2016 03:23:32 +0000 (23:23 -0400)]
ENIC driver patches to address various issues
Also clear x-bit for old patch files 0013-xxx and 0014-xxx.
Change-Id: I217fdbfb32cef1ae575c668270d3baf593e688c6
Signed-off-by: John Lo <loj@cisco.com>
Florin Coras [Thu, 23 Jun 2016 13:01:58 +0000 (15:01 +0200)]
LISP CP cleanup and refactoring
- avoid code duplication by using only one function for
insertion/updating of remote mappings into map-cache. Static remote
mappings are now inserted using this function as well and therefore
the code does not try to build forwarding entries out of them now.
- bring up lisp dp interfaces when a vni is bound to a vrf.
- ensure eids are cleaned-up before parsing control plane messages
- ensure map-requests are always sent to default fib
- new API to insert lisp adjacencies as opposed to remote mappings which
should be replaced post merged in CSIT
- reorganize and group functions according to their purpose and use. No
need to pre-declare internal functions now.
- this does not touch locator-set logic
Change-Id: Ibcfc0f2d9c1bc1c9eab6e83c1af1b4cf9302ac10
Signed-off-by: Florin Coras <fcoras@cisco.com>
Matus Fabian [Mon, 4 Jul 2016 08:30:03 +0000 (01:30 -0700)]
VPP-174 IPsec API fix
ipsec_sad_add_del_entry and ipsec_spd_add_del_entry parameters with IPv4 address
are always 0.0.0.0
Change-Id: I75cb211ce9069596df4ef1d910e263d22940b9d8
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Keith Burns (alagalah) [Sun, 3 Jul 2016 00:54:36 +0000 (17:54 -0700)]
Add gtags option to use ctags. Hidden option in Makefile
Change-Id: I6b01c1f2beec37d7aaad1ab9dab303835a9feb49
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
Dave Barach [Sat, 2 Jul 2016 14:34:55 +0000 (10:34 -0400)]
Finish cleanup of .../plugins/{configure.ac, Makefile.am}
To add a new plugin subdirectory, add this to Makefile.am:
if ENABLE_new_PLUGIN
SUBDIRS += new-plugin
endif
and add this to configure.ac:
PLUGIN(new)
Change-Id: I770a6f4f8f964fd7318a912be486accf46514b59
Signed-off-by: Dave Barach <dave@barachs.net>
Damjan Marion [Sun, 26 Jun 2016 18:12:40 +0000 (20:12 +0200)]
Enable PCI extended tags in the DPDK config
This change should improve DPDK performance on 40G+ NICs
with small packets.
It also removes ITR setting for i40e devices, allowing driver to set default.
Change-Id: I70761b155e48fb0281f7c231516d83027bd16ca2
Signed-off-by: Damjan Marion <damarion@cisco.com>
Dave Barach [Sun, 26 Jun 2016 14:42:08 +0000 (10:42 -0400)]
Simple ip4 NAT plugin
Change-Id: Iffe77bf2a05ced41474540ff54a842101aad7c41
Signed-off-by: Dave Barach <dave@barachs.net>
Dave Barach [Fri, 1 Jul 2016 16:38:11 +0000 (12:38 -0400)]
VPP-171: fix a set of hw interface recycling bugs
Change-Id: I735292bb2176742acab2295f90956c57e6f7ec1c
Signed-off-by: Dave Barach <dave@barachs.net>
Chris Luke [Sat, 25 Jun 2016 00:38:06 +0000 (20:38 -0400)]
VPP-163 "show ip6 interface" ignores many addresses
The output of the CLI command "show ip6 interface" shows only the first
link-local address and any globally-scoped addresses. It ignores all
other valid address scopes.
This patch reworks that routine to cover the three main address scopes
("link-local", "global" and "local") and anything else it finds is
grouped under "other").
Rationale for this final grouping is that these other addresses fall under
ranges currently either "reserved" or "multicast" in scope. Whilst it's
good to show if these are present, they are not normally found as link
addresses.
DBGvpp# sh ip6 int tap-0
tap-0 is admin down
Link-local address(es):
fe80::e857:7fff:fe77:c1a9/64
Local unicast address(es):
fd50:7389:246b:4321::2/64
Joined group address(es):
ff02::1
ff02::2
ff02::16
ff02::1:ff77:c1a9
ff02::1:ff00:2
...
Change-Id: I1d750b3b39c54aa4eb75632d53089640601bcba5
Signed-off-by: Chris Luke <chrisy@flirble.org>
Pierre Pfister [Thu, 30 Jun 2016 13:06:55 +0000 (14:06 +0100)]
Fix buffer leak from L2 flooding replication process
vlib_buffer_free_inline actually checks (b->flags & VLIB_BUFFER_RECYCLE)
in order to decide whether to free the packet or not.
Although the flag was correctly set in replication_prep, it is not removed
by replication_recycle during last iteration.
This patch just removes VLIB_BUFFER_RECYCLE when is_last is set.
Change-Id: I2445ebce908d94d95535e706b40407b4f15906e4
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
Filip Tehlar [Thu, 30 Jun 2016 07:46:08 +0000 (09:46 +0200)]
Fix wrong interger type when unformating value in VAT
Since format string "%d" expects a 32 bit value using u8 type in unformat()
results in buffer overflow.
Change-Id: Idee5b588049d7573ddbde56c28030f9db3758493
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Damjan Marion [Wed, 29 Jun 2016 23:02:17 +0000 (01:02 +0200)]
Fix clang build
Change-Id: I678d7e0a7c91c7daf9feb3ec23a633b96fab56a7
Signed-off-by: Damjan Marion <damarion@cisco.com>
Chris Luke [Tue, 28 Jun 2016 23:54:21 +0000 (19:54 -0400)]
Fix the spelling of the word "suppress".
The spelling mistake where "suppress" is written as "surpress" was
sufficiently common and annoyed me enough to fix it.
For backwards compatibility, the CLI and API test tool both still accept
the erroneous spelling.
Change-Id: I82104ae9d8c2c9d6e3396ba0d72cb1dc133081d1
Signed-off-by: Chris Luke <chrisy@flirble.org>
Filip Tehlar [Mon, 27 Jun 2016 11:09:20 +0000 (13:09 +0200)]
Add support for ethernet address in LISP API
Change-Id: I9f1522f55bdd11602784a421fd850b839a1070e6
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Keith Burns (alagalah) [Wed, 29 Jun 2016 14:07:16 +0000 (07:07 -0700)]
Don't re-write adjacency with same information.
This will cause FIB counters to appear to be reset.
This is an implementation of a patch from Dave Barach.
Change-Id: I19b9953d42dfb92ec22af6a855e2e519ae7c3bdc
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
Damjan Marion [Mon, 27 Jun 2016 06:30:30 +0000 (08:30 +0200)]
Decouple worker thread code from dpdk, enable worker threads in vpp_lite
Change-Id: I28616f1a89f2da95484438ec1a1db64845f15ef6
Signed-off-by: Damjan Marion <damarion@cisco.com>
Matthew Smith [Tue, 21 Jun 2016 21:05:09 +0000 (16:05 -0500)]
VPP-158: VPP crashes in IKEv2 code when running multithreaded
Change tunnel interface creation to be done from the main thread instead
of a worker thread by calling vl_api_rpc_call_main_thread.
Make per-thread copies of volatile elements in ikev2_main.
Change-Id: I4cda8aaa392a04c2aea2d50a52a07933cf40c016
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
Chris Luke [Tue, 14 Jun 2016 20:24:47 +0000 (16:24 -0400)]
VPP-48 Fixes for ip4/6 ttl checks and icmp responses
This patch fixes a few minor things:
- Previously ip[46]_input was rejecting packets with an input TTL (hop
limit) of one; this was not correct behavior. Packets that are bound
for this device can validly have a TTL of one.
- ip[46]_forward was not generating an ICMP TTL expired message if the
act of decrementing the TTL caused it to become zero. This was not
previously an issue because ip[46]_input was filtering packets where
this could happen.
- udp_local was not generating ICMP Port Unreachable messages if
UDP packets arrived for a port that is not listened to. This is
typically the signal that "traceroute" uses to terminate its
search.
Together these fixes mean that traceroute probes transiting a VPP
node, or are targetted toward a VPP node, now work as expected.
Change-Id: I84bb940883f7a18435f29f4518fb0445b989a3e3
Signed-off-by: Chris Luke <chrisy@flirble.org>
Damjan Marion [Tue, 28 Jun 2016 17:10:41 +0000 (19:10 +0200)]
Fix native build on non x86_64 systems
Change-Id: Iab9f6793112f19a5b54a555623d84099aa8bb03e
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Sun, 26 Jun 2016 18:16:57 +0000 (20:16 +0200)]
Reduce ring size for dpdk NICs and overtal mem footprint
Size of interface descriptor rings have direct impact
on Last Level Cache utilization, and can significantly affect performance.
So generally having smaller ring size is good idea as long as
there is enough buffer in the ring to accomodate line rate.
Here we are reducing rings sizes to 1024 which is still bigger
than lab verified 512 buffers per ring.
Indirectly, this also affects memory footprint, as we can have
smaller buffer allocation, which is now 16384 (previously it was 32768)
This patch also fixes issue with i40e vector PMD which was leaking
buffers when previous default ring sizes were set.
Change-Id: I58fb40586304b2f0cb5de9a444055da3cd3acb53
Signed-off-by: Damjan Marion <damarion@cisco.com>
Marek Gradzki [Mon, 27 Jun 2016 08:45:09 +0000 (10:45 +0200)]
Add support for classify table/session read to jvpp:
* provides length information for variable length arrays
in classify table/sessione reply messages
* provides jvpp example for reading classify tables/sessions
Change-Id: I47f8fca5c849ec874d4e23f28177e310689db522
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
Ole Troan [Fri, 24 Jun 2016 18:10:30 +0000 (20:10 +0200)]
Plugins: Clean up the plugin directory so that each plugin has its own
directory and GNU autotools setup.
Change-Id: I6c59d1297389c9413db0c0b9bdf3b759080bf1b8
Signed-off-by: Ole Troan <ot@cisco.com>
Dave Barach [Mon, 27 Jun 2016 13:25:13 +0000 (09:25 -0400)]
More janitorial work
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>
Pavel Kotucek [Tue, 7 Jun 2016 12:44:26 +0000 (14:44 +0200)]
VPP-108 : API calls to read classify table and sessions
Added new API calls to read
- classify table ids as array
- classify table ids for specified interface
- classsify table info
and to dump sessions of specified classify table.
Change-Id: I089604fa98eea92866495089d76c2330ae7d850c
Signed-off-by: Pavel Kotucek <pavel.kotucek@pantheon.tech>
Filip Tehlar [Fri, 24 Jun 2016 12:16:34 +0000 (14:16 +0200)]
Add MAC address support to LISP map-cache
Change-Id: I80f05a222cb0f728ad2460efe33955e781b6849f
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Dave Barach [Sun, 26 Jun 2016 14:29:03 +0000 (10:29 -0400)]
Misc. janitorial work:
Remove private / name-colliding "give me the first ip address on an
interface" routine from proxy_node.c
Return a proper error from ip4_lookup_init / ip6_lookup_init.
Change-Id: Idd3c574424ba2ea77c263af16b02cd4ad0cb4605
Signed-off-by: Dave Barach <dave@barachs.net>
Mohsin KAZMI [Mon, 20 Jun 2016 04:55:25 +0000 (06:55 +0200)]
Netmap: Resolve interface state issue
[VPP-155]: There is inconsistency in the netmap interface
state for software interface state and hardware interface
state. This patch resolves that issue.
Change-Id: I92199e117f919bd985670366a6d3b7753e40659c
Signed-off-by: Mohsin KAZMI <sykazmi@cisco.com>
Dave Barach [Fri, 24 Jun 2016 22:53:21 +0000 (18:53 -0400)]
Doubly-linked list element pools
Change-Id: I96e7602be48dfb5bb3867ad1e9f15c543903b3d6
Signed-off-by: Dave Barach <dave@barachs.net>
Zhihong Wang [Wed, 22 Jun 2016 00:33:59 +0000 (20:33 -0400)]
vhost-dpdk: dequeue size fix
Burst size for DPDK is 32, which is different from VLIB_FRAME_SIZE.
A loop is needed to dequeue all packets.
Change-Id: Ie611c58c4e3434251a47fe6ad1f38abcb85180cb
Signed-off-by: Zhihong Wang <zhihong.wang@intel.com>
Georgii Tkachuk [Fri, 24 Jun 2016 01:52:42 +0000 (01:52 +0000)]
add buf_physaddr to dpdk trace
Change-Id: Icbb6814306f51873af6ad9d1425b52d660bb99ce
Signed-off-by: Georgii Tkachuk <georgii.tkachuk@intel.com>
Keith Burns (alagalah) [Sat, 25 Jun 2016 10:50:28 +0000 (03:50 -0700)]
Vagrantfile RAM default is too small.
- Will raise JIRA for someone to convert this to use binaries by default
- This means we should be able to get away with smaller VM for non-dev users
Change-Id: If3d9283ba2c169792a1ab71ff692c25de82d41f4
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
Mohsin KAZMI [Thu, 16 Jun 2016 04:58:34 +0000 (06:58 +0200)]
netmap: multithreading support
This patch adds multithreading support for netmap interfaces.
Change-Id: Iba94386fe309a4aac71646fe567f8dabbebd0459
Signed-off-by: Mohsin KAZMI <sykazmi@cisco.com>
Shesha Sreenivasamurthy [Fri, 24 Jun 2016 18:04:29 +0000 (11:04 -0700)]
Move vcgn as plugin
Use appropriate libnames to copy
Change-Id: Iaa1e7e3ceed52f328e26e75ee7309fc6464d5c66
Signed-off-by: Shesha Sreenivasamurthy <shesha@cisco.com>
Filip Tehlar [Wed, 22 Jun 2016 07:18:12 +0000 (09:18 +0200)]
Reformat output of lisp eid-table show command.
Example output:
DBGvpp# sh lisp eid
EID type locators
[100] 6.0.2.0/24 local(ls1) host-intervpp1
[200] 6.0.2.0/24 local(ls2) host-intervpp1
[100] 6.0.4.0/24 remote 6.0.3.2
[200] 6.0.99.0/24 local(ls3) local0
host-intervpp1
[0] 6.0.0.0/16 remote
Change-Id: I69200bf7636167bce931def88828503a75496f4b
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Marek Gradzki [Wed, 15 Jun 2016 14:38:33 +0000 (16:38 +0200)]
VPP-118: add support for variable length arrays to jvpp
* extends VPP's message definition language with the following syntax:
u32 count:
u8 array[count];
which is traslated to:
u32 count;
u8 array[0];
but now, python API representation generated by vppapigen
contains information about where the array length is stored.
* modifies existing response messages to use the new syntax
Change-Id: I68210bc7a3a755d03d067e9b79a567f40e2d31f3
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
Pierre Pfister [Wed, 22 Jun 2016 11:54:48 +0000 (12:54 +0100)]
Add admin-up flag to L2TP tunnels and start tunnels set to down
L2TP tunnels use virtual interfaces but directly send
packets to l2-input node (not ethernet-input).
This node requires a bridge-domain to be associated with
the interface.
Past code was immediatly turning the interface up, but
some packets could be sent to l2-input without bridge domain
between interface creation and association with a bridge domain.
The tunnel is now created as down and has to be set up later
(typically after being associated with a bridge-domain).
Another option would have been to change the api and enforce
a bridge-domain to be specified before the tunnel, but this
is less flexible for the user.
Change-Id: I26d1f36bb4f327d9fa1c8044023f2210c4117904
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
Dave Barach [Thu, 23 Jun 2016 15:27:51 +0000 (11:27 -0400)]
Show command support for ip feature paths
"show ip features" displays all available features, in execution
order.
"show ip interface features <intfc>" displays all features currently
configures on an interface, in execution order.
Change-Id: I489bbdb85799a01721ba60b12ffaffcab1e0d1df
Signed-off-by: Dave Barach <dave@barachs.net>
Florin Coras [Tue, 21 Jun 2016 20:32:47 +0000 (22:32 +0200)]
Use lisp_gpeX iface counters to store decap stats
The patch switches to using LISP interface counters for storing the
number of decapsulated packets instead of using per decap node stats. It
also removes the encap node (iface tx node) stats since the iface output
node already keeps track of the number of encapsulated packets.
Change-Id: I636702a824264c173792f2f0c7fec0b0f4c6a9f7
Signed-off-by: Florin Coras <fcoras@cisco.com>
marek zavodsky [Tue, 21 Jun 2016 03:35:16 +0000 (05:35 +0200)]
VPP-72 Added api call aquivalents to:
"show mpls fib" -> "mpls_fib_encap_dump" and "mpls_fib_decap_dump"
"show mpls tunnel" -> "mpls_eth_tunnel_dump [tunnel-index <tunnel-id>]" and
"mpls_gre_tunnel_dump [tunnel-index <tunnel-id>]"
Change-Id: I59699039392f06dc61f62a015d07186a91cfaf45
Signed-off-by: marek zavodsky <mazavods@gmail.com>
Filip Tehlar [Thu, 2 Jun 2016 14:07:38 +0000 (16:07 +0200)]
LISP EID virtualization support
Change-Id: I892c001cfdff9d8d93e646641d96520beb3c6265
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Florin Coras [Tue, 21 Jun 2016 01:19:29 +0000 (18:19 -0700)]
More LISP SD FIB and forwarding fixes
o) Avoid using explicit_fib_index in the dst (main) FIBs. It's used in
the IP6 lookup
o) use if_address_index instead of rewrite_header.node_index to store
tunnel indexes. This ensures the tunnel index is used in the signature
computation and thus avoids all complications/hacks needed to make src
adjacencies unique.
o) Fixed negative fwd entry route insertion
Change-Id: Ie56356f165b96dfa929da5672a3a429996366460
Signed-off-by: Florin Coras <fcoras@cisco.com>
Pierre Pfister [Wed, 22 Jun 2016 11:58:30 +0000 (12:58 +0100)]
ARP/NDP does not send solicitation when no source address is available
Currently, when the interface has no address assigned to it,
VPP crashes as ip_interface_address_for_packet assumes there
always is at least one address.
This patch checks if an address is available at all.
The only part of VPP using it is ARP or NDP.
When a neighbor discovery message has to be sent while
there is no address assigned on the interace, no
solicitation is sent and an error counter is incremented.
Change-Id: Ia9fdaf8e84050a1ceeb47f5370819d3df95714f0
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
Filip Tehlar [Wed, 22 Jun 2016 14:00:52 +0000 (16:00 +0200)]
Add MAC address support for LISP
Change-Id: I79e3915fa61b497e6b586babcdf093937af07b2b
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>