Commit Graph

1422 Commits

Author SHA1 Message Date
fa0fb5821a VRF imported FIB entry should inherit the flags from the export entry.
Change-Id: Ie2c3d62a468315390ef2c4314a73cff0f6d3cdaf
Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-12-11 14:10:05 +00:00
4a72c8e0d9 ioam: trace plugin read api fix
-fix verify job failures

Change-Id: I0756f4b6577d58598702185ebe6f8ed9db23b0fa
Signed-off-by: Sagar Srivastav <sagsriva@cisco.com>
2016-12-10 04:30:59 -08:00
892e076a1e ip4: perf optimization in the ip4-rewrite node
This change shows around 7% improvement in ip4 path
when ip4-output features are not used.

Change-Id: I81c1c4c38c99fff0ad8270d3c0df907acf1d8c58
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-12-09 21:43:23 +00:00
5929085918 python api rpm packaging - json files are not executables
Change-Id: If8231aad2b95cf9e06cd8c95978e6a3128cdf084
Signed-off-by: Gabriel Ganne <gabriel.ganne@qosmos.com>
2016-12-09 20:13:28 +00:00
b4bc55b9d7 ioam: pot plugin - pot profile read API
Addition of read API to ioam-pot plugin which returns the current
pot profile(s) configured

Change-Id: I188e53811391e053860009dde3719612a2446521
Signed-off-by: Sagar Srivastav <sagsriva@cisco.com>
2016-12-09 20:12:55 +00:00
d24625fbd1 ioam:trace plugin - trace profile read API
Addition of read API to ioam-trace plugin which returns the current
trace profile configured

Change-Id: Ibe2baf0f60fb2a74ddc140747b53128aba975aaa
Signed-off-by: Sagar Srivastav <sagsriva@cisco.com>
2016-12-09 20:12:18 +00:00
0ebe8d7d76 Add FIB unit test to 'make test'
Change-Id: I57126416f57649768f3601cd715c7f5f4b9b9fad
Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-12-09 20:11:30 +00:00
637b9c4531 BFD: handle timing wheel prematurely firing events
Improve handling of timeouts. Add a workaround for when timing wheel
fires an event a tiny amount of time before it should actually be
fired.  Don't delete unneeded events at all from timing wheel, instead
ignoring unexpected events. Enable the skipped BFD test, which passes
now.

Change-Id: I6ffd4fc0ba7a049ffe63bb0e5290641a7300dd6f
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2016-12-09 20:10:02 +00:00
0279b29f32 Add make test code coverage reporting using gcov
Change-Id: Ia8247841fdbe76e1d888aab49ae213b4216af273
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
2016-12-09 20:09:35 +00:00
d7cb1b5f22 Coding standards cleanup for vnet/vnet/ip, VPP-255
Change-Id: I12892fa571cc50e0541d6463a8b68e1b618edd9f
Signed-off-by: Dave Barach <dave@barachs.net>
2016-12-09 11:47:00 -05:00
b78292efdf VPP-547: Fix for co-existence of HbH and RH header in Segment routing:
1. sr-rewrite - SR insertion in v6 : SR RH is inserted immediately after v6 header
but if hbh header is present as per RFC2460 it should immediately follow
v6 header. This is fixed.
2. sr-local : v6 packet destined to a sr segment is received if hbh is present
it is not handed over to sr-local for processing. fixed ip6-local handling to
skip hbh as there is no register handler for hbh for now.
3. sr-replicate - update in dual of sr_rewrite to handle replicate, fixes in
sr-replicate to handle presence of hbh header

Change-Id: I034523a42d2fedf97134761f956ab534babb8b36
Signed-off-by: Shwetha <shwethab@cisco.com>
2016-12-09 14:57:21 +00:00
16a14cdb16 make test: FIB add/update/delete - ip4 routes
- JIRA:CSIT-483

