4397 Commits

Author SHA1 Message Date
Jan Gelety
059d1d0e01 make_test: Add missing classifier tests
Jira: CSIT-1172

Change-Id: I04e726aab97efb96ed835d2a6db293a2acab0add
Signed-off-by: Jan Gelety <jgelety@cisco.com>
2018-07-11 09:34:42 +02:00
Dave Barach
c1dccc5c11 VPP-1337: Dangling reference be gone!
Freeing the prefix and address vectors after signalling them from
dhcpv6_client_node_fn to either the pd or iana report processes is
absolutely wrong. The code has appeared to work by luck.

This took three full days' worth of expert effort to root cause - in
the context of an unrelated patch - and about one minute to fix.

Change-Id: Ie589ab1a70ae83441ab4e8b6618a6d405741f53f
Signed-off-by: Dave Barach <dave@barachs.net>
2018-07-10 20:24:42 -04:00
Neale Ranns
4555bb4ffa IGMP: coverity found defects
Change-Id: Id6aba75c30712e9a0ac7b3075bd6cfc49d6bec36
Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-07-10 21:23:09 +00:00
Neale Ranns
de450cb3cc FIB path dump: fix next-hop-table ID for recursive routes
Change-Id: I57b4ebca29c0b185770373e8878f89a9bd13b742
Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-07-10 21:22:53 +00:00
Matus Fabian
8008d7cdfc NAT44: multiple outside FIB tables (VPP-1314)
Change-Id: I56eb15f8fd2d3049845287dc3df7870582764f8b
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2018-07-10 10:12:57 +00:00
Marco Varlese
abec942075 openSUSE: spec file update to reflect latest deps
Change-Id: I3c04956400a2e88d331f43d1b4865ee2c75e7bc9
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
2018-07-10 10:12:38 +00:00
Igor Mikhailov (imichail)
ebf4aa3786 Remove unused variables
Change-Id: If4da80c7eefe55905594eaaba0946d75f0892da5
Signed-off-by: Igor Mikhailov (imichail) <imichail@cisco.com>
2018-07-10 10:11:09 +00:00
Juraj Sloboda
c746a15272 Do not translate packets destined for NAT64 inside interface (VPP-1331)
Change-Id: Ieb8020f57ed5ad20daf552cd62ae3fdd8c573926
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
2018-07-10 10:10:05 +00:00
Brian Brooks
3ecef99484 pp2: increase recycle batch size
Increase batch size when recycling buffers. This increases Mpps by 7%.

Change-Id: I2a460611d9c36e9bf087b076fc4e187acf61108f
Signed-off-by: Brian Brooks <brian.brooks@arm.com>
2018-07-10 10:09:24 +00:00
Brian Brooks
e356cbfaa8 pp2: use configured RX queue size
Change-Id: I5e5b2dd4f4bc3e257824015c723228ac5128d6a0
Signed-off-by: Brian Brooks <brian.brooks@arm.com>
2018-07-10 10:08:35 +00:00
Neale Ranns
947ea6222d IGMP improvements
- Enable/Disable an interface for IGMP
- improve logging
- refactor common code
- no orphaned timers
- IGMP state changes in main thread only
- Large groups split over multiple state-change reports
- SSM range configuration API.
- more tests

Change-Id: If5674f1044e7e97274a711f47807c9ba689d7b9a
Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-07-09 21:10:53 +00:00
Eyal Bari
dd47ecadcf vxlan:use bihash_16_8 for ipv4 lookup
Change-Id: I0d4630c88d6caacffcd073ebaa12766dfc893f70
Signed-off-by: Eyal Bari <ebari@cisco.com>
2018-07-09 21:08:54 +00:00
Neale Ranns
a1ff01e5c9 new pipe code does not use stdints
Change-Id: Idee565af852c7bb434b886fbf31c6e76315686c4
Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-07-09 18:41:16 +00:00
Matthew Smith
999a0a4199 Fix missing pipe.api.h
Errors occur when building a library outside the VPP
source tree that uses the shared memory API because
vnet/devices/pipe/pipe.api.h is not installed but is
included by vnet/vnet_all_api_h.h.