Change-Id: Idb4c5bd7a234bc975f3380ece58c0e8d4bfdafd9
Signed-off-by: Matej Klotton <mklotton@cisco.com>
2016-12-09 09:03:19 +00:00
82a06a9335 When waiting for an IPv6 response, filter non-ND packets
Change-Id: Ia5f5e00db84022bb7ee89a1b9d036fffa734295a
Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-12-09 09:02:36 +00:00
199ca9c449 DPDK HQoS: enable vpp control plane thread connection to hqos thread
The vpp control plane thread generates different types of packets such as ARP,
DHCP client, IPv6 RA, etc. which need to go through HQoS thread associated
with the output interfaces. Therefore, this patch enables vpp main thread
connection with the HQoS thread through dedicated SWQ.

Change-Id: Idcb759546d4bcd9b40beedaec4f12b29baae3e40
Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
2016-12-09 09:00:56 +00:00
e4504c6320 BFD: fix timing in the main loop
Properly wakeup the main process loop only when necessary to avoid
missed events. Improve BFD unit test reliability and speed. Add
timestamps to logs and replace Queue with more efficient deque.

Change-Id: I01255a02057d3146917b43b669ccdc74f31ef0c8
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2016-12-09 09:00:26 +00:00
56912c896a Add extra validation for VXLAN packets and tunnels
- On VXLAN packet decap, validate its DIP against VXLAN tunnel.
- Add extra logic to validate and handle creation of multicast
  VXLAN tunnels.

Change-Id: I6abdddd7be4cd9f1bcfc88d9970ba681fdd72f7c
Signed-off-by: John Lo <loj@cisco.com>
2016-12-09 09:00:11 +00:00
6d403a0132 VPP-470: Introduce VxLAN-GPE as transport for iOAM.
See Jira ticket for more details
- New plugins created to (a) Add VxLAN-GPE as transport (b) Provide export infra for
  VxLAN-GPE.

Change-Id: Ife50c7434f53d17a4783062310f73d063d53494c
Signed-off-by: Vengada Govindan <venggovi@cisco.com>
2016-12-09 06:15:02 +00:00
c9b20bc7a5 acl: make MACIP ACL apply/unapply/delete logic more robust
1. vnet_set_input_acl_intfc expects currently applied table ids to
   remove them properly, fixed that.
2. check if the interface has MACIP ACL applied before unapplying it
3. if applying MACIP ACL to interface that has one already applied,
   unapply that first.

These changes required also swapping the order of the add/del functions.

Change-Id: I179490371507b07e9dd8852000954156c318d98c
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2016-12-08 21:18:38 +00:00
32905661d1 vpp-python-api packaging - use easy_install to install the python api
adds python-setuptools as dependency

Change-Id: I186f5d4353ee7667377fb6b0486d16a1571bdf09
Signed-off-by: Gabriel Ganne <gabriel.ganne@qosmos.com>
2016-12-08 20:05:48 +00:00
b868e4ea38 Adapt LuaJIT VPP library and a few examples to API with per-message CRC and JSON
Change-Id: Ibb886e418d338588e61c7bb6cb57f2093c7c5062
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2016-12-08 17:15:18 +00:00
6162e1e26b Fix incorrect creation of classifier entries for macip ACL
The is_ip6 flag was incorrectly set during classifier
table creation phase, which intermittently caused the mismatch
between the mask value and the match values, resulting
in dropped packets. Fix that.

Also get rid of the magic numbers in that part of the code.

Change-Id: I0606561e6b07e70a1aa733746b56ed0e91752c94
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2016-12-08 17:13:05 +00:00
0c1519b5e7 BFD: improve ip header handling, fix assert
Instead of storing a pointer, store an offset within vlib_buffer marking
the start of the ip header (similar to storing start of ethernet
header). Handle negative timeout in the bfd process main loop.