In src/vnet.am, Add vnet/devices/pipe/pipe.api.h to
nobase_include_HEADERS.

Change-Id: Id3dc28d90f41bb0ff576736f9d77bee19a2b8fdd
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2018-07-09 11:16:44 -05:00
Matthew Smith
0e36bbfd1b Fix IPsec intf tx node setup at intf creation
When using a DPDK cryptodev with IPsec, sending outbound
packets results in a crash on division by zero if using an
algorithm not supported by the OpenSSL ESP nodes. This
includes AES-GCM and MD5.

At IPsec intf creation time, the next node at slot
IPSEC_OUTPUT_NEXT_ESP_ENCRYPT for ipsec_if_tx_node_fn is
set to the node named esp-encrypt. This is the OpenSSL
ESP encrypt function. If DPDK cryptodevs are configured,
dpdk-esp-encrypt is the correct next node.

Change to setting the next node according to the value in
ipsec_main.esp_encrypt_node_index. That value is set to
esp-encrypt by default. If DPDK cryptodevs are configured
it gets set to dpdk-esp-encrypt.

Change-Id: I83896c76b975d74aead247a162c85eccca9575a8
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2018-07-08 11:22:17 +00:00
Matthew Smith
7b13e0df70 ixgbe link update patch for DPDK 18.05
Add patch for DPDK 18.05 that was previously applied
to DPDK 18.02.1. Issue with ixgbe on x550 SFP+ still
exists.

Bug report submitted to DPDK:

https://bugs.dpdk.org/show_bug.cgi?id=69

Change-Id: I9b005709ddf2a72192b1288ba8b4bac85bf12685
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2018-07-08 11:21:45 +00:00
Florin Coras
95e0ce0547 session/svm: fix coverity warnings
Change-Id: Ic5daed1f6c23d9561a04e235dcbf257f190d066a
Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-07-08 11:21:23 +00:00
Mohsin Kazmi
e7cde313e1 vhost: Add multi-versioning support
It also refactors the vhost code which was in one big file vhost-user.c.
Receive side code is in vhost_user_input.c and
Transmit side code is in vhost_user_output.c

Change-Id: I1b539b5008685889723e228265786a2a3e9f3a78
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2018-07-08 11:21:07 +00:00
Neale Ranns
17ff3c1fa5 Pipes
A pipe resembles a unix pipe. Each end of the pipe is a full
VPP interface.
pipes can be used for e.g. packet recirculation, inter-BD, etc.

Change-Id: I185bb9fb43dd233ff45da63ac1b85ae2e1ceca16
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2018-07-07 16:06:34 +00:00
Florin Coras
65784c1602 svm: add unidirectional message queue
Meant for single reader/writer message exchanges. Supports multiple
message rings.

Change-Id: I925de9a6ae19226c5c39a63caff76424ed123a13
Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-07-06 08:40:18 +00:00
Dave Barach
01a771b121 add stat segment size configuration
Change-Id: I395ff9c91d670a9f9e50dc1b030e0412b7234de5
Signed-off-by: Dave Barach <dave@barachs.net>
2018-07-05 11:49:00 -04:00
Eyal Bari
0fa56788f7 vxlan:use bihash_24_8 for ipv6 lookup
* added the fib index into the key
* conform coding style for vxlan.h
* added "show vxlan tunnel raw" command to dump bihash

Change-Id: Icc96e41abb648e96de5b4605b035f68f9e20f8a9
Signed-off-by: Eyal Bari <ebari@cisco.com>
2018-07-05 14:55:33 +00:00
Klement Sekera
dab732a18c VPP-1335 vapi crash when memclnt_keepalive received
Change-Id: If33a7cc6c76147fd3ea9d8118370e7a508819b81
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2018-07-05 09:01:22 +00:00
John Lo
ef8db36797 Fix clib_bitmap_next_clear() function when no clear bits left
If the bitmap has no bit clear after the input bit position i,
the function will return i even if its bit is set.
Fix is to return the next bit just beyond the free bitmap.

This can cause IP neighbor scan crash in ip_neighbor_scan() with
a debug image. With production image, ip_neighbor_scan() may still
function, AFAICT, with extra neighbor delete attempts for entries
already deleted, until these entries are reused for new neighbors.

Change-Id: If6422ef6f63908ea39651de4ccbd8cb0b294bd69
Signed-off-by: John Lo <loj@cisco.com>
2018-07-04 23:53:48 +00:00
Klement Sekera
6452622998 fix VPP-1312 Invalid UDP packet length in ipsec
Change-Id: Ibfd0a2e7010e6e74c32244c538f60e0713bea03f
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2018-07-04 17:37:22 +00:00
Marco Varlese
6922040caf openSUSE: add python2-ply dependency
Change-Id: I39ad69975e34bf11d3c009ad705157ceefa43fb9
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
2018-07-04 17:36:48 +00:00
Damjan Marion
9e300dda1b Do not override skip-cores if set in startup.conf
Change-Id: I97d75f58a46275fdad5add27dc59c731cc3ac64d
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-07-04 12:52:08 +00:00
Neale Ranns
1f046dc117 IP FIB dump - incorrect table-ID for deag paths
Change-Id: I383cfb662b4d2bf4f814e3eb9a1ce4d6bff7066d
Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-07-04 09:16:10 +00:00
Neale Ranns
eb9df09085 Remove unused members from ip4_fib_t
Change-Id: I8b92652d512bad5d774c7862f9808c306bbeff18
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2018-07-04 08:43:46 +00:00
Neale Ranns
680f279212 add 'src-lookup' keyword for FIB paths
Change-Id: I4554d1e94bd70ef5b3b0aaeb1a0fceaeb81c5f96
Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-07-04 08:42:54 +00:00
Damjan Marion
7752b39af3 Set main thread affinity before main heap is allocated
Change-Id: I524909570fc1736f51fd437d6d30566c461139bd
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-07-03 18:41:57 +00:00
Mohsin Kazmi
6b1cdd3a20 vom: Add cross connect support
Change-Id: Ia316730d8f9fe9836200aa96e0b5fd827dc71c98
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2018-07-03 11:26:04 +00:00
Florin Coras
208daa1adb tcp: update snd_una_max for retranmsits
Change-Id: I0573d0aff39581bba96e610228a10ae923a8ca06
Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-07-03 09:17:33 +00:00
Damjan Marion
926b564d65 Add per-numa page allocation info to 'show memory'
Change-Id: I64e4e3d68c0f3958323f30b12a26cfaafa8bad85
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-07-02 21:33:31 +02:00
Vijayabhaskar Katamreddy
b361076e24 Fixing ip4-reassembly ip6-reassembly non feature node, next_node_index setting
Change-Id: Ib988d87e6758ffa31862096391f9f286b0797f2b
Signed-off-by: Vijayabhaskar Katamreddy <vkatamre@cisco.com>
2018-07-02 15:07:09 +00:00
Jan Gelety
e6c78ee842 make_test: add icmp packet size sweep and icmp echo tests
Jira: CSIT-1141

Change-Id: I162bb4e718bff188abefc7b2f33501de9c55bb03
Signed-off-by: Jan Gelety <jgelety@cisco.com>
2018-07-02 15:06:58 +00:00
Damjan Marion
b0e0894c9f dpdk: bump default DPDK version to 18.05
Change-Id: I739d3e6c25efe8d32b2f4a60557c644edfe958e0
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-07-02 15:03:31 +00:00
Florin Coras
91ca462b58 tcp: fix single loop prefetch
Also add single loop prefetch in session tx

Change-Id: Ib2725a2552fcc1a65050d7a2eb10491a7b34db62
Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-06-30 11:30:45 -07:00
Steve Shin
0d5a195ce4 cli: Validate cli_file_index on quit command
VPP crash happens with 'vppctl quit quit' command. The 2nd quit command
tries to access the file index which is already freed by the first quit.
This can be avoided to validate cli_file_index.