Change-Id: I05a1ff3ac41da5bdc3b2ac6f9e03b3241994688b
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2016-12-08 12:16:42 +00:00
b1135432d7 Fix bug in code for setting dpdk interface descriptors (VPP-552)
Change-Id: I6401b745eeb402ec980e86dc179b774d341c4764
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
2016-12-08 11:56:09 +01:00
5c3bfab786 ioam: pot plugin - generate java bindings for ioam-pot plugin
Change-Id: I078bbc9ea495b395ade499fe3ad7d98dd766f2be
Signed-off-by: Sagar Srivastav <sagsriva@cisco.com>
2016-12-08 10:37:48 +00:00
2c4dbff25b dpdk: don't drop packets if l4 checksum is flagged as bad
Sometimes NICs are flagging checksum 0 as bad, which is not
always true.

Change-Id: Ibb0147c94f436966e6afa472025bdf92c41f201e
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-12-08 10:04:28 +00:00
10fd425cd2 l2fwd: fix isssue with setting mac age from api
Change-Id: Ib08b87ac91f78bebb539f544850b07dbf76f31f6
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-12-08 09:57:29 +00:00
14ac8010ef vhost: fix coverity warning
Change-Id: Ifb9f8d2528142ad9f11a2b6d5ac10ff9639dd5d6
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-12-08 07:58:47 +00:00
4183d6d763 Acl JVpp api generation (HONEYCOMB-305)
Includes simple test cases for acl management.

Change-Id: Ifff4f4baf9bfe84d73ebc46b591ecc46c85c94ad
Signed-off-by: Jan Srnicek <jsrnicek@cisco.com>
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-12-07 21:24:45 +00:00
0e3c0de1ed BFD: basic asynchronous session up/down
This is a work-in-progress basic BFD session handling. Only
asynchronous mode is supported at the moment. Setting the session flags
doesn't work.

Change-Id: Idba27f721b5c35be5a66a6d202a63d23ff7ecf6f
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2016-12-07 19:54:12 +00:00
d171d48edc l2fib: add mac aging support
Change-Id: Ib617ae0f76320d596cc6c4b384da76c91d701a24
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-12-07 17:42:07 +00:00
38bcb56e99 Make jvpp connection fail if control ping fails
Change-Id: Ib57cf97514fb6831f41930d9492e92ad11a3730d
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-12-07 17:20:02 +00:00
19c68d2a02 Prevent re-entrant walks on an adjacency.
The re-entrant walks were caused when the walk from an IP adj updated a fib_netry with an MPLS adj which in turn triggers a walk of the IP adj. Re-entrant walks do unnecessary work.
also fixed a walk merge issue where the encountered walk should only be checked for equivalence woth the most recent alk, not any in the list. Otherwise an UO,DOWN,UP beceoms (2*)UP,DOWN

Change-Id: Ib8b27f055dc6c1366d33740276d1c26cd314220a
Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-12-07 17:17:30 +00:00
9677a944d5 LISP mapping timers
Change-Id: I4cd600189e936b07b628371df2f7fe2e2dc3e63d
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-12-07 16:31:13 +00:00
496e127c58 Refactor tap binary APIs, VPP-550
Change-Id: I1599b3659411b5f4451c364cc5ada63cfa8e0a6b
Signed-off-by: Dave Barach <dave@barachs.net>
2016-12-07 16:20:49 +00:00
18bc907afa epoll_input: don't sleep if we expect event in less than 1 ms
Change-Id: I81652fb04608d805497a600c7dc8041911bbf39a
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-12-07 14:54:53 +00:00
de8867535a make test: add S-NAT plugin tests
Change-Id: I7859f63c5b28480be1ae587fc923d15212769e66
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2016-12-07 14:46:05 +00:00
cd06b72892 Fix coverity CIDs 157344, 157343, 157341, 157340, 157339, 157336
The macros used to verify the validity of sw_if_index passed in
the API calls have puzzled coverity.

Even though the issues are false positives, the checks are rather
simple, so edited them to avoid using the preprocessor macros,
it makes the code easier to follow.

Added the null check for 157336.

Change-Id: I24651346851215b236e53e682261e1f91219b381
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2016-12-07 12:20:07 +00:00
288e8930ee Make table chain deletion optional in classifier API (VPP-206)
Change-Id: If30c0f6d5de34943bc399b3412c2d10847538c3c
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
2016-12-07 09:42:18 +00:00
32575801c9 Enable Span Jvpp api generation
Change-Id: Ia8c0e8255f9ac5bb7ef1a174ffd933d46b017767
Signed-off-by: Jan Srnicek <jsrnicek@cisco.com>
2016-12-07 07:36:40 +01:00
399ca1ca52 SPAN API: Fix various errors making SPAN break make tests.
- s/l2/span in span_api.c in foreach macro
- Not installing .json from Makefile.am

Change-Id: I2469fe01138d62e044b8262cdb5a6e3b009bb43e
Signed-off-by: Ole Troan <ot@cisco.com>
2016-12-06 23:48:43 +01:00
7e3a875c94 API: Adapt make test to Python API changes.
Change the test wrapper script for the updated Python API.
All tests but the L2BD multi instance runs fine.
That is currently skipped.

I see intermittent failures when an MLD message is received
before the ND NA in MPLS and IPV6 FIB tests.

Change-Id: If809877c9abdf596dbb0a419ce5429552f63d212
Signed-off-by: Ole Troan <ot@cisco.com>
2016-12-06 21:17:45 +00:00
b5e8a771fb Refactor binary APIs for IP, VPP-549
Change-Id: Ieff6b22e2432600a231f74e75716e000d488a78f
Signed-off-by: Dave Barach <dave@barachs.net>
2016-12-06 20:00:57 +00:00
dfc19232df Add binary API for reading interface/vrf assignment (VPP-439)
Change-Id: I9b7cb90127e464fea520bb1b0a3e93c05a0e9e8e
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
2016-12-06 18:12:50 +00:00
3a2a1c47bc span: add tx functionality and support for multiple mirror ports
Change-Id: Ib6dd290085e6f9a434499af8d19f346220dc8428
Signed-off-by: Damjan Marion <damarion@cisco.com>
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2016-12-06 17:26:48 +00:00
fc6e693d0a dpdk: fix rte_delay_us callback issue
Introduced by recent commit. It causes initalization failure on many
NICs.

Change-Id: I409ebb8ca5ae29eb9d43438017a0d1ddddb472fc
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-12-06 17:26:03 +00:00
d3eb90ecfc vhost: Improve data path
This patch significantly improves vhost Tx and Rx
performance (20% Mpps improvement in PVP scenario).

Most significant change consists in the split of
virtio ring parsing and memory copies.
Other minor changes mostly consist in getting
rid of unnecessary variables.

Change-Id: Ia94e12ab9a6c114e3f7fef376a9343823d051209
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-12-06 16:22:16 +00:00
f3bd5716c1 Fix length in LCAF header
Change-Id: I56461c5d892ce223d1160fb57313ca1c51db9a23
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-12-06 15:54:13 +00:00
2a3e0ea435 snat: remove duplicate makefile var definition
Change-Id: Id910f033c693be882ef5da6adca4a9b46de057e4
Signed-off-by: Gabriel Ganne <gabriel.ganne@qosmos.com>
2016-12-06 14:00:07 +00:00
f0c90e20f7 MAP: Split MAP API out of vpe.api.
Change-Id: I91a612a00ea85a9ddd4233d9aa19a6a4332d9701
Signed-off-by: Ole Troan <ot@cisco.com>
2016-12-06 13:59:10 +00:00
dbb3c25374 vhost: Code cleaning
After a bug was found, I decided to review old vhost code.
This change cleans some of it by:
- Use unix file private data rather than hash table
- Use vnet interface lookups rather than hash table
- Keep track of unix_fd index rather than fd value
- Change some indent
- Store interfaces in a clib pool rather than hand-made pool

The overall change reduces the number of lines as well as
the amount of state kept in vhost structures.

Change-Id: I6b9b670b9c7e1fb85981bcf2099f7140b0251fe0
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-12-06 13:58:13 +00:00