Change-Id: I880514c93523db2a727d7510c97950582cd6a6c8
Signed-off-by: Steve Shin <jonshin@cisco.com>
2018-06-30 13:50:21 +00:00
Florin Coras
0d60a0f828 session: send tx notification to app
Does some session node cleanup as well

Change-Id: Ifd52b07b28ba4dec1f6f729476decc76eb963837
Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-06-30 13:49:35 +00:00
Florin Coras
fcd23686c4 bitmap: add nocheck variants for bit ops
Change-Id: Ifd155e2980a9f8e6af9bb6b08619c15b2bf18ef1
Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-06-30 13:49:15 +00:00
Damjan Marion
ef8ead55e5 memif: minor fixes
Change-Id: Ib06d9ce0fad48b784fd47db13c7a2f353c845fca
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-06-29 17:08:05 +02:00
Lukasz Majczak
a21a36763b VPP-1324 SIGSEGV vl_msg_api_handler_with_vm_node()
Increase local arrays sizes to the correct number and gather missing statistics.

Change-Id: If44d43f258730e9a18f50fb59fc526c214d2be8a
Signed-off-by: Lukasz Majczak <lma@semihalf.com>
2018-06-29 12:32:00 +00:00
Nirmoy Das
c9f4022783 VPPAPIGEN: use SOURCE_DATE_EPOCH for datestring
bwiedemann@suse.com pointed me that:
For reproducible builds datestring should be generated using
SOURCE_DATE_EPOCH which distributions set centrally, and have build
tools that consume it to produce reproducible output.

https://wiki.debian.org/ReproducibleBuilds/TimestampsProposal#Python

Change-Id: Iefa2b93231bbc4c8af49736be4d7a5720c46b28d
Signed-off-by: Nirmoy Das <nirmoy.aiemd@gmail.com>
2018-06-29 11:21:12 +00:00
Ole Troan
10a0989a30 CSIT-1148: VPPAPIGEN 2nd level import of .api ignored
Change-Id: I73dcab0c5ff2405b1fcba25975955e1267a4ac4e
Signed-off-by: Ole Troan <ot@cisco.com>
2018-06-29 11:18:22 +00:00
Klement Sekera
c2fc57e8df ipsec: fix VPP-1333 - crash in ipsec policy cli
Change-Id: I843d094b6bbd1cefba82d6026174be005e66d510
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2018-06-29 10:01:00 +00:00
Jakub Grajciar
91ce843741 igmp: bugfix and minor improvements
Change-Id: I8d284117a668dc55c06a6d68fe358a3d7e26c738
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2018-06-29 10:00:17 +00:00
Vijayabhaskar Katamreddy
e95d1a1a08 Removing the static keyword do_fragment routines, so that could be accessed outside the ip_frag nodes
Change-Id: I46d3d10fa763fcf7a579620ec7cf1b204a53bce8
Signed-off-by: Vijayabhaskar Katamreddy <vkatamre@cisco.com>
2018-06-29 09:58:39 +00:00
Neale Ranns
c667ffd4af IP4 Router Alert option handling for IGMP
and a new ip4-options node, inserted between ip4-input and ip4-punt,
that checks for IP-router-alert option + IGMP combination and sends
the packet to the ip4-local. This is required because some IGMP
packets are sent to the group address and not the all-routers address.
All IGMP packets are sent with the router alert option.

Change-Id: I01f478d4d98ac9f806e0bcba0f6da6e4e7d26e2a
Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-06-29 09:56:16 +00:00
Damjan Marion
09fdf9d074 bihash key compare improvements
Looks like CPU doesn't like overlaping loads.
This new codes in some cases shows 3-4 clock improvements.

Change-Id: Ia1b49976ad95140c573f892fdc0a32eebbfa06c8
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-06-29 07:46:33 +00:00