History log of /odp4vpp/
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
09f6ceb4 21-Feb-2018 Michal Mazur <mkm@semihalf.com>

odp: Update readme file and include odp patches

Restore odp-linux section in readme file as it can now be build with
minor modification. Required patches are included in odp directory.
Slightly improve other sections.

Change-Id: I2e7f8bc7802627bc15b07b81ddf2e9b4f72f5d41
Signed-off-by: Michal Mazur <mkm@semihalf.com>
Signed-off-by: Szymon Sliwa <szs@semihalf.com>

708ae49d 20-Feb-2018 Michal Mazur <mkm@semihalf.com>

plugins: odp: [WA] Force inline mode of ODP timer

This is a workaround for following VPP error:
"Program terminated with signal SIGUSR1, User defined signal 1."
It changes mode of timers used by ODP schedule mode.

By default inline_timers is false and timer_res_init (odp_timer.c) is
called to adjust timer resolution. This function uses SIGUSR1 during
the process which collides with VPP as it uses the same signal for
communication with clients. This patch causes inline_timers to be set
and disables adjustment of timer resolution.

Change-Id: Ic2225ba736f506a86832519f9c4154cee9c06056
Signed-off-by: Michal Mazur <mkm@semihalf.com>

0f4208d9 20-Feb-2018 Szymon Sliwa <szs@semihalf.com>

plugins: odp: delete aad field initialization

Due to some bugs in the old odp-dpdk aad field needed to be
manually initialized to 0. That is no longer true, what's more
odp does not contain this field, thus making it impossible to compile.
Due to above mentioned reasons, delete this.

Change-Id: I5ec9278d44e49991fad741a43100da4b64823bf3
Signed-off-by: Szymon Sliwa <szs@semihalf.com>

5f1fe811 14-Feb-2018 Szymon Sliwa <szs@semihalf.com>

plugins: odp: Add error checks in IPsec nodes

Change-Id: I62cba4a845c91b208420f3f6b20781d75976c113
Signed-off-by: Szymon Sliwa <szs@semihalf.com>

101efb8d 06-Feb-2018 Szymon Sliwa <szs@semihalf.com>

odp: Add information about the new ipsec nodes to README.vppodp

Change-Id: I7a9a436d00d04e68c36284de0897e62b838f8506
Signed-off-by: Szymon Sliwa <szs@semihalf.com>

d1679209 19-Feb-2018 Szymon Sliwa <szs@semihalf.com>

plugins: odp: ipsec: fix style of crypto_inpuc.c

Change-Id: I89cdac40c9f768f42443406cebf7257c3e139b47
Signed-off-by: Szymon Sliwa <szs@semihalf.com>

2c8d4cb2 07-Feb-2018 Szymon Sliwa <szs@semihalf.com>

plugins: odp: Cosmetic changes in the IPsec implementation

1) renamed ipsec_api to enable_odp_ipsec, for consistency
2) added crude ASSERTs to make sure the configuration is sane
3) removed passing ipsec_api as argument, as this is a global flag now
4) reorder code - put ipsec initialization before putting
workers in polling mode
5) remove not used recycle vector from esp_encrypt.c/esp_decrypt.c
6) change clib_error_return to clib_error in ipsec.c, as
clib_error_return silently passes when 0 is the first argument

Change-Id: Id2c6da985e872f12c8409918fb9cc6113b486d10
Signed-off-by: Szymon Sliwa <szs@semihalf.com>

9fddc230 01-Feb-2018 Szymon Sliwa <szs@semihalf.com>

plugins: odp: rename functions and change trace content

Change-Id: I1f71fae3af5e36b710c8c978d8b9b74ea802e012
Signed-off-by: Szymon Sliwa <szs@semihalf.com>

817aabfc 31-Jan-2018 Szymon Sliwa <szs@semihalf.com>

plugins: odp: remove copying the ip header twice

Change-Id: Ib32d9df19bb9b0db1b3a0d30d991f1a1f11d66c7
Signed-off-by: Szymon Sliwa <szs@semihalf.com>

84cc712e 24-Jan-2018 Szymon Sliwa <szs@semihalf.com>

plugins: odp: Add support for IPsec inline operation

To use inline mode put inline flag in the odp section
of the startup.conf file, like this:

odp {
enable-odp-ipsec
inline
}

Falls back to lookaside mode.

Change-Id: I1292a7254b25a15b25285773a43bae112394827d
Signed-off-by: Szymon Sliwa <szs@semihalf.com>

97495b89 23-Jan-2018 Szymon Sliwa <szs@semihalf.com>

plugins: odp: Add asynchronous IPsec API nodes

To use asynchronous mode put async in the odp section
of the startup.conf file, like this:

odp {
enable-odp-ipsec
async
}

Falls back to synchronous mode.

Change-Id: Iacfdc03158228f4385511e6736fb24a97284320c
Signed-off-by: Szymon Sliwa <szs@semihalf.com>

3a6b2d99 05-Jan-2018 Szymon Sliwa <szs@semihalf.com>

plugins: odp: Add new nodes using ODP IPsec API

Created two new nodes for encryption/decryption,
based on user preferences we can use them to accellerate
IPsec by offloading it to hardware or optimized software
implementations

To use the new nodes two flags are needed in the odp
section of the startup.conf file, like this:

To use the new nodes put the enable-odp-ipsec flag to
startup.conf file, like this:

odp {
enable-odp-ipsec
}

Change-Id: Ib4bbc481efad7e90d63994580b57849b74400947
Signed-off-by: Szymon Sliwa <szs@semihalf.com>

808c3e6e 14-Feb-2018 Szymon Sliwa <szs@semihalf.com>

plugins: odp: ipsec: Fix multiple issues

1) added casts on assignment to post_crypto.next_index
as the type of the field changed
2) removed checking result when crypto operation is
asynchronous as it make no sense
3) fixed bug which could cause issues when some of the
operations are done synchronously and some
asynchronously

Change-Id: I123d70402c0210b11dfc2d0fff2c72aa100ce838
Signed-off-by: Szymon Sliwa <szs@semihalf.com>

34c3e2b4 14-Feb-2018 Szymon Sliwa <szs@semihalf.com>

Fixes to changes in vnet/buffer.h

Change ethertype from double u8 to u16 for consistency, and next_index to u8,
for consistency with next_index defined int the ipsec field of this union.

Change-Id: I9315bbdd95e23290b37da53267b94a5ddacc85d7
Signed-off-by: Szymon Sliwa <szs@semihalf.com>

bd514bb6 19-Feb-2018 Szymon Sliwa <szs@semihalf.com>

plugins: odp: ipsec: add error check

Add a check if crypto operation was successful

Change-Id: Iaa7c4df89aab309a4c85300240d245b4cdb30533
Signed-off-by: Szymon Sliwa <szs@semihalf.com>

f07c57b3 19-Feb-2018 Szymon Sliwa <szs@semihalf.com>

plugins: odp: ipsec: style changes

1) add footer to check style
2) fix style
3) change the TODO note to a more descriptive one

Change-Id: I232c937c13bc0d5f206ebb4426b50bebc512a192
Signed-off-by: Szymon Sliwa <szs@semihalf.com>

16141939 18-Feb-2018 Szymon Sliwa <szs@semihalf.com>

plugins: odp: ipsec: Del GRE as it was not tested

In case of trying to add GRE to the IPsec implementation, be careful as the
post_crypto and ipsec fields of the vnet_buffer union overlap, and both are
needed for the ODP based ipsec with GRE.

Change-Id: If20fa9d78f2879264c02922f21bc204fba1ab616
Signed-off-by: Szymon Sliwa <szs@semihalf.com>

7fe7cf51 09-Jan-2018 Szymon Sliwa <szs@semihalf.com>

plugins: odp: Refactor the authentication function mapping

Change-Id: Ib0c3e2ceebb3b3929f3f0b96b8a40d07c896d70f
Signed-off-by: Szymon Sliwa <szs@semihalf.com>

af3b7acd 07-Dec-2017 Szymon Sliwa <szs@semihalf.com>

plugins: odp: Add support for IPv6 IPsec

Change-Id: I229128ccd88c1cf608e20507ca26752b9c0495f5
Signed-off-by: Szymon Sliwa <szs@semihalf.com>

afb5b006 25-Jan-2018 Szymon Sliwa <szs@semihalf.com>

plugins: odp: Add support for async crypto mode

By default ipsec picks asynchronuous crypto. After the operation it may
turn out that the operation was performed synchronously anyways, in such
case the packet is send further by the esp_* node because there will be
no notification event sent about the crypto completion.

To use asynchronous mode put async in the odp section
of the startup.conf file,
like this:

odp {
async
}

Falls back to synchronous mode.

Change-Id: I5301df5f1c93a5ccd53a9c0ed2c4cacb9ca5fdd4
Signed-off-by: Szymon Sliwa <szs@semihalf.com>

9775521a 06-Feb-2018 Szymon Sliwa <szs@semihalf.com>

Add a member to vnet_buffer union for odp based crypto

Change-Id: Ib865a59c1124a50f0bd7c6e597f45190c26fa5f9
Signed-off-by: Szymon Sliwa <szs@semihalf.com>

156b75b9 14-Nov-2017 Szymon Sliwa <szs@semihalf.com>

plugins: odp: Add tunnel mode

Change-Id: I8be5f8aa63da8fdf4b2043ba9cd048f2269e4e99
Signed-off-by: Szymon Sliwa <szs@semihalf.com>

589a02d7 24-Oct-2017 Szymon Sliwa <szs@semihalf.com>

plugins: odp: Remove copying from the esp_{encrypt, decrypt}

Change-Id: I5d71505e221e837c7569963fda674e970e5ee31d
Signed-off-by: Szymon Sliwa <szs@semihalf.com>

11959b50 23-Aug-2017 Szymon Sliwa <szs@semihalf.com>

plugins: odp: Add ODP-IPsec node

Based heavily on the src/vnet/ipsec.

Reuses the pure software VPP IPsec implementation
CLI command. To use enable-odp-crypto needs to be
present in the odp section of startup configuration,
like this:

odp {
enable-odp-crypto
}

Currenlty only IPv4 is supported, and only in transport
mode.

Authentication headers are not supported, this limitation
is inherited from VPP.

Supported crypto algorithms are
aes-cbc-128 for encryption, and
sha-512-256, sha-256-128, sha1-96 for authentication

Change-Id: I08c66f96a73d8cb4ef1095f181ddf47506abc39a
Signed-off-by: Szymon Sliwa <szs@semihalf.com>

130c8f74 31-Jan-2018 Michal Mazur <mkm@semihalf.com>

plugins: odp: Fix minor bugs

1) Remove function vlib_buffer_set_known_state because
it is not multi-thread safe.
2) Stop all worker threads before deleting interfaces.
3) Fix style of odp_packet_exit function.
4) Fix infinite loop in odp_config.

Change-Id: I4463b4e416e440ac326ddaac8e46a95d17b202d2
Signed-off-by: Michal Mazur <mkm@semihalf.com>

f4ee2e13 29-Jan-2018 Michal Mazur <mkm@semihalf.com>

plugins: odp: Fix deletion of IF with more Rx queues

Change-Id: I5abeddbc20da4528e811537d071de96a2800e016
Signed-off-by: Michal Mazur <mkm@semihalf.com>

236d93cf 12-Jan-2018 Michal Mazur <mkm@semihalf.com>

plugins: odp: Get address range from pool info

Adjust ODP plugin for Caterpillar release.
Address range of packet pool can be obtained using odp_pool_info API.

Change-Id: I0b0175cce4d9e44ca27709d1dbca560a4a72b5a1
Signed-off-by: Michal Mazur <mkm@semihalf.com>

571ce47d 11-Jan-2018 Michal Mazur <mkm@semihalf.com>

plugins: odp: Add support for buffer recycling

Buffers with VLIB_BUFFER_RECYCLE flag set should not be freed.
They are replicated on send and sent back to vlib for processing.

Change-Id: If381884fa7c898253f35dc3a39feeb4eb1529286
Signed-off-by: Michal Mazur <mkm@semihalf.com>

374d34e4 04-Jan-2018 Michal Mazur <mkm@semihalf.com>

plugins: odp: Add support for free list of buffers

Free lists are required by some VPP nodes e.g. IPv6.
Update copyrigths as lots of code were imported from src/vlib/buffer.c

Change-Id: Ie4c56d3a3104624fe77a04069fe3ba1281d3f0cb
Signed-off-by: Michal Mazur <mkm@semihalf.com>

192a196b 04-Jan-2018 Michal Mazur <mkm@semihalf.com>

plugins: odp: Fix error when all interfaces removed

Packet pool cannot be destroyed when last interface is deleted
because it will not be reallocated on creation of a new interface.

Change-Id: Iec7b03b4413fc6602a7a1493ffd706f4c4dd1309
Signed-off-by: Michal Mazur <mkm@semihalf.com>

fee373a0 04-Jan-2018 Michal Mazur <mkm@semihalf.com>

odp: Update readme file

Remove odp-linux from supported implementations.

Change-Id: Ie83ab7314bcbd359bb3071743b9eb2b8d3df6a5e
Signed-off-by: Michal Mazur <mkm@semihalf.com>

6009022c 04-Jan-2018 Michal Mazur <mkm@semihalf.com>

plugins: odp: Remove 'platform-params' option

ODP platform can now be configured using environment variable
ODP_PLATFORM_PARAMS. Remove the option from startup config file.

Change-Id: I9d550dabd32c691a031bb88d5453c8146d5fbce8
Signed-off-by: Michal Mazur <mkm@semihalf.com>

e6e8af48 04-Jan-2018 Michal Mazur <mkm@semihalf.com>

Preserve environment variables when starting VPP

Environment variables may contain configuration for platform drivers.
They were lost when starting VPP using 'make run/debug' commands.

Change-Id: I47d71b1d47a33cb8386f106bac215208e7030b1d
Signed-off-by: Michal Mazur <mkm@semihalf.com>

7abe5825 18-Dec-2017 Michal Mazur <mkm@semihalf.com>

Fix and improve Rx Scheduler mode

Fix support of atomic mode and add two new modes: parallel and ordered.
Three modes of synchronization between threads are supported now:
- parallel - no synchronization between events
- ordered - relative sequence of events is restored in output queues
- atomic - only a single thread may process events from a single queue

Change-Id: I9399aa601f0927042ac0f7f1e5f265f4d47724b8
Signed-off-by: Michal Mazur <mkm@semihalf.com>

945f7e8e 26-Nov-2017 Michal Mazur <mkm@semihalf.com>

More optimizations for Tx and Rx loops

1) Parse multiple output packets in loop.
2) Remove checking for error flags, they are never set because
ODP parser is disabled.
3) Do not call vlib_buffer_advance if not necessary.
4) Remove lock in TX path. Queues are synchronized by ODP.
5) Optimize detection of packet type.
6) Create a wrapper for call to odp_packet_user_area.

Change-Id: Ib50c9be9a62d67824b58ef2cd443b7fc59471655
Signed-off-by: Michal Mazur <mkm@semihalf.com>

4c34d6c1 21-Aug-2017 Michal Mazur <mkm@semihalf.com>

Read ODP configuration from VPP startup config

1) Allow to setup size of allocated memory, number of packets in the
pool, number of packets in transmit burst and delay in scheduler
mode from VPP startup file.
More details are in template: src/vpp/conf/startup.conf
2) Separate Rx mode from Tx mode. Traffic Manager is not supported.
3) Devices defined in VPP startup are automatically created at start.

Change-Id: I1f8a3c2900f56cb23ce6997d311cfe55e1c2078c
Signed-off-by: Michal Mazur <mkm@semihalf.com>

7e1f3998 19-Sep-2017 Michal Mazur <mkm@semihalf.com>

Add support for multiple Rx and Tx queues

1) Incoming packets can be spread across multiple worker
threads based on IP and TCP/UDP headers.
2) Multiple output queues are used in Burst mode if supported
by hardware (checked in interface capabilities)
3) Synchronization of output traffic can be disabled due to
multiple Tx queues - one for each thread.

Change-Id: Ib5ee18103c860eae3b56ffc453a5953c729bb521
Signed-off-by: Michal Mazur <mkm@semihalf.com>

0c552959 11-Sep-2017 Michal Mazur <mkm@semihalf.com>

Optimize Rx and Tx paths

1) Handle multiple ODP packets at once in receive loop
2) Wait to collect as many RX buffers as possible in single vector
3) Add prefetch of received and transmitted buffers
4) Disable parser, classifier and synchronization of RX queues
Synchronization of Tx queues can also be disabled if 2 ports used.

Change-Id: I65ed49ef2b60278022712e10a83f6ca24360694e
Signed-off-by: Michal Mazur <mkm@semihalf.com>

d830f803 11-Aug-2017 Michal Mazur <mkm@semihalf.com>

Create worker threads using ODP API (direct in/out mode)

This patch allows VPP to run multiple worker threads compatible with ODP.
By default a single thread is assigned to each interface but this
can be changed using "set interface rx-placement" command.
Only Direct input/output mode without RSS is supported.

Change-Id: Ia6af7e5af4950159eb28b7d56bc9c8d34b80f8d4
Signed-off-by: Michal Mazur <mkm@semihalf.com>

c322d05e 11-Aug-2017 Michal Mazur <mkm@semihalf.com>

Move odp_packet_main structure to shared memory.

This structure contains data shared among multiple threads and
must be globally accessible.

Change-Id: Ibde8222e9ed3f61561f7902750a1716da5c0bd81
Signed-off-by: Michal Mazur <mkm@semihalf.com>

99e97518 11-Aug-2017 Michal Mazur <mkm@semihalf.com>

Add initial support for ODP buffers.

Based on patch from Sreejith Surendran Nair.

Change-Id: I32ff73871ce0439378a7e3f0f9a93ac169e770cb
Signed-off-by: Michal Mazur <mkm@semihalf.com>
Signed-off-by: Sreejith Surendran Nair <srsurend@cisco.com>
Signed-off-by: Sachin Saxena <sachin.saxena@nxp.com>

3abc809c 05-Dec-2017 Michal Mazur <mkm@semihalf.com>

vlib: Add pointer to driver data to vlib_buffer_t

Change-Id: I97617d84eb5ba6403bc2d8f87d8c76a086413094
Signed-off-by: Michal Mazur <mkm@semihalf.com>

6bcc95a6 07-Nov-2017 Michal Mazur <mkm@semihalf.com>

Fix style of ODP plugin and add Linaro copyrights

Change-Id: I5c86cd0a1150ba2e915ce3413c67c504740356b3
Signed-off-by: Michal Mazur <mkm@semihalf.com>

3d9c3c28 05-Jul-2017 Sachin Saxena <sachin.saxena@nxp.com>

Merge "Introducing ODP plugin node" into 1707


704381d7 15-Jun-2017 Sachin Saxena <sachin.saxena@nxp.com>

Introducing ODP plugin node

Change-Id: I364fa14ade5282ec828662894041f9cc784ace7c
Signed-off-by: srsurend <srsurend@cisco.com>
Signed-off-by: sachin saxena <sachin.saxena@nxp.com>

d338f4e3 15-Jun-2017 Sachin Saxena <sachin.saxena@nxp.com>

Updating .gitreview for current repo.

Change-Id: I48adc6605d97821eb3f02f10a0afa4a7ab7a8a59
Signed-off-by: Sachin Saxena <sachin.saxena@nxp.com>

8e60f32c 08-Jun-2017 Andrew Yourtchenko <ayourtch@gmail.com>

acl-plugin: shrink the L2 classifier tables used for traffic redirect

The previous iteration of the code used the L2 classifier tables for session storage,
as a result, the table allocations were pretty big. The new ACL plugin
datapath uses the tables just as a redirection mechanism, without adding any
entries. Thus, the tables can be much smaller.

Change-Id: Ieec4a5abf0abda6e513ab4e675f912f14d47e671
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>

28b70af8 13-Jun-2017 Dave Barach <dave@barachs.net>

VPP-874: fix coverity warnings in tw_timer_template.c

Best guess, tested carefully, should do no harm. Clang doesn't
complain either way; it's not certain that this patch will make the
coverity warnings in tw_timer_template.c disappear.

Change-Id: I75aa0cfd8970751e823a1165df2a755e947c4cf9
Signed-off-by: Dave Barach <dave@barachs.net>

6f7ebf90 12-Jun-2017 Eyal Bari <ebari@cisco.com>

ETH:fix l2_len/vlan count mismatch for > 2 tags

l2_len was not updated for the third tag
as the ethernet node retracts by the vlan count after parse_header (using
ethernet_buffer_header_size) it ends up pointing before the ethernet header

+ some minor cleanups

Change-Id: I4ccaedd33928912e5d837376f146503b27071741
Signed-off-by: Eyal Bari <ebari@cisco.com>

89111d04 12-Jun-2017 Pavel Kotucek <pkotucek@cisco.com>

Flowprobe - tests speed-up

Updated test to reduce tests runtime.

Change-Id: I7904628fc19d349d6c26502e49d4c990cb8816ff
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>

aba8be61 10-Jun-2017 Neale Ranns <nranns@cisco.com>

FIB walk process - wake-up rate unnecessarily high

Change-Id: I7dedf283c83c7f0e0b7642f095b68bc0b40898cf
Signed-off-by: Neale Ranns <nranns@cisco.com>

4b30ceb1 09-Jun-2017 Matus Fabian <matfabia@cisco.com>

SNAT: fix 1:1 NAT without port hairpinning TCP checksum update

Change-Id: I5077fcf3671a6116b475f87e43120efc10ecaa08
Signed-off-by: Matus Fabian <matfabia@cisco.com>

3b20ee4e 12-Jun-2017 Damjan Marion <damarion@cisco.com>

memif: fix crash during interface delete

Change-Id: Ide6d26d6fcc81be6f26ac0abe2cd0d6a0838cfe6
Signed-off-by: Damjan Marion <damarion@cisco.com>

b823df5a 12-Jun-2017 Eyal Bari <ebari@cisco.com>

L2FIB:fix crash in show with deleted subif entries

after deleting a sub interface it's l2fib entries are left with a dangling
sw_if_index (while waiting for the ager to delete them).
changed "show l2fib" to reflect that state with "Deleted" as the interface name.

added sleep in test_l2_fib as a workaround for packets still passing after flush
will investigate...

Change-Id: Id998d7d3c6a073ef5005c5f3009e1cfb7febf7db
Signed-off-by: Eyal Bari <ebari@cisco.com>

4af9ba1d 07-Jun-2017 Dave Barach <dave@barachs.net>

three-level timer wheel implementation w/ overflow vector

prep work for s/timing_wheel/tw_timer/ in the vlib process model

Change-Id: I763f4968a8fce1764a3778b12def0afbd30086b1
Signed-off-by: Dave Barach <dave@barachs.net>

d51a1f6f 05-Jun-2017 Damjan Marion <damarion@cisco.com>

memif: complete refactor of socket handling code

Change-Id: I4d41def83a23f13701f1ddcea722d481e4c85cbc
Signed-off-by: Damjan Marion <damarion@cisco.com>

b32fde58 12-Jun-2017 Neale Ranns <nranns@cisco.com>

Fix build breakge post 6956

Change-Id: I0ab0e3e40b00ed5c2a34f5c23d04b596c1e9aa5f
Signed-off-by: Neale Ranns <nranns@cisco.com>

89223f46 12-Jun-2017 Matus Fabian <matfabia@cisco.com>

NAT64: bug fix

ICMP to ICMPv6 error message inner UDP packet translation
delete ST entries when deleting static BIB entry

Change-Id: I2a28631ac040e20827a692331506cd8254f70916
Signed-off-by: Matus Fabian <matfabia@cisco.com>

0fc6595a 11-Jun-2017 Jan Gelety <jgelety@cisco.com>

Update CSIT tests 170605 -> 170612

- update of CSIT operational branch to be used for VPP-patch test

Change-Id: I0e19f085153ca00ddb46e016cff742b42eca15a0
Signed-off-by: Jan Gelety <jgelety@cisco.com>

b4bd28a4 31-May-2017 Christophe Fontaine <christophe.fontaine@enea.com>

Remove calls to crc_u32 and add clib_crc32c for armv8+crc

crc_u32 was not defined for non x86_64 with SSE4.2 processors.

Calls to "crc_u32" are removed and replaced by either a call to
clib_crc32c or a call to clib_xxhash, as the result is not used
as a check value but as a hash.

Change-Id: I3af4d68e2e5ebd0c9b0a6090f848d043cb0f20a2
Signed-off-by: Christophe Fontaine <christophe.fontaine@enea.com>

c9b622fb 09-Jun-2017 Matus Fabian <matfabia@cisco.com>

NAT64: coverity fix

Change-Id: I08544b2f06f993c8a6435901232a0616d0548b94
Signed-off-by: Matus Fabian <matfabia@cisco.com>

b8633d25 09-Jun-2017 Filip Tehlar <ftehlar@cisco.com>

Fix coverity issue

Change-Id: Ib62ee0eacd6c91dc4cd95835efe901079754ef42
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>

76481d09 09-Jun-2017 Neale Ranns <nranns@cisco.com>

MPLS: cannot delete a path from the CLI

Change-Id: I7f85870ef99405727312a5de6839c8875c9fa1c5
Signed-off-by: Neale Ranns <nranns@cisco.com>

27b390e8 09-Jun-2017 Florin Coras <fcoras@cisco.com>

Fix gpe coverity issue (VPP-874)

Change-Id: I70fb60619a0a02d891276ea6c7ac277ba2b26fa3
Signed-off-by: Florin Coras <fcoras@cisco.com>

93992a90 25-May-2017 Florin Coras <fcoras@cisco.com>

Implement sack based tcp loss recovery (RFC 6675)

- refactor existing congestion control code (RFC 6582/5681). Handling of ack
feedback now consists of: ack parsing, cc event detection, event handling,
congestion control update
- extend sack scoreboard to support sack based retransmissions
- basic implementation of Eifel detection algorithm (RFC 3522) for
detecting spurious retransmissions
- actually initialize the per-thread frame freelist hash tables
- increase worker stack size to 2mb
- fix session queue node out-of-buffer handling
- ensure that the local buffer cache vec_len matches reality
- avoid 2x spurious event requeues when short of buffers
- count out-of-buffer events
- make the builtin server thread-safe
- fix bihash template threading issue: need to paint -1 across uninitialized
working_copy_length vector elements (via rebase from master)

Change-Id: I646cb9f1add9a67d08f4a87badbcb117980ebfc4
Signed-off-by: Florin Coras <fcoras@cisco.com>
Signed-off-by: Dave Barach <dbarach@cisco.com>

583dc8d3 08-Jun-2017 Ray Kinsella <ray.kinsella@intel.com>

Sample plugin: Add sample plugin documentation

Added some user documentation to sample plugin.

Change-Id: I518910f80499307e8fcac8dcef7baaeab5ea8e35
Signed-off-by: Ray Kinsella <ray.kinsella@intel.com>

7d5fae86 09-Jun-2017 Andrew Yourtchenko <ayourtch@gmail.com>

acl-plugin: wrap a verbose debug message in the appropriate conditional

Change-Id: Ibd57cb617642e42d4c4d64f186479702b8a81900
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>

fd1dee50 08-Jun-2017 Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>

dpdk: fix ipsec coverity warning

CID 170475

Change-Id: I9748dd56bdcb62e68d8f672e5b1619a3be400b8f
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>

732036d6 08-Jun-2017 Matus Fabian <matfabia@cisco.com>

NAT64: ICMP error support

Added ICMP error messages translation.
Added check for multi thread (not supported yet, so init failed).
Added API definition for custom NAT64 refix.

Change-Id: Ice2f04631af63e594aecc09087a1cf59f3b676fb
Signed-off-by: Matus Fabian <matfabia@cisco.com>

ef2a5bf0 30-May-2017 Filip Tehlar <ftehlar@cisco.com>

LISP: add NSH support

Change-Id: I971c110ed126f1a24a963f9d3b88cf8f8c308816
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>

5e852760 08-Jun-2017 Andrew Yourtchenko <ayourtch@gmail.com>

acl-plugin: remove clib_warnings on plugin init

Change-Id: Ic3c9a914a588824b8abd6668961f731432083c4f
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>

a4e63e55 08-Jun-2017 Florin Coras <fcoras@cisco.com>

Add gpe native-forward static route support

Change-Id: I744e7d64d94dbb302f2c1246663480f720672ee2
Signed-off-by: Florin Coras <fcoras@cisco.com>

6899a30b 08-Jun-2017 Pavel Kotucek <pkotucek@cisco.com>

P2P Ethernet - API

API for P2P Ethernet feature

Change-Id: Id0280f42b9ce2428262e79c4dc309595037cd10e
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>

06596c54 06-Jun-2017 Matus Fabian <matfabia@cisco.com>

NAT64: Add NAT64 support for snat plugin (VPP-699)

Basic NAT64 feature (no hairpinning, no multi-thread).

Change-Id: I392fccbce93e70c117f4a9a7ec7cf08d6c537f2d
Signed-off-by: Matus Fabian <matfabia@cisco.com>

2fcc49d9 07-Jun-2017 Florin Coras <fcoras@cisco.com>

Small update to session API

Change-Id: I6a566d1dc9531b790bdcb00edc73516f86daeb72
Signed-off-by: Florin Coras <fcoras@cisco.com>

3658adca 07-Jun-2017 Klement Sekera <ksekera@cisco.com>

make test: improve debugability

Introduce faulthandler to print stack trace to stderr on python crash.
Don't disable automatic garbage collection to decrease the chances of
running out of memory.

Change-Id: I6927a5f6ea9569735d084d4ed3d258950a400d74
Signed-off-by: Klement Sekera <ksekera@cisco.com>

48113e0c 07-Jun-2017 Dave Barach <dave@barachs.net>

VPP-874: fix coverity warning in vnet_classify.c

Change-Id: Icffd2862eadbe9ddfb3ee34f3cb19c9324b3d9b4
Signed-off-by: Dave Barach <dave@barachs.net>

6295d50b 06-Jun-2017 Andrew Yourtchenko <ayourtch@gmail.com>

acl-plugin: add a plugin-specific control-ping message api and make the test code use it

This fixes the undesirable pause in the dump commands in case there is nothing to dump.

Change-Id: I0554556c9e442038aa2a1ed8c88234f21f7fe9b9
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>

5dbfbb71 17-May-2017 Andrew Yourtchenko <ayourtch@gmail.com>

acl-plugin: make the ACL plugin multicore-capable

Add the logic to be able to use stateful ACLs in a multithreaded setup.

Change-Id: I3b0cfa6ca4ea8f46f61648611c3e97b00c3376b6
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>

a6269995 07-Jun-2017 Dave Barach <dave@barachs.net>

VPP-873: fix vector expansion bug in dispatch_pending_node

The main interior graph-node dispatch loop had a longstanding dangling
vector element reference:

for (i = 0; i < _vec_len (nm->pending_frames); i++)
cpu_time_now = dispatch_pending_node (vm, nm->pending_frames + i,
cpu_time_now);

Passing a pointer to a vector element (nm->pending_frames + i) has
considerable comedic potential if there's any chance that the vector
could expand.

dispatch_pending_node() calls dispatch_node(), and indirectly any
interior graph node dispatch function. If that node happens to expand
nm->pending_frames by filling in a new frame, nm->pending_frames can
expand.

After calling the node dispatch function, dispatch_node() does the
following:

nf = vec_elt_at_index (nm->next_frames, p->next_frame_index);

If nm->pending_frames expands during dispatch function execution, p is
a dangling reference to freed memory.

By luck, the TCP stack managed to allocate a fresh frame which
included "old-p," which caused p->next_frame_index to be filled with
the new-frame poison pattern 0xfefefefe.

This has been broken from day 1, summer 2007, first use of the
third-generation vector processing library.

Change-Id: Ideb6363bb060c4e8bf9b901882c318bd83853121
Signed-off-by: Dave Barach <dave@barachs.net>

7a4e0925 06-Jun-2017 Pablo Camarillo <pcamaril@cisco.com>

VPP-872 and End.T function for SRv6

Fixes VPP-872 and adds support for End.T

Change-Id: I3c32cb6e412f37babe1abd293c0b6b49367fc2a9
Signed-off-by: Pablo Camarillo <pcamaril@cisco.com>

0018a3e5 06-Jun-2017 Andrew Yourtchenko <ayourtch@gmail.com>

acl-plugin: fix coverity error in acl_test.c

Attempting to supply within a VAT CLI to add the ACLs a rule count
override with no rules to add would result in null pointer dereference
as we attempt to copy those rules to the message.
Add the check to avoid copy if the source pointer is null
(i.e. if there are no rules to copy from).
This commit fixes coverity errors 166797 and 166792.

Change-Id: Icabe060d961ba07dc41f63b8e17fca12ff82aa29
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>

539ed4fe 17-May-2017 Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>

dpdk: ipsec fixes

- Fix buffer trace from esp_decrypt node
- Fix VLIB_REGISTER_NODE macro format
- Remove unnecessary code since we do not reconfigure graph
unless requirements are met

Change-Id: Ic1c2afffb8265e40a6ced0c8a58775c05fadc9e2
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>

07950f82 07-Jun-2017 Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>

dpdk: fix ipsec coverity warnings

CID 161044 and 161045

Change-Id: I50a450e231e387f05e354e3b07dc777ab864d018
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>

7c2ea751 31-Mar-2017 Milan Lenco <milan.lenco@pantheon.tech>

Add support for memif API to VAT.

Change-Id: I01dc439fc84f9213e55ba56982eff34474637115
Signed-off-by: Milan Lenco <milan.lenco@pantheon.tech>

6ff05499 06-Jun-2017 Neale Ranns <nranns@cisco.com>

Fix coverity error in IP4 Mtrie.

Change-Id: I586a758a8b4b0ea5ca030b2df2796f5acb49e154
Signed-off-by: Neale Ranns <nranns@cisco.com>

30d0fd48 30-May-2017 Neale Ranns <nranns@cisco.com>

Packets recieved on VLAN-0 map to the main interface

Change-Id: I21b1ad39275495d4d006023b58f630a213445854
Signed-off-by: Neale Ranns <nranns@cisco.com>

761787bd 06-Jun-2017 Filip Tehlar <ftehlar@cisco.com>

Fix coverity issue

Change-Id: I5f7dc38beb96b600be67599049f951d8a17ff8da
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>

1728d4a8 06-Jun-2017 Jan Gelety <jgelety@cisco.com>

Update CSIT tests 170529 -> 170605

- update of CSIT operational branch to be used for VPP-patch test

Change-Id: I49396105470609422f28a49211012fcd9f252587
Signed-off-by: Jan Gelety <jgelety@cisco.com>

8a0a0ae6 27-May-2017 Hongjun Ni <hongjun.ni@intel.com>

Rework vxlan-gpe to support FIB 2.0 and bypass mode

Change-Id: I0324f945bdb4dd3b19151be6f3ce24a47a000104
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>

e68de8c3 05-Jun-2017 Florin Coras <fcoras@cisco.com>

Fix lisp map-notify parsing

Change-Id: Ib22ffee3d8ac63af171d032c2ffcb44a2e42400c
Signed-off-by: Florin Coras <fcoras@cisco.com>

6e8ab16c 05-Jun-2017 Damjan Marion <damarion@cisco.com>

vlib: add screen-256color CLI terminal type

Change-Id: Ia78e69e5e8ed18020314aef321b94ac37037799b
Signed-off-by: Damjan Marion <damarion@cisco.com>

a9a54c15 05-Jun-2017 Damjan Marion <damarion@cisco.com>

vlib: add unix_file_del_by_index function

Change-Id: I9eca5f9d1c1ae62d5ba5fb36f2f97434dbaf334e
Signed-off-by: Damjan Marion <damarion@cisco.com>

7d272181 05-Jun-2017 Damjan Marion <damarion@cisco.com>

vppinfra: fix vec_validate_init_empty_aligned macro

Change-Id: Ieafd00c7d03fe5c090808c7af4aa2f86974a092e
Signed-off-by: Damjan Marion <damarion@cisco.com>

6fa74c60 05-Jun-2017 Matus Fabian <matfabia@cisco.com>

SNAT: fix ICMP hairpinning

Change-Id: I9d63133bd1db72917571ade868040c4597c896a1
Signed-off-by: Matus Fabian <matfabia@cisco.com>

47366b19 05-Jun-2017 Marco Varlese <marco.varlese@suse.com>

More GCC-7 errors

The Wmaybe-uninitialized is the new error included with Wall.
This patch addresses the warning and fixes it.

Change-Id: I8fdf9ff2d236c46b717024a14874fbbbad8af303
Signed-off-by: Marco Varlese <marco.varlese@suse.com>

560274d0 05-Jun-2017 Filip Tehlar <ftehlar@cisco.com>

LISP-GPE: return index of newly created fwd entry, VPP-868

Change-Id: I4fc45097cb994ab6a59503d9fcfb693d1c7ec442
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>

719aef48 05-Jun-2017 Filip Tehlar <ftehlar@cisco.com>

LISP: fix GPE entry dump, VPP-871

Change-Id: Ifcd6d2caecce29c8b4605d06b9df82b36a403e74
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>

6e19b377 04-Jun-2017 wenxian li <wofanli@gmail.com>

Fix typo for specifying table_id on ping.

Change-Id: I76d399915c76ec68d8a401e11c14dc15c55291e4
Signed-off-by: wenxian li <wofanli@gmail.com>

8c55b37a 31-May-2017 Marco Varlese <marco.varlese@suse.com>

Fix for gcc7

When building VPP code with gcc7 a warning (threated as error) is encountered and the build fails.
This patch addressed the compilation issue.

Change-Id: I49af9288a84d91ec8145da07c00aefb5333ec418
Signed-off-by: Marco Varlese <marco.varlese@suse.com>

871cdec1 02-Jun-2017 Steve Shin <jonshin@cisco.com>

Fix mac_age process crash in multi-threaded environment

VPP crash is observed when MAC aging is enabled with multi-threaded mode.
If a thread other-than-zero expands the working_copies vector,
working_copy_lengths should be initialized with vec_validate_init_empty(..., -1)
to fill -1 across lower-numbered working_copy_lengths vector element.

Change-Id: I60959fc6511306b33acae323df9c6898fc6c50ce
Signed-off-by: Steve Shin <jonshin@cisco.com>

f98bb743 01-Jun-2017 Steven <sluong@cisco.com>

memif: fix coverity warnings

Check -1 for return from read prior to using the data

Change-Id: Ibab7309244de488737ea7938b334fab495bf855d
Signed-off-by: Steven <sluong@cisco.com>

0dc3f191 31-May-2017 Damjan Marion <damarion@cisco.com>

Add option to build sample plugin in top-level makefile

Change-Id: Ibf15eeb5fef2a3761089e6386783a1606d2e2b79
Signed-off-by: Damjan Marion <damarion@cisco.com>

28262a06 24-May-2017 khers <s3m2e1.6star@gmail.com>

Add debian 8 support in extras/vagrant/build.sh

Change-Id: I03f73615f4355163afd9fb5062dcea7c2df5a49a
Signed-off-by: khers <s3m2e1.6star@gmail.com>

64543be4 31-May-2017 Peter Mikus <pmikus@cisco.com>

Update CSIT tests 170518 -> 170529

Change-Id: I33de2948019683961b5ab576db2c3303c8d2bd5e
Signed-off-by: Peter Mikus <pmikus@cisco.com>

388e51aa 01-Jun-2017 Steven <sluong@cisco.com>

vhost: add debug vhost-user on | off CLI

Add runtime debug vhost-user on | off CLI to facilitate troubleshooting.
This feature is needed to avoid recompiling the code to debug vhost issues.
The debugging messages should not be on the data path to avoid performance
hit.

Change-Id: I4c40f65dbb222557cba3fb8706fa3b7b62eec95f
Signed-off-by: Steven <sluong@cisco.com>

ccd4a658 31-May-2017 Hongjun Ni <hongjun.ni@intel.com>

Add l3 routing for GTP-U decap

Change-Id: Ic3c8cd58cb2b02622299cf74c9efcabd2ef2b513
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>

7a27274a 30-May-2017 Neale Ranns <nranns@cisco.com>

Fix 'ip probe' on /32

Change-Id: Ib874ad93357500b2c425d75cf48834264b2183fc
Signed-off-by: Neale Ranns <nranns@cisco.com>

d6d6751b 31-May-2017 Neale Ranns <nranns@cisco.com>

MPLS trace the EOS bit correctly

Change-Id: I6c3fd612c19d9305f48ae0e429e12e96679e3b29
Signed-off-by: Neale Ranns <nranns@cisco.com>

d6ad5a51 01-Jun-2017 Marco Varlese <marco.varlese@suse.com>

Support to install dependencies on openSUSE distribution

This patch allows to use the "make install-dep" on openSUSE.

Change-Id: Ib0586ffebbf882032468e4f4c0df2d5d8e99d7c9
Signed-off-by: Marco Varlese <marco.varlese@suse.com>

c2aad53a 30-May-2017 Neale Ranns <nranns@cisco.com>

IP Mcast - recalculate on interface up/dowm

Change-Id: Ie5b88fd7187ed62218a2e4e0e493c33e3e9ecc2f
Signed-off-by: Neale Ranns <nranns@cisco.com>

10d8cc6b 30-May-2017 Dave Barach <dave@barachs.net>

Improve fifo allocator performance

- add option to preallocate fifos in a segment
- track active fifos with doubly linked list instead of vector
- update udp redirect test code to read fifo pointers from API call
instead of digging them up from fifo segment header
- input-node based active-open session generator

Change-Id: I804b81e99d95f8690d17e12660c6645995e28a9a
Signed-off-by: Dave Barach <dave@barachs.net>
Signed-off-by: Florin Coras <fcoras@cisco.com>
Signed-off-by: Dave Barach <dbarach@cisco.com>

26261594 01-Jun-2017 Klement Sekera <ksekera@cisco.com>

make test: add suddenly missing dependency (six module)

Change-Id: I121eaee6b752a6b3bfe1d5ecf803f67147c77beb
Signed-off-by: Klement Sekera <ksekera@cisco.com>

ad625f55 31-May-2017 Peter Mikus <pmikus@cisco.com>

Revert "dpdk: build sw cryptodev support with make verify"

This reverts commit 0e2e10b77d63196bfb93ae5be1251bbc1a1b561a.

Change-Id: I3c1737f391b6ed127f92416f06449216e79859bb
Signed-off-by: Peter Mikus <pmikus@cisco.com>

c2ebcbb8 30-May-2017 Steven <sluong@cisco.com>

memif: multi-queues support

- Add rx-queues and tx-queues option to the create memif CLI
- Add vlib_worker_thread_barrier_sync () to memif_conn_fd_read_ready () as
the latter function may disconnect the ring and clean up the shared memory.
- On transmit, write the rid (queue number) to the socket.
- On receive, read the rid and trigger the interrupt for the corresponding
thread.

Change-Id: If1c7e26c7124174678f047909cbc33e931eaac8c
Signed-off-by: Steven <sluong@cisco.com>

79ea7ec3 30-May-2017 Dave Wallace <dwallacelf@gmail.com>

Revert "Update CSIT tests 170518 -> 170529"

This reverts commit 9757325c52c223d85abfad834b071077365d4808.

Change-Id: I3bee0fe7d48be723334f2bd9fffd3240658b9e71
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>

5c749734 13-Mar-2017 Ole Troan <ot@cisco.com>

Flowprobe: Stateful flows and IPv6, L4 recording

Change-Id: I67839281623721bf42f0a918a53356143d9dc78a
Signed-off-by: Ole Troan <ot@cisco.com>
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
Signed-off-by: Ole Troan <ot@cisco.com>

0e2e10b7 22-Mar-2017 Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>

dpdk: build sw cryptodev support with make verify

Change-Id: Ica95b5d3d44563c93c89b2a3233171c3aa1f048d
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>

d5a65db9 17-May-2017 Filip Tehlar <ftehlar@cisco.com>

LISP: L2 ARP handling

Change-Id: I1ec328cda73f7eaf7867cd8a2a17852ee0cd23f1
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>

cd764360 29-May-2017 Chris Luke <chrisy@flirble.org>

Relocate Coverity scripts

- Move Coverity scripts from build-root/scripts to extras/scripts
- Update coverity-build with new path and add some comments

Change-Id: I1be8069fb574aaacbac9b7f2c9c80b9aad1790ec
Signed-off-by: Chris Luke <chrisy@flirble.org>

9757325c 29-May-2017 Jan Gelety <jgelety@cisco.com>

Update CSIT tests 170518 -> 170529

- update of CSIT operational branch to be used for VPP-patch test

Change-Id: I66357690f41e23dd1b924cc50a951a6c3696e071
Signed-off-by: Jan Gelety <jgelety@cisco.com>

9b6463d7 28-May-2017 Damjan Marion <damarion@cisco.com>

Add Debian Jessie support in toplevel makefile

Change-Id: I805800503f5330c14d2e654c02bf43e21e7ce917
Signed-off-by: Damjan Marion <damarion@cisco.com>

142d151f 26-May-2017 Steven <sluong@cisco.com>

memif: master instance crashes when typing quit on slave

When I type in 'quit' on the slave instance, the master instance crashes
on this line.

0: /home/sluong/vpp-master/vpp/build-data/../src/vlib/unix/input.c:200 (linux_epoll_input) assertion `! pool_is_free (um->file_pool, _e)' fails
Aborted (core dumped)

Below is the decode from gdb
line_number=0, fmt=0x7f57af6cc9a0 "%s:%d (%s) assertion `%s' fails")
at /home/sluong/vpp-master/vpp/build-data/../src/vppinfra/error.c:143
vm=0x7f57af8e2400 <vlib_global_main>, node=0x7f576d40ad80, frame=0x0)
at /home/sluong/vpp-master/vpp/build-data/../src/vlib/unix/input.c:200
vm=0x7f57af8e2400 <vlib_global_main>, node=0x7f576d40ad80,
type=VLIB_NODE_TYPE_PRE_INPUT, dispatch_state=VLIB_NODE_STATE_POLLING,
frame=0x0, last_time_stamp=1525665215050617)
at /home/sluong/vpp-master/vpp/build-data/../src/vlib/main.c:1016
vm=0x7f57af8e2400 <vlib_global_main>, is_main=1)
at /home/sluong/vpp-master/vpp/build-data/../src/vlib/main.c:1500

I am able to reproduce the problem consistently with the below procedure.

1. Create 3 memif interfaces between slave and master instances.
2. Type 'quit' on the slave. Neither crashes the first time.
3. Bring back the slave. Type 'quit' on the master. Neither crashes.
4. Bring back the master. Type 'quit' on the slave. The master crashes.

There are two places the interrupt line is disconnected and the unix file is
removed via the call unix_file_del ()

1. memif_int_fd_read_ready ()
2. memif_disconnect () which is called via multiple places in memif.

When the crash happens, the unix file was removed from memif_disconnect ()
via memif_conn_fd_read_ready () with size of the message == 0 in recvmsg ().
It is noted when the unix file was removed from memif_int_fd_read_ready (),
it never crashes. It is a race condition. However, if I follow the
aformentioned procedure, the crash always happens.

The reason the crash happens when memif_disconnect () removes the unix file
is because there may still be pending input in linux_epoll_input (). When
linux_epoll_input () tries to access the unix file via the line 200
unix_file_t *f = pool_elt_at_index (um->file_pool, i);
it crashes.

We could add code in linux_epoll_input () to avoid the crash if the index
for the particular file_pool is already free. Or we could fix memif to not
remove the unix file in memif_conn_fd_read_ready () when recvmsg () got 0
byte and just postpone the unix file deletion in memif_int_fd_read_ready ()
later after linux_epoll_input () got a chance to run to empty the input
stream.

I choose to fix the problem in the latter approach. I split the function
memif_disconnect () into two parts. For the code path which
memif_conn_fd_read_ready () calls memif_disconnect (), it does not remove the
unix file. All other calls to memif_disconnect () will continue to do what
it uses to do to avoid regression.

Please let me know if I should fix the problem other way.

Change-Id: I8efe2a3d24c6581609bc7b6fe82c2b59c22d8e4b
Signed-off-by: Steven <sluong@cisco.com>

3474f9ad 28-May-2017 Burt Silverman <burtms@gmail.com>

Show example syntax for setting plugin path

Change-Id: I7972273d0e9bd36e3fd6e12ab0268341ba572313
Signed-off-by: Burt Silverman <burtms@gmail.com>

6af1c04f 26-May-2017 Neale Ranns <nranns@cisco.com>

MPLS lookup DPO does not pop the label (nor does it handle replicate)

Change-Id: I7de6b96631d1645d0eadd38525860d84d78e316d
Signed-off-by: Neale Ranns <nranns@cisco.com>

dcd6d625 26-May-2017 Neale Ranns <nranns@cisco.com>

ARP/ND use path_remove to complement path_add

don't add duplicate extensions.

Change-Id: Icf72d6e1b004d0dda532bec2b51f6b74544925bb
Signed-off-by: Neale Ranns <nranns@cisco.com>

ed1e2428 25-May-2017 Robert Varga <robert.varga@pantheon.tech>

Improve jvppgen object array member instantiation

Since all objects of the array have the same type, the object
constructor is a loop invariant. Move the lookup out of the loop,
making things faster.

Change-Id: I631c72b59c6c63eccd49ede41c6dc0541c325db9
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Signed-off-by: Robert Varga <nite@hq.sk>

612a383e 25-May-2017 Filip Tehlar <ftehlar@cisco.com>

LISP: do not try to delete paths when fwd entry is negative

Change-Id: I50a0cbc7d8ecc94ad494df4720bb4199673e9793
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>

966de205 25-May-2017 Robert Varga <robert.varga@pantheon.tech>

Fix JNI templates

The JNI templates around array and object handling are wrong in the
sense that they fail to delete local references for objects which
have been assigned to fields/arrays. Fix this by invoking
DeleteLocalRef.

Change-Id: I1c31d81f4235d821ccd51c96be7b176f64284928
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Signed-off-by: Robert Varga <nite@hq.sk>

71275e3d 25-May-2017 Neale Ranns <nranns@cisco.com>

MPLS hash function improvements

Change-Id: I28e98f445c01493562b6196a4f5b532a51f178af
Signed-off-by: Neale Ranns <nranns@cisco.com>

3d0723d3 22-May-2017 Neale Ranns <nranns@cisco.com>

MPLS interface output feature not explicitly enabled

Change-Id: I54cb5113ec8e37f5da321041d7925393cae31aa5
Signed-off-by: Neale Ranns <nranns@cisco.com>

e6cc9cc7 20-May-2017 Ray Kinsella <ray.kinsella@intel.com>

af_packet: fix coverity error

Fix coverity error associated with fd.

Change-Id: I0648aebaf356308bc03cc7217922479bfc4e22f7
Signed-off-by: Ray Kinsella <ray.kinsella@intel.com>

922549af 24-May-2017 Matthew Smith <mgsmith@netgate.com>

Add p2p flag to IPsec tunnel interface hw class

Change-Id: I4ac05ee5974f5e7ab3685d325446a6e77048a948
Signed-off-by: Matthew Smith <mgsmith@netgate.com>

c13548a6 24-May-2017 Neale Ranns <nranns@cisco.com>

MPLS tunnels; path-list lock leak and debug CLI imrpovements

Change-Id: Ifb51b49d4dac1f07027b12398314a52b5cce343e
Signed-off-by: Neale Ranns <nranns@cisco.com>

6631e9c1 24-May-2017 Matus Fabian <matfabia@cisco.com>

SNAT: fix IPFIX data src and dst port

Change-Id: Ifa9582962710a3601fcccbbf388529043fc7f08a
Signed-off-by: Matus Fabian <matfabia@cisco.com>

630198f0 22-May-2017 Neale Ranns <nranns@cisco.com>

IPv6 Performance bugs

- inline the FIB lookup function; this requires access to the bihash, so for files that use more than one type this casues problems. those files that include ip6_fib.h unnecessarily have been updated
- better use of the feature arcs. ip6-lookup and interface-output are now sentinels (end-node-index in the cm speak) rather than enabled features.

Change-Id: I9d1375fee63f7dbb2d327da6124d8e60b63367ec
Signed-off-by: Neale Ranns <nranns@cisco.com>

31426c6f 24-May-2017 Neale Ranns <nranns@cisco.com>

Missing VLIB node for IPv6 disposition from mcast MPLS LSP

Change-Id: Ibc0e1910a4926fdfbf74571efb5fd5810bfa09da
Signed-off-by: Neale Ranns <nranns@cisco.com>

a7f74575 23-May-2017 Damjan Marion <damarion@cisco.com>

vlib: use driver_override in sysfs for binding pci devs to vfio/uio drivers

Change-Id: I262e455792fd95d286ee3ebc0049e2352ae5899f
Signed-off-by: Damjan Marion <damarion@cisco.com>

4f4599d4 24-May-2017 Neale Ranns <nranns@cisco.com>

MPLS trace fixes

Change-Id: I141a14e1098e562bdb3c3ac576754f4f19dbcb04
Signed-off-by: Neale Ranns <nranns@cisco.com>

13eaf3e6 23-May-2017 Neale Ranns <nranns@cisco.com>

Leak locks and tables in the Classifier

Change-Id: Iae04c57bba87ab3665388eadd0805f75171636a5
Signed-off-by: Neale Ranns <nranns@cisco.com>

4227eefc 24-May-2017 Yoann Desmouceaux <ydesmouc@cisco.com>

Fix tab-completion coverity issue

Change-Id: I051d015e7eee621dbef273b2c57449ea4c44b768
Signed-off-by: Yoann Desmouceaux <ydesmouc@cisco.com>

521202b4 24-May-2017 Eyal Bari <ebari@cisco.com>

TEST/L2BD:fix flush tests

flush tests will now enable learning on the bridge, and send broadcast packets
to add dynamic entries to the l2_fib. it will then disable learning, flush, and
will verify packets are not forwarded to flushed "hosts".

Change-Id: Ie6f123e59f6c89af511bdc5a02dd199420c424e9
Signed-off-by: Eyal Bari <ebari@cisco.com>

50332f6c 22-Aug-2016 Juraj Sloboda <jsloboda@cisco.com>

ipfix: make IPFIX work for all skip_n_vectors values (VPP-204)

Change-Id: Id2ffcd048b93d8efc8f825744cf2aeef5c436d53
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>

aaeb3410 23-May-2017 Chris Luke <chrisy@flirble.org>

Simple script to 'git blame' on new Coverity issues

- Pass an email in to stdin and the script produces output similar
to:

Hi,

Please find the latest report on new defect(s) introduced to fd.io VPP
found with Coverity Scan.

New defect(s) Reported-by: Coverity Scan
Showing 2 of 2 defect(s)

** CID 167726: Resource leaks (RESOURCE_LEAK)
/src/vnet/devices/af_packet/device.c: 215 in
af_packet_interface_admin_up_down()

________________________________________________________________________________________________________
*** CID 167726: Resource leaks (RESOURCE_LEAK)
/src/vnet/devices/af_packet/device.c: 215 in
af_packet_interface_admin_up_down()
>>> CID 167726: Resource leaks (RESOURCE_LEAK)
>>> Handle variable "fd" going out of scope leaks the handle.
00a9dcad vnet/vnet/devices/af_packet/device.c (Damjan Marion 2016-08-17
209) af_packet_if_t *apif =
00a9dcad vnet/vnet/devices/af_packet/device.c (Damjan Marion 2016-08-17
210) pool_elt_at_index (apm->interfaces, hw->dev_instance);
83cc4e14 vnet/vnet/devices/af_packet/device.c (Alpesh Patel 2016-04-05
211) u32 hw_flags;
c855b73f src/vnet/devices/af_packet/device.c (Ray Kinsella 2017-04-21
212) int rv, fd = socket (AF_UNIX, SOCK_DGRAM, 0);
c855b73f src/vnet/devices/af_packet/device.c (Ray Kinsella 2017-04-21
213) struct ifreq ifr;
c855b73f src/vnet/devices/af_packet/device.c (Ray Kinsella 2017-04-21
214)
c855b73f src/vnet/devices/af_packet/device.c (Ray Kinsella 2017-04-21
215) /* if interface is a bridge ignore */
c855b73f src/vnet/devices/af_packet/device.c (Ray Kinsella 2017-04-21
216) if (apif->host_if_index < 0)
2038ad01 src/vnet/devices/af_packet/device.c (Ray Kinsella 2017-05-18
217) goto error; /* no error */
c855b73f src/vnet/devices/af_packet/device.c (Ray Kinsella 2017-04-21
218)
c855b73f src/vnet/devices/af_packet/device.c (Ray Kinsella 2017-04-21
219) /* use host_if_index in case host name has changed */
c855b73f src/vnet/devices/af_packet/device.c (Ray Kinsella 2017-04-21
220) ifr.ifr_ifindex = apif->host_if_index;
** CID 167725: Error handling issues (NEGATIVE_RETURNS)
/src/vnet/devices/af_packet/device.c: 252 in
af_packet_interface_admin_up_down()

________________________________________________________________________________________________________
*** CID 167725: Error handling issues (NEGATIVE_RETURNS)
/src/vnet/devices/af_packet/device.c: 252 in
af_packet_interface_admin_up_down()
>>> CID 167725: Error handling issues (NEGATIVE_RETURNS)
>>> "fd" is passed to a parameter that cannot be negative.
c855b73f src/vnet/devices/af_packet/device.c (Ray Kinsella 2017-04-21
246) }
c855b73f src/vnet/devices/af_packet/device.c (Ray Kinsella 2017-04-21
247)
c855b73f src/vnet/devices/af_packet/device.c (Ray Kinsella 2017-04-21
248) if ((rv = ioctl (fd, SIOCSIFFLAGS, &ifr)) < 0)
c855b73f src/vnet/devices/af_packet/device.c (Ray Kinsella 2017-04-21
249) {
c855b73f src/vnet/devices/af_packet/device.c (Ray Kinsella 2017-04-21
250) clib_unix_warning ("af_packet_%s error: %d",
c855b73f src/vnet/devices/af_packet/device.c (Ray Kinsella 2017-04-21
251) apif->is_admin_up ? "up" : "down", rv);
2038ad01 src/vnet/devices/af_packet/device.c (Ray Kinsella 2017-05-18
252) goto error;
c855b73f src/vnet/devices/af_packet/device.c (Ray Kinsella 2017-04-21
253) }
83cc4e14 vnet/vnet/devices/af_packet/device.c (Alpesh Patel 2016-04-05
254)
00a9dcad vnet/vnet/devices/af_packet/device.c (Damjan Marion 2016-08-17
255) vnet_hw_interface_set_flags (vnm, hw_if_index, hw_flags);
83cc4e14 vnet/vnet/devices/af_packet/device.c (Alpesh Patel 2016-04-05
256)
2038ad01 src/vnet/devices/af_packet/device.c (Ray Kinsella 2017-05-18
257) error:

Change-Id: I9756c16ea24e7520704155ae1f6c5f132087e3bc
Signed-off-by: Chris Luke <chrisy@flirble.org>

3060e07b 18-May-2017 Yoann Desmouceaux <ydesmouc@cisco.com>

Add TAB-based auto-completion to the CLI

Hitting tab:
- in the middle of a uniquely defined subcommand will expand the subcommand
- in the middle of a non-uniquely defined (or empty) subcommand will display
all possible subcommands, and possibly expand to the lowest common prefix

Change-Id: Ib858eefdb0353cd2c3aad472799d15cd537455a0
Signed-off-by: Yoann Desmouceaux <ydesmouc@cisco.com>

8c4611b3 23-May-2017 Neale Ranns <nranns@cisco.com>

Labelled attached paths via an MPLS tunnel

Change-Id: Ic86617c9c3217122043656ce2ea70bb106df5b2d
Signed-off-by: Neale Ranns <nranns@cisco.com>

5c89c420 17-May-2017 Mohammed Hawari <mhawari@cisco.com>

Added support for Virtio-user interfaces by means of a new VNET_DPDK_PORT_TYPE.

Change-Id: I101e32cee8d9de51227b39ec2639c9fb44da1e6c
Signed-off-by: Mohammed Hawari <mhawari@cisco.com>

8142499c 18-May-2017 Neale Ranns <nranns@cisco.com>

ARP/ND entries for the same address on different interfaces (VPP-848)

there are, intentionally, no validation checks in the ARP/ND code to prevent an ARP/ND entry from being installed for an address that is not local to the interface's sub-net. This is ok, since the adjacency/FIB code is designed to handle this case using the 'refinement' criteria - i.e. only installing a FIB entry for the address if the address 'refines' (i.e. is more specific than) the interface's sub-net.
However, the refinement criteria currently operates on the FIB entry's prefix (which is a /32, so on the address) and not on the next-hop in the path.
So, enter multiple ARP entries for the same address on different links, and this refinement criteria uses only the last added path, and so will remove the FIB entry should the ARP entries be added in the 'wrong' order.
This fix updates the refinement criteria to work on each path of the FIB entry. The entry is installed if one of the paths refines the covers and only paths refining the cover contribute forwarding.
Per-path refinement checks are stored in path-extensions. The patch is rather large as path-extension, which were previously used only for out-going MPLS labels, have been generalized.

Change-Id: I00be359148cb948c32c52109e832a70537a7920a
Signed-off-by: Neale Ranns <nranns@cisco.com>

f3b53643 01-May-2017 Steven <sluong@cisco.com>

vhost: migrate to use device infra for worker thread assignment, rx-mode.
and add adaptive mode support to receive queue

- Migrate vhost to use device infra which does the interface/queue to worker
thread assignment.

- Retire vhost thread CLI and corresponding code which assigns interface/queue
to worker thread. set interface placement should be used instead to customize
the interface/queue to worker thread assignment.

- Retire vhost interrupt/polling option when creating vhost-user interface.
Instead, set interface rx-mode should be used.

- Add code in vnet_device_input_unassign_thread to change the node state
to interrupt if the last polling interface has left the worker thread for the
device of the corresponding interface/queue.

- Add adaptive mode support. The node state is set to interrupt initially.
When the scheduler detects a burst of traffic, it switches the input node to
polling. Then we inform the device that we don't need interrupt notification.
When the traffic subsides, the scheduler switches the input node back to
interrupt. Then we immediately tell the driver that we want interrupt
notification again.

- Remove some duplicate code in vlib/main.c

Change-Id: Id19bb1b9e50e6521c6464f470f5825c26924d3a8
Signed-off-by: Steven <sluong@cisco.com>

10980465 22-May-2017 Damjan Marion <damarion@cisco.com>

dpdk: make dpdk global debug level configurable

Adds startup.conf knob:

dpdk {
log-level debug
}

Change-Id: I80dfbc00559528d7b0970958fba9f08d97aa7118
Signed-off-by: Damjan Marion <damarion@cisco.com>

0eb874e7 18-May-2017 Filip Tehlar <ftehlar@cisco.com>

LISP-GPE: add dump call for VNIs in use

Change-Id: I394af7c1ac9fd0177ff5d298e4008245df54b436
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>

aade2c5a 22-May-2017 Damjan Marion <damarion@cisco.com>

Disable "make test" for CentOS

Due to issues with python on centos we cannot reliably
execute "make test". To be removed after problem is solved.

Change-Id: I92d2b647c72a8ba58cf8a9d4b443357e61ef403f
Signed-off-by: Damjan Marion <damarion@cisco.com>

4b8d3be9 22-May-2017 Neale Ranns <nranns@cisco.com>

Skip L2 FIB flush tests

These tests attempt to flush static entries from a bridge-domain that has no aging configured. for both reasons it will fail.
The fact thtat they occationally pass is due to the fact that the assert_nothing_cpatured does not actually capture packets, so it misses the fact that there are some.

Change-Id: Ie5c98a42944e29a3d482156f7e9246511380372f
Signed-off-by: Neale Ranns <nranns@cisco.com>

e60959a2 19-May-2017 Hongjun Ni <hongjun.ni@intel.com>

Fix GTP-U Coverity issues

Change-Id: I982e0dfb96c371672aa636aa7e40f06a84e2bb69
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>

01384fe3 12-May-2017 Ole Troan <ot@cisco.com>

API: Cleaning up message naming that does not follow the conventions

is_address_reachable - Disabled so deleted
cli_request - Renamed to cli
vnet_summary_stats_reply - Renamed to vnet_get_summary_stats_reply
bridge_domain_sw_if_details - Deleted, incorporated in main message
l2_fib_table_entry - Renamed to l2_fib_table_details

Change-Id: I93b7e8769a3ba7b4989b3c270270f575f386464f
Signed-off-by: Ole Troan <ot@cisco.com>
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
Signed-off-by: Ole Troan <ot@cisco.com>

bb292f4d 19-May-2017 Florin Coras <fcoras@cisco.com>

Improve session debugging

Also improves builtin client code.

Change-Id: I8bca1aa632028f95c373726efb0abf2ee0eff414
Signed-off-by: Florin Coras <fcoras@cisco.com>

95827e43 19-May-2017 Steven <sluong@cisco.com>

vhost: buffers leak and interface disable upon vring descriptor out of mmap

When processing a vring descriptor which is outside of mmap, we disable
the interface and spit a message to shut/no shut the interface. This is
not practical as application using vhost cannot constantly checking the
logs and do the recovery. The proposed fix is to log an error, like
other errors that we encounter.

The other bug is buffer leak in the function rewind. At the end of the
while loop when b_current != b_head, we still have to give back 1 more
buffer or add 1 to rx_buffers_len.

Change-Id: I68c0b24f070e644cd8878f42272a7b518f14393f
Signed-off-by: Steven <sluong@cisco.com>

c442e619 19-May-2017 Igor Mikhailov (imichail) <imichail@cisco.com>

Restore possibility to build vpp in debug mode for rpms

Change-Id: I3935b3f312852e0f032c48726651561fb8616273
Signed-off-by: Igor Mikhailov (imichail) <imichail@cisco.com>

cada2a0a 18-May-2017 Dave Barach <dave@barachs.net>

VPP-849: improve vnet classifier memory allocator performance

Port the linear-scan bucket fix from bihash_template.c.

Change-Id: Id8b2d1fe402401f098270ce6121c2f44f2f24c49
Signed-off-by: Dave Barach <dave@barachs.net>

bc1c8487 17-May-2017 Thomas F Herbert <therbert@redhat.com>

Remove specific versions of some packages.
Add lcov for rhel.
Correct fedora Development tools group and rpm-build.

Change-Id: I0a19e239e6bc4f34f3aacfbb7e08e2abbdc061ed
Signed-off-by: Thomas F Herbert <therbert@redhat.com>

2038ad01 18-May-2017 Ray Kinsella <ray.kinsella@intel.com>

af_packet: set mac address support

Added support to the interfaces mac address.
Resolved an fd leak when the interface is a bridge.

Change-Id: I6608c51b11a50bd0ae4aabe0dc5788c4301b5a1e
Signed-off-by: Ray Kinsella <ray.kinsella@intel.com>

c7409dc9 19-May-2017 Neale Ranns <nranns@cisco.com>

mfib CLI bugs (VPP-852)

Change-Id: I1b71010e20742eee02693d672e24c85897e37759
Signed-off-by: Neale Ranns <nranns@cisco.com>

9793477a 19-May-2017 John Lo <loj@cisco.com>

Enforce Bridge Domain ID range to match 24-bit VNI range

Enforce bridge domain ID range to allow a maximum value of 16M
which matches the range of 24-bit VNI used for virtual overlay
network ID.
Fix "show bridge-domain" output to allow full 16M BD ID range
to be displayed using 8-digit spaces.

Change-Id: I80d9c76ea7c001bcccd3c19df1f3e55d2970f01c
Signed-off-by: John Lo <loj@cisco.com>

fa7f9fdd 18-May-2017 Dave Wallace <dwallacelf@gmail.com>

Add indent to DEB_DEPENDS missing in vagrant box.

Change-Id: Icb9412ed09095443c20ae1fe2b71b646bbe580b0
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>

f264236c 17-May-2017 Dave Wallace <dwallacelf@gmail.com>

Remove nop code from session_manager_add_first_segment().

Change-Id: I071e8d78ed9312ebf8e572bf01ece447ce1a1835
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>

06d11018 17-May-2017 Florin Coras <fcoras@cisco.com>

Improve sack bytes accounting and testing

Change-Id: Iabeda0d0615b0f6fe20dd00611cb4c594d90b7eb
Signed-off-by: Florin Coras <fcoras@cisco.com>

324fe293 17-May-2017 Andrew Yourtchenko <ayourtch@gmail.com>

acl-plugin: reject the too-short variable-length messages from clients (VPP-839)

Prior to commit bfd9227e6da567e0e19e026afe94cd4c0b65f725, there was
no clean way to check the lower-level message length as supplied
by the client, so there was no option but to trust that the client
does the right thing and allocates memory correctly.
The absence of checks makes it hard for a misbehaving client
to spot the problem - because everything "appears" to work
correctly for the specific erroneous message exchange.
This commit ensures the message received is at least
as big as we expect, and complains loudly if it is not.

Change-Id: I806eaac7c7f1ab3c64cb2bfa6939ce27da9a2b44
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>

ba7ddfe9 18-May-2017 Dave Barach <dave@barachs.net>

VPP-847: improve bihash template memory allocator performance

Particularly in the DCLIB_VEC64=1 case, using vectors vs. raw
clib_mem_alloc'ed memory causes abysmal memory allocator performance.

Change-Id: I07a4dec0cd69ca357445385e2671cdf23c59b95d
Signed-off-by: Dave Barach <dave@barachs.net>

287ca3c9 18-May-2017 Jan Gelety <jgelety@cisco.com>

Update CSIT tests 170504 -> 170518

- update of CSIT operational branch to be used for VPP-patch test

Change-Id: I916427584df514088f2d8cbcc3483c397ca4d6f5
Signed-off-by: Jan Gelety <jgelety@cisco.com>

9ec92d38 17-May-2017 Damjan Marion <damarion@cisco.com>

dpdk: disable 16-bit descriptors for X710/XL710

This fixes issue with rx packet drops on VF.

Change-Id: I8c1a35213013f8856b71e7204496f463319cbe28
Signed-off-by: Damjan Marion <damarion@cisco.com>

883a4bd4 11-Apr-2017 shwethab <shwetha.bhandari@gmail.com>

ioam: configuration for SRv6 localsid (VPP-693)

This add debug cli to accept SRv6 localsid that will be
used to attract the return traffic for M-Anycast flows.

Change-Id: I8f8dd115c36498141ae4cb143c6584141950b1d3
Signed-off-by: shwethab <shwetha.bhandari@gmail.com>
(cherry picked from commit 00c14a94c34fac89e6e589c4a7aad20d8dd183dc)

bfd9227e 12-May-2017 Dave Barach <dave@barachs.net>

Add vl_msg_api_get_message_length[_inline]

Change-Id: I6d86cf7966d51ec7a507bbb59c586adbfb45be05
Signed-off-by: Dave Barach <dave@barachs.net>

3291ecae 17-May-2017 Damjan Marion <damarion@cisco.com>

dpdk: Do not check and set rte_mbuf refcnt if dpdk ver >= 17.05

According to DPDK release notes this is done by DPDK.
Also, it fixes assers in debug image.

Change-Id: Ida1d25f8cd0c2232110e44eabd7dc3e512336758
Signed-off-by: Damjan Marion <damarion@cisco.com>

cb9ab47f 17-May-2017 Matthew Smith <mgsmith@netgate.com>

VPP-719: Accept ARP replies from VRRP hw addr

Check whether an ARP src hw addr starts with 00:00:5e:00:01
before rejecting due to a mismatch between ARP src hw addr
and ethernet frame src addr.

Change-Id: Ia3ecd5d6dba34876aca8d90bc622a0a1397e48fb
Signed-off-by: Matthew Smith <mgsmith@netgate.com>

025d4151 17-May-2017 Steven <sluong@cisco.com>

vhost: bad packet assembled from descriptor chaining

When the descriptor is chained via multiple parts, vhost is supposed
to reassemble the different parts to form a packet prior to passing
the packet to the next input node. However, bad packet was seen, having
bad ethertype, source, and destination mac addresses.

The problem was due to the destination pointer not being incremented as
each chain is processed. THe result was the first chain is copied to the
beginning of the buffer, the next chain is copied, then the last chain
is also copied to the beginning of the buffer. As a result, the ethertype,
source and destination mac, etc, are being overwritten by the very last
chain of the descriptor.

Change-Id: I78f9a91de68c85574047912576dcc311d7597e21
Signed-off-by: Steven <sluong@cisco.com>

01034be6 16-May-2017 Matthew Smith <mgsmith@netgate.com>

Use counters on ipsec tunnel interfaces

Increment byte & packet counters when packets are sent or received on an
IPsec tunnel interface. Set counters to zero when the interface is deleted.

Change-Id: Ie9584aa82778875dd4d0c931005f7720b4d5c76d
Signed-off-by: Matthew Smith <mgsmith@netgate.com>

0218ff9f 17-May-2017 Hongjun Ni <hongjun.ni@intel.com>

Add ethernet type to support NSH over ethernet

Change-Id: I876599d6183fab989949e8ccad5c0a3ef81991be
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>

acd2a6a3 16-May-2017 Dave Barach <dbarach@cisco.com>

VPP-846: tcp perf / scale / hardening

Fix builtin server event queue handling

Change-Id: I21b49c37188746cadb2fd9423291c5dc1335798c
Signed-off-by: Dave Barach <dbarach@cisco.com>

d5b6aa13 16-May-2017 Neale Ranns <nranns@cisco.com>

ARP learning fixes (VPP-843)

learn ARP peers if, 1) it's a reply to a local address, 2) we are sending a response to a request.
send proxy ARP responses only in the interface the request was sent.

Change-Id: I22b949c65122824233076492b7dd537daca07bc2
Signed-off-by: Neale Ranns <nranns@cisco.com>

259cdaec 15-May-2017 Dave Barach <dbarach@cisco.com>

Fixes to tcp active opens and reception

- Properly initialize connection index
- Add new session to main hash table
- Drop packets that are completely in the past with respect to the rcv
wnd (e.g., retransmits due to premature timer pops)

Change-Id: Ic0873018ff0a4c59e0913863dc7f0c0f822d5c34
Signed-off-by: Dave Barach <dbarach@cisco.com>
Signed-off-by: Florin Coras <fcoras@cisco.com>

f73dae3c 10-May-2017 Marco Varlese <marco.varlese@suse.com>

Unneeded linking

Removed the linking which does not appear to be necessary when using in repo
dpdk and which causes a build failure when using the shared-dpdk mode.

Change-Id: I6bad2bd11d6db40fbd2def78f98c6beba66ff416
Signed-off-by: Marco Varlese <marco.varlese@suse.com>

93b503e1 15-May-2017 Eyal Bari <ebari@cisco.com>

L2FIB: add flush test

add tests for flush int/bd/all

Change-Id: Ia589ec5925b9c8acbb2fc16dafbf4842aa1a6eff
Signed-off-by: Eyal Bari <ebari@cisco.com>

81481310 16-May-2017 Dave Barach <dave@barachs.net>

VPP-845: add configurable elog post-mortem dump

Off by default. Enable via cmdline "... vlib { elog-post-mortem-dump }
..."

Change-Id: I2056b9de9b37475f2bfeeb5404da838f1b42645a
Signed-off-by: Dave Barach <dave@barachs.net>

92a838b1 15-May-2017 flyingeagle23 <wang.hui56@zte.com.cn>

ping command does not work when there is woker thread (VPP-844)

Change-Id: Ic896b237a7d141243e1b7d6d4fbb2a120f44363e
Signed-off-by: flyingeagle23 <wang.hui56@zte.com.cn>

0a69734d 15-May-2017 John Lo <loj@cisco.com>

Fix regression of setting device to admin-down state

Change-Id: I0ffa572839405efe1170d6ddb073e53e9af02db7
Signed-off-by: John Lo <loj@cisco.com>

305bcd76 20-Apr-2017 Ole Troan <ot@cisco.com>

1704: Release notes. Cherry pick from 6288.

Change-Id: Ia6146106a708d5ab247225dfe49eb6ef686ae3d3
Signed-off-by: Ole Troan <ot@cisco.com>

7f5cc7c3 12-May-2017 Igor Mikhailov (imichail) <imichail@cisco.com>

Place the vpp_papi*.egg file together with other build products.

This way it will be deleted when clean/wipe is performed.

Change-Id: Ic3fcfe8b80ac8b80a5a25ec04c35c36a638ca570
Signed-off-by: Igor Mikhailov (imichail) <imichail@cisco.com>

e04d09de 15-May-2017 Matthew Smith <mgsmith@netgate.com>

Add sw_if_index of tunnel interface to API reply for ipsec_tunnel_if_add_del

Change-Id: If5158f6fa7344dee94548c93dace779430e0647f
Signed-off-by: Matthew Smith <mgsmith@netgate.com>

5c85f358 10-May-2017 Andrew Yourtchenko <ayourtch@gmail.com>

acl-plugin: unapply the ACLs if interface is being deleted

(HC2VPP-137 is the client behavior triggering this)

If the user does not unapply the ACLs off the interface,
but deletes the interface, the subsequent reuse of the
sw_if_index might find itself with the datapath
hooked up for ACL processing even though there is
no ACL configured. The fix is to unapply any ACLs
in the callback which is called upon the sw_if_index
addition/deletion.

Change-Id: Icea413d7fbf1ef891844a4818626e1b34fe79cbf
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
(cherry picked from commit 4c72e629e5ace392390a9d6109594254525064f7)

90b24153 15-May-2017 Damjan Marion <damarion@cisco.com>

dpdk: Enable hardware CRC strip for Intel VFs

Change-Id: I60a7795761fe74ae5d57dacd03c343ddb77434d4
Signed-off-by: Damjan Marion <damarion@cisco.com>

ef486b15 12-Apr-2017 Hongjun Ni <hongjun.ni@intel.com>

Add GTP-U plugin. VPP-694

Basic GTP-U feature

Change-Id: I31226f890a92c5303ac06e112ed7820cae52d9bd
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>

e50ed1de 15-May-2017 Steven <sluong@cisco.com>

memif: migrate memif to use vnet device infra APIs

Migrate memif to use vnet device infra APIs. No new function is added.

Change-Id: I70e440d2ae1e673876365041f31fe78997aceecf
Signed-off-by: Steven <sluong@cisco.com>

12059c9b 11-May-2017 Damjan Marion <damarion@cisco.com>

dpdk: improve error handling during device initialization

Change-Id: Ib390164abb07ca0d38fd49e7e2e6b4e9ea856405
Signed-off-by: Damjan Marion <damarion@cisco.com>

7bfa119e 15-May-2017 Ray Kinsella <ray.kinsella@intel.com>

af_packet: support changing the mtu size

Added support to the af_packet device to change the MTU size.

Change-Id: I9c9e1e17323721f3efccf70a10b753e12eef94d5
Signed-off-by: Ray Kinsella <ray.kinsella@intel.com>

ed76d5f2 12-May-2017 Marek Gradzki <mgradzki@cisco.com>

jvpp: fix memory allocation for variable lenght messages (VPP-841)

Change-Id: I9a46125e3cf9815c08cf8cca17713ec6e9121eae
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
(cherry picked from commit 307cfd8eb14ff7df04316ffa56f2c2481d650d7e)

0194f1ae 15-May-2017 Dave Barach <dbarach@cisco.com>

Fix builtin tcp client

Change-Id: I83a1b02a73fd159f14cca04fed3993f571475a00
Signed-off-by: Dave Barach <dbarach@cisco.com>

2fb40f80 12-May-2017 Jon Loeliger <jdl@netgate.com>

Add a missing byte-swap call in ACL intf dump.

Change-Id: I87495d95dc6c5a36ff6d2ae05203e22e43403bf6
Signed-off-by: Jon Loeliger <jdl@netgate.com>

f195a569 05-Apr-2017 Christophe Fontaine <christophe.fontaine@enea.com>

[plugins/dpdk] Support for CLIB_HAVE_64 (aarch64)

For platforms which do not support u8x32, such as aarch64,
add an alternative implementation of 'dpdk_buffer_init_from_template'.

Change-Id: Ia7e8d0a5985fa5925e063ed6e890208c73e39933
Signed-off-by: Christophe Fontaine <christophe.fontaine@enea.com>

259fca78 14-May-2017 Eyal Bari <ebari@cisco.com>

L2BD/API:fix bd dump to ignore unknown bd_id

Change-Id: I417dfeba902ca8c3a080773942d4d2ce4335a9c1
Signed-off-by: Eyal Bari <ebari@cisco.com>

8aa18796 14-May-2017 Neale Ranns <nranns@cisco.com>

move to CSIT 170504

Change-Id: I8b636ff57b6e6c3f4cfd2d77d930524559046dd9
Signed-off-by: Neale Ranns <nranns@cisco.com>

ee551988 17-Feb-2017 Aloys Augustin <aloys.augustin@polytechnique.org>

Fix vnet_interface_counters API definition

The api specification had u8 as data type, which caused the python
binding to fail.
Fixes VPP-642

Change-Id: I9ba97959740d44c8f4a12db9356d0d1bcd709a73
Signed-off-by: Aloys Augustin <aloys.augustin@polytechnique.org>
Signed-off-by: Ole Troan <ot@cisco.com>

08b16481 13-May-2017 Neale Ranns <nranns@cisco.com>

Fix FIB recursion loops via cover (VPP-842)

Change-Id: Ia91c3e8cb27b9e4c1cccefc0a4857dd9995450ab
Signed-off-by: Neale Ranns <nranns@cisco.com>

572825df 14-May-2017 Damjan Marion <damarion@cisco.com>

dpdk: revert dpdk 17.05 change which causes virtio issues

This patch is causing DPDK to provide bad MAC address
for legacy virtio interfaces.

Change-Id: I526cd35a38164ede80a8ab6decb9e0d1ebfad723
Signed-off-by: Damjan Marion <damarion@cisco.com>

b5c13fdf 10-May-2017 Florin Coras <fcoras@cisco.com>

Validate ip6 interface fib tables early on

This should avoid random crashes due to reception of packets (multicast
in particular) before ip6 addresses are configured on the interfaces.

Change-Id: Ibcf1a5a2ae2fa75f8b57da1b2f09f32c081210d7
Signed-off-by: Florin Coras <fcoras@cisco.com>

6a5be214 11-May-2017 Damjan Marion <damarion@cisco.com>

dpdk: bump to dpdk 17.05

Change-Id: I19744387859129c6b8dc104041af158bf5f1d988
Signed-off-by: Damjan Marion <damarion@cisco.com>

11c0549f 10-May-2017 Florin Coras <fcoras@cisco.com>

Handle RST of TCP connections in SYN-RCVD state, VPP-822

Change-Id: Ieb0c1e690d6ae082cfedb276252a31fab480e561
Signed-off-by: Florin Coras <fcoras@cisco.com>

cd6cb986 11-May-2017 Klement Sekera <ksekera@cisco.com>

make test: support coverage for out-of-tree plugins

Change-Id: Ibd7828b1e1c699630ff450122d8aa317b1c9da26
Signed-off-by: Klement Sekera <ksekera@cisco.com>

460ba3d8 03-May-2017 Bernhard M. Wiedemann <bwiedemann@suse.de>

Allow to override the build date

using the SOURCE_DATE_EPOCH env var
to make vpp package builds reproducible.

See https://reproducible-builds.org/ for why this is good
and https://reproducible-builds.org/specs/source-date-epoch/
for the definition of this variable.

Change-Id: Iae0935c9bb4ccdfdb65600be543945a88f2e137f
Signed-off-by: Bernhard M. Wiedemann <bwiedemann@suse.de>

abce509a 10-May-2017 Damjan Marion <damarion@cisco.com>

vnet: introduce error state for sw interfaces

Interfaces with error state are not allowed to go admin up

Change-Id: I09fc09a5b28130aead219dccbc2e0f30ea7414cf
Signed-off-by: Damjan Marion <damarion@cisco.com>

f55f9b85 10-May-2017 Damjan Marion <damarion@cisco.com>

completelly deprecate os_get_cpu_number, replace new occurences

Change-Id: I82c663bc0866c6c68ba354104b0bb059387f4b9d
Signed-off-by: Damjan Marion <damarion@cisco.com>

e5f1d276 10-May-2017 Dave Barach <dbarach@cisco.com>

Multi-thread enablement for the debug cli http server

Change-Id: Iec1f739fe24c722d0db6c10cc81b5e8333067ea1
Signed-off-by: Dave Barach <dbarach@cisco.com>

3335693c 10-May-2017 Chris Luke <chrisy@flirble.org>

doxygen: Fix some paths

- Add missing src dir.
- Exclude 'src/examples' from siphon processing so that example cli commands
don't end up in user documentation.

Change-Id: I46a6ad759fa8220d305b007a9506956365fc79bd
Signed-off-by: Chris Luke <chrisy@flirble.org>

c83c8ed1 10-May-2017 Eyal Bari <ebari@cisco.com>

L2BD/TEST:fix l2bd multiinstance test

Change-Id: If864182ec656cc6c6353be642e22910a4fc89870
Signed-off-by: Eyal Bari <ebari@cisco.com>

0f68c79a 26-Apr-2017 Damjan Marion <damarion@cisco.com>

Add crc32c inline function, allows compilation on 32-bit systems

32-bit code still can use crc32c instructions, but it operates
on 32 registers

Change-Id: I9bb6b0b59635d6ea6a753584676ebcf59c8f6584
Signed-off-by: Damjan Marion <damarion@cisco.com>

4fb27eed 09-May-2017 Damjan Marion <damarion@cisco.com>

dpdk: refactor interface speed detection

- Adds VirtualFucntionEthernet for VFs
- Enables MLX4 driver

Change-Id: I163300e68edbe033227f641bdfcfe5918cbe58cf
Signed-off-by: Damjan Marion <damarion@cisco.com>

df82ec8f 03-May-2017 Marco Varlese <marco.varlese@suse.com>

Make reproducible build possible

For downstream consumption is important to have a way to specify the date or
the user or the hostname to particular values so to have reproducible builds
and/or packages.

Change-Id: I134288662b6cfbbe26bba7d8bc6be8511b34360c
Signed-off-by: Marco Varlese <marco.varlese@suse.com>

e3a395c8 09-May-2017 Steven <sluong@cisco.com>

device: Add callback for set interface rx-mode

- When the interface rx-mode is changed via CLI, the corresponding device
may want to know about it and to reset the driver. This patch is to add
the callback.

- In the function vnet_hw_interface_set_rx_mode, it appears it is missing
a line
hw->rx_mode_by_queue[queue_id] = mode

because the function is checking if the new mode is the same as
hw->rx_mode_by_queue which is initialized to POLLING. So if the function is
called to change the mode to interrupt, it just returns without doing
anything. This is the check that I am talking about in the same function.

if (hw->rx_mode_by_queue[queue_id] == mode)
return 0;

Change-Id: Iaca2651c43e0ae3fda6fd8dc128e247b0851cc65
Signed-off-by: Steven <sluong@cisco.com>

cfe0fc95 10-May-2017 Matus Fabian <matfabia@cisco.com>

SNAT: move API code to separate file

Move API source code from snat.c to snat_api.c

Change-Id: I1c4439eb5d2e3f43695ecc4d300eccd148105c15
Signed-off-by: Matus Fabian <matfabia@cisco.com>

bde55230 09-May-2017 Damjan Marion <damarion@cisco.com>

vppinfra: optimize and simplify splat inline functions

Example for u32x4 case:
Old code generates 2 instructions:

vmovd %edi,%xmm0
vpunpckldq %xmm0,%xmm0,%xmm0
vpunpcklqdq %xmm0,%xmm0,%xmm0

New code uses only one instruction:
mov %edi,-0x4(%rsp)
vbroadcastss -0x4(%rsp),%xmm0

Change-Id: I989dc3025f5fe3f6c880972389ded11f31e2f3f6
Signed-off-by: Damjan Marion <damarion@cisco.com>

db84e579 10-May-2017 Florin Coras <fcoras@cisco.com>

Improve TCP option handling, VPP-757

Change-Id: Ica634536387d1196366ec96c52770287fcab0768
Signed-off-by: Florin Coras <fcoras@cisco.com>

1015a1ef 08-May-2017 Dave Barach <dave@barachs.net>

Builtin debug cli http server

Visit http://<vpp-ip>/show/interface or similar.

Change-Id: I076b4661cf19d1b94bb01efdadb5849446be915e
Signed-off-by: Dave Barach <dave@barachs.net>

dc629cd9 09-May-2017 Florin Coras <fcoras@cisco.com>

Ignore data in RST segments, VPP-723

Change-Id: I01650b3b10b79ec549be0d5eceb0e318c06fcb50
Signed-off-by: Florin Coras <fcoras@cisco.com>

4aa586fb 08-May-2017 Igor Mikhailov (imichail) <imichail@cisco.com>

Produce vpp_papi*.egg for virtual environments

Produce vpp_papi*.egg so that virtual environments (e.g. virtualenv)
could install vpp_papi inside them.

Change-Id: I9664d119a64f4968de44a7a430aec4879ed02b16
Signed-off-by: Igor Mikhailov (imichail) <imichail@cisco.com>

ee29dd28 10-May-2017 Igor Mikhailov (imichail) <imichail@cisco.com>

Generate test paths for lib and lib64 subdirectories

wildcard produces empty paths when 'make test' is run
from a clean tree: install-<tag>-native directories
don't exist yet.

Change-Id: I3b3bbd86cf7eda18f2c698f85b834f82b1a19065
Signed-off-by: Igor Mikhailov (imichail) <imichail@cisco.com>

e6c5941b 28-Apr-2017 Damjan Marion <damarion@cisco.com>

dpdk: refactor setup, start, stop code

Change-Id: I0fec86914ec027383ff511b7092beac2363f55f7
Signed-off-by: Damjan Marion <damarion@cisco.com>

7bee80c8 26-Apr-2017 Damjan Marion <damarion@cisco.com>

Fix remaining 32-bit compile issues

Change-Id: I9664214652229b663c3e3ba7406b4ede96bfb123
Signed-off-by: Damjan Marion <damarion@cisco.com>

b0972cbb 02-May-2017 Matthew Smith <mgsmith@netgate.com>

API support for IPsec tunnel interface creation

Change-Id: I8c9f886cb95e92adbe1c646844789ca0a6bb6140
Signed-off-by: Matthew Smith <mgsmith@netgate.com>

229a6b7a 08-May-2017 Jon Loeliger <jdl@netgate.com>

Add missing format_ip6_address() functions to plugin_api.

Specifically, the ACL plugin needed format_ip6_address()
and the ip46 variant as well.

Change-Id: Iec35b8acd4cab4bcbc73053dcca2ee91bd9c72cd
Signed-off-by: Jon Loeliger <jdl@netgate.com>

f6d68ed2 08-May-2017 Florin Coras <fcoras@cisco.com>

Add support for tcp/session buffer chains

Change-Id: I01c6e3dc3a1b2785df37bb66b19c4b5cbb8f3211
Signed-off-by: Florin Coras <fcoras@cisco.com>

1ea82dfe 08-May-2017 Damjan Marion <damarion@cisco.com>

dpdk: use speed_capa to detect i40e device speed

Change-Id: I1decca6fb5ce6de74ccbcd5a262ebd3db6f55cdc
Signed-off-by: Damjan Marion <damarion@cisco.com>

3c785e09 08-May-2017 Damjan Marion <damarion@cisco.com>

vlib: do not unbind devices already bound to vfio-pci

Change-Id: I739bed5b9d9504d18ee88206e29ebc4ba1b47d28
Signed-off-by: Damjan Marion <damarion@cisco.com>

7537e717 27-Apr-2017 Eyal Bari <ebari@cisco.com>

L2FIB:CLI/API to flush all non-static entries

added CLI l2fib flush-mac all
added API l2fib_flush_all
flushes all non static l2fib entries on all valid BDs

Change-Id: Ic963c88f4bed56308c03ab43106033132a0e87be
Signed-off-by: Eyal Bari <ebari@cisco.com>

57d7dbc8 02-May-2017 Andrew Yourtchenko <ayourtch@gmail.com>

Avoid active connection prevent timeout of idle conns after it

Fix a logic error related to timing out of the connections
following the active one. To avoid this class of issue in
the future, create corresponding testcases, as well as some
trivial sanity testcases for both IPv4 and IPv6.

Since these tests are timing-dependent and take up time,
mark them as extended tests.

Change-Id: I2c72bad5efda7db8aa9cb05801fe47928dc47927
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>

9e79be2b 05-May-2017 Florin Coras <fcoras@cisco.com>

Remove L2 GPE interface from bridge when deleting, VPP-833

Change-Id: I32725006e9235a02cada5b0ad8974bfc4274339f
Signed-off-by: Florin Coras <fcoras@cisco.com>

c8343412 04-May-2017 Florin Coras <fcoras@cisco.com>

Include TCP options in segment size computation

Ensure that TCP data plus options does not exceed peer's advertised MSS.

Change-Id: I0de824cb3619346f0394dd694942fc1cf33a82b7
Signed-off-by: Florin Coras <fcoras@cisco.com>

3af90fce 04-May-2017 Florin Coras <fcoras@cisco.com>

Fix TCP loss recovery, VPP-745

Allows pure loss recovery retransmits only on timeout.

Change-Id: I563cdbf9e7b890a6569350bdbda4f746ace0544e
Signed-off-by: Florin Coras <fcoras@cisco.com>

1989bce0 04-May-2017 Igor Mikhailov (imichail) <imichail@cisco.com>

lcov is an EPEL rpm (at least for Centos)

Change-Id: I064a78df6a2cf734bb7c54f80682690c203a0a98
Signed-off-by: Igor Mikhailov (imichail) <imichail@cisco.com>

9e3e361e 26-Apr-2017 Hongjun Ni <hongjun.ni@intel.com>

Fix mac check issue for vitual tunnel interface with no mac address

Change-Id: I6ce21317fcaa25781199f4329be815f076ab8b09
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>

d48c8eb7 05-May-2017 John Lo <loj@cisco.com>

Fix L2FIB learn counter and memory cleanup of mac_by_ip6 hash table

Fix global_learn_count to be incremented or decremented by add and
deletion of non-static MAC entries from L2FIB only. Without this fix,
the counter may reach the threshold of 1M and stop MAC leanring even
though number of MAC entries in L2FIB is less than the threshold.

Cleanup indirect hash key memory used by mac_by_ip6 hash table on
BD deletion.

Change-Id: I13986c4e6304c7956122520dd3f83d6bb6e65a15
Signed-off-by: John Lo <loj@cisco.com>

b1291e25 05-May-2017 Matus Fabian <matfabia@cisco.com>

ip6_to_ip4.h coverity fix

Change-Id: Ia11fa42d1f2b21a6195e7dc890f958830f83d3a7
Signed-off-by: Matus Fabian <matfabia@cisco.com>

406eb1df 04-May-2017 Martin Gálik <magalik@cisco.com>

SNAT: Additional tests for SNAT interfaces without a configured ip address

Change-Id: I7edea5d7b105ba66e0e04d509968b92cfb64c84a
Signed-off-by: Martin Gálik <magalik@cisco.com>

5d73eecd 24-Apr-2017 Pablo Camarillo <pcamaril@cisco.com>

First commit SR MPLS

Change-Id: I961685a2a0e4c314049444c64eb6ccf877c278dd
Signed-off-by: Pablo Camarillo <pcamaril@cisco.com>

a774b536 02-May-2017 Matus Fabian <matfabia@cisco.com>

NAT64: Move IPv6-IPv4 virtual reassembly code from MAP-T to common library (VPP-708)

Change-Id: I9ad636f80bf109ffac9ca1b6d80d5f2c31f2076a
Signed-off-by: Matus Fabian <matfabia@cisco.com>

da7567c0 04-May-2017 Clement Durand <clement.durand@polytechnique.edu>

Fixes and improvements in session hashtable keys

Fix in v6 keys :
* The copy of the keys was only partial

A few suggestions are applied in this commit :
* Since there are not so many unused fields, we avoid to memset 0 and prefer
setting the unused fields to 0.
* By using a cast, it seems painless to avoid allocating a structure for the
keys creation.

Change-Id: Iaee6f036f2a979cceaeb297d98ce6c307a5ac029
Signed-off-by: Clement Durand <clement.durand@polytechnique.edu>

68c74fc7 04-May-2017 Filip Tehlar <ftehlar@cisco.com>

Fix coverity issue

Change-Id: I8110b2a1d7bf8a818c7e9b6f95c3f60324e8ccab
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>

cf121c83 03-May-2017 Filip Tehlar <ftehlar@cisco.com>

LISP: group mapping records in map-register message

Change-Id: I546c761acfbf880717163a035aa691b04337b7bf
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>

34208967 02-May-2017 Igor Mikhailov (imichail) <imichail@cisco.com>

Fix RPM_DEPENDS for all rpm distros after 28ea251

Change-Id: I58ffdf75f361ff830c2b0c6400ccd012a4d16d3d
Signed-off-by: Igor Mikhailov (imichail) <imichail@cisco.com>

816f437d 26-Apr-2017 Filip Tehlar <ftehlar@cisco.com>

Fix vnet unit tests

Change-Id: Ibe55e4399c6b78d83268d7c49ed498cab7bfdb43
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>

afc47aa3 20-Apr-2017 Eyal Bari <ebari@cisco.com>

L2FIB:flush interface learned macs on down

Change-Id: I80a723f55fcf2ecc3209a35e8297c88b45b1abfb
Signed-off-by: Eyal Bari <ebari@cisco.com>

e72be39c 26-Apr-2017 Neale Ranns <nranns@cisco.com>

A sprinkling of const in vlibmemory/api.h and friends

Change-Id: I953ebb37eeec7de0c4a6b00258c3c67a83cbc020
Signed-off-by: Neale Ranns <nranns@cisco.com>

9e355523 03-May-2017 flyingeagle23 <wang.hui56@zte.com.cn>

change ip4_drop_node node register coding format

Change-Id: Id4fdf2abf3bae3b14cdc6489ca16d2007da78d07
Signed-off-by: flyingeagle23 <wang.hui56@zte.com.cn>

1c7d4858 02-May-2017 Jon Loeliger <jdl@netgate.com>

Prevent Bridge Domain operations on BD 0.

The default bridge domain, 0, is created automatically
with static features. It should be modified by neither
the CLI nor the API. So add tests for, and reject any
operation on BD 0. The new API error message BD_NOT_MODIFIABLE
is returned in such cases.

Change-Id: Iaf3dd80c4f43cf41689ca55756a0a3525420cd12
Signed-off-by: Jon Loeliger <jdl@netgate.com>

41da54f5 02-May-2017 Neale Ranns <nranns@cisco.com>

Use per-protocol default flow-hash config when the FIB table index is not known

Change-Id: If088e75801831befc6bddb77ea20abe9288b93c4
Signed-off-by: Neale Ranns <nranns@cisco.com>

4269098e 02-May-2017 Florin Coras <fcoras@cisco.com>

Fix TCP tx when snd_wnd < smss

Fixes VPP-728, VPP-729, VPP-730

Change-Id: Ie8c6c0dd006f98527525e87d19b508bb8d39db69
Signed-off-by: Florin Coras <fcoras@cisco.com>

f3bcdbf0 02-May-2017 Klement Sekera <ksekera@cisco.com>

BFD: don't crash if interface is deleted

Instead, drop the BFD session associated with it..

Change-Id: Ie09877d5c94844be2e833900d9dde7f23edaf8cd
Signed-off-by: Klement Sekera <ksekera@cisco.com>

5d85f2de 02-May-2017 Neale Ranns <nranns@cisco.com>

Allow local/for-us replications for IP multicast routes on the CLI

Change-Id: I046d9402b79fdbc6a6663199ffff8e40a278fd51
Signed-off-by: Neale Ranns <nranns@cisco.com>

4403690c 27-Apr-2017 Damjan Marion <damarion@cisco.com>

Add interface rx mode commands, unify rx mode and placement CLI

Change-Id: Ib506c3e9d66170f29e3266ad6dc4d32b829befba
Signed-off-by: Damjan Marion <damarion@cisco.com>

c12311b8 28-Apr-2017 Damjan Marion <damarion@cisco.com>

dpdk: remove unused code

Change-Id: I16dcc0de2553c6c1eb87dd1ec4c8d3c649e6f285
Signed-off-by: Damjan Marion <damarion@cisco.com>

c28764fd 26-Apr-2017 Florin Coras <fcoras@cisco.com>

TCP ooo reception fixes

- Improve svm fifo handling of out-of-order segments
- Ensure tsval_recent is updated only if rcv_las falls withing the
segments's sequence space
- Avoid directly dropping old ACKs
- Improve debugging

Change-Id: I88dbe2394a0ad7eb389a4cc12d013a13733953aa
Signed-off-by: Florin Coras <fcoras@cisco.com>

63c7e14f 22-Mar-2017 Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>

dpdk: cryptodev support enabled by default

This patch slightly modifes how to enable DPDK Cryptodev.

The startup option 'enable-cryptodev' has been removed and unless not enough
cryptodevs are found, DPDK cryptodev will be enabled by default.

Change-Id: Ic0ac507802cdc0eeb51f065e04ec43a1885617cf
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>

69186d93 28-Apr-2017 Jon Loeliger <jdl@netgate.com>

Fix hostname fencepost error in dhcp_compl_event_callback.

Hostnames are limited to 63 characters and a NUL terminator.

Change-Id: Ie1724d83675cca5e8cdfcd99d8e56e530a044d5d
Signed-off-by: Jon Loeliger <jdl@netgate.com>

c855b73f 20-Apr-2017 Ray Kinsella <ray.kinsella@intel.com>

af_packet: reflect admin device state on host

Setting the interface state in VPP on an af_packet device, was not being
reflected on the host. This implied the user had to set the device state
in VPP and then on the host, in order to put the interface into an 'up'
state. This changes makes the device state consisent in VPP and the host.

Change-Id: I6dc6aee79503e04576683db937b861337a2b375b
Signed-off-by: Ray Kinsella <ray.kinsella@intel.com>

d77630ad 28-Apr-2017 John Lo <loj@cisco.com>

Fix memory leak on deletion of BD (bridge domain)

On BD deletion, free memory used by members vector and mac_by_ip4
and mac_by_ip6 hash tables.

Change-Id: Ied467e79bb6636fd8788bdeddee660c66391bb7e
Signed-off-by: John Lo <loj@cisco.com>

5445f5fd 25-Apr-2017 Steven <sluong@cisco.com>

vhost: Disallow duplicate path name for vhost interface

When creating or modifying a vhost interface, verify if the path name
already existed and reject the command.

Change-Id: I8b2d33b77c847f774492874f7d194fa72c488479
Signed-off-by: Steven <sluong@cisco.com>

c9037936 27-Apr-2017 Damjan Marion <damarion@cisco.com>

dpdk: cleanup, move APIs to separate .c file

Change-Id: Id632ff1b30be808d9f270e2f77260391569fbda2
Signed-off-by: Damjan Marion <damarion@cisco.com>

facee280 27-Apr-2017 Filip Tehlar <ftehlar@cisco.com>

LISP: fix deleting of locators, VPP-713

Change-Id: I4a2d24b7124dc9afaf81f29e06e43235a103a320
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>

1e19ee44 26-Apr-2017 Matthew Smith <mgsmith@netgate.com>

VPP-716: IKEv2 responder fails to authenticate initiator

Fix handling of IDi and IDr when processing payloads in ikev2_process_auth_req

Change-Id: If0d4441dc89f08f3753f38987406c002d43558ec
Signed-off-by: Matthew Smith <mgsmith@netgate.com>

f7e655d6 27-Apr-2017 Martin Gálik <magalik@cisco.com>

CGN: Send ICMP error packet if user is out of sessions available

Change-Id: I19a6015fde7342588cfa9c7a4f07016aa339cc72
Signed-off-by: Martin Gálik <magalik@cisco.com>

3ef16710 27-Apr-2017 Ray Kinsella <ray.kinsella@intel.com>

vnet: update help message for intfc state

Add useful help information on set interface state.

Change-Id: Ibcdcea2849ccaee4cc72bf38d79102beb0d4be11
Signed-off-by: Ray Kinsella <ray.kinsella@intel.com>

851a37a7 27-Apr-2017 Shwetha Bhandari <shwethab@cisco.com>

ioam: adding missing setup api msg crc table

Change-Id: Ic95fe6179de1151796188813cc595187d4c842a0
Signed-off-by: Shwetha Bhandari <shwethab@cisco.com>

31d43481 26-Apr-2017 Damjan Marion <damarion@cisco.com>

japi: fix compilation on 32-bit systems

Change-Id: Ia7cb986544a13cc17b43b2f0948482deb02e8fb5
Signed-off-by: Damjan Marion <damarion@cisco.com>

a07779f7 26-Apr-2017 flyingeagle23 <wang.hui56@zte.com.cn>

[VPP-711] uri_tcp_test when master bind fail we met a display issue about retval

Change-Id: I320c9079576af5494c8336880a173e1f0ff096ad
Signed-off-by: flyingeagle23 <wang.hui56@zte.com.cn>

e8146b02 26-Apr-2017 flyingeagle23 <wang.hui56@zte.com.cn>

[VPP-710] tcp TCP_TIMER_ESTABLISH timeout_handler occur segment fault

Change-Id: Ie43b8f1c91600d44dff67e9348fb2fe83efc60c2
Signed-off-by: flyingeagle23 <wang.hui56@zte.com.cn>

bed5489a 20-Apr-2017 Pierre Pfister <ppfister@cisco.com>

vhost: Fix mmap size calculation

I had a bug where a requested size of 1G was resulting in
an aligned size of '1G + 2M', resulting in an OOM error.

Previous code was adding one huge page size
when memory is already aligned.

Change-Id: Idd3aa0e9b893fb3efccba6ae1c7161e26d3f9456
Signed-off-by: Pierre Pfister <ppfister@cisco.com>

5ef1fef6 26-Apr-2017 Damjan Marion <damarion@cisco.com>

Move scripts to extras/

Change-Id: I2abd6367915d4652fcf45025bd251046f3f206ab
Signed-off-by: Damjan Marion <damarion@cisco.com>

41748864 25-Apr-2017 Steven <sluong@cisco.com>

vhost: core dump on quit with worker threads

Patch 6347 removed the socket file when the interface is deleted and
when VPP process is exitting. The CLI for deleting the interface has
builtin vlib_worker_thread_barrier_sync to prevent the worker
threads from running. Unfortunately, the CLI quit does not have the
builtin vlib_worker_thread_barrier_sync. As a result, it may cause the
worker thread to crash.

The fix is to add the vlib_worker_thread_barrier_sync in vhost_user_exit.

Change-Id: I1eff81170e131098f1799662f0ab48d6fca3def7
Signed-off-by: Steven <sluong@cisco.com>

227038a4 21-Apr-2017 Neale Ranns <nranns@cisco.com>

IP Flow Hash Config fixes

- the flow hash config is (and was) cached on the load-balance object so the fib_table_t struct is not used a switch time. Therefore changes to the table's flow hash config need to be propagated to all load-balances and hance all FIB entries in the table.
- enable API for setting the IPv6 table flow hash config
- use only the hash config in the fib_table_t object and not on the ipX_fib_t
- add tests.

Change-Id: Ib804c11162c6d4972c764957562c372f663e05d4
Signed-off-by: Neale Ranns <nranns@cisco.com>

9806eae1 25-Apr-2017 Martin Gálik <magalik@cisco.com>

CGN: Session dump, test naming for ports fixed

Change-Id: Ib542b2b3ee023fbe3d0e01ceaf4b4ab7a0ec80dc
Signed-off-by: Martin Gálik <magalik@cisco.com>

6bc8c649 19-Apr-2017 Martin Gálik <magalik@cisco.com>

CGNAT: close session API and CLI commands.

Change-Id: I9c8636bd2c4b8da2907e8e4a4f2be1a2c3a8e0bb
Signed-off-by: Martin Gálik <magalik@cisco.com>

c9fc77c5 25-Apr-2017 Damjan Marion <damarion@cisco.com>

Exit if plugin load attempt fail

This happens mainly if plugin contains unresolved symbol.
Such situation typically leads on crash a bit later so it is better
to exit immediatelly and display meaningful error message.

Change-Id: I4abd9a9089a4863400bf609e8d3fd7cebab92913
Signed-off-by: Damjan Marion <damarion@cisco.com>

82b13a89 25-Apr-2017 Florin Coras <fcoras@cisco.com>

Session/tcp coverity fixes

Change-Id: Ic5467df16e870b49c49678b1dbb40f4a2390b3c9
Signed-off-by: Florin Coras <fcoras@cisco.com>

11b8dbf7 24-Apr-2017 Dave Barach <dave@barachs.net>

"autoreply" flag: autogenerate standard xxx_reply_t messages

Change-Id: I72298aaae7d172082ece3a8edea4217c11b28d79
Signed-off-by: Dave Barach <dave@barachs.net>

45d3496f 25-Apr-2017 Florin Coras <fcoras@cisco.com>

Add sack tx unit test

Change-Id: Ib91db6e531231bdc52b0104673a912bee024872f
Signed-off-by: Florin Coras <fcoras@cisco.com>

68d2e24f 20-Apr-2017 Filip Tehlar <ftehlar@cisco.com>

LISP: clean DP when deleting locators in use

Change-Id: Ia8736916bf59006bc581fe477db51ddd6bcc15e5
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>

1664f9ba 24-Apr-2017 Damjan Marion <damarion@cisco.com>

Add support for 32-bit x86 compilation in Makefiles

Change-Id: Ida73678b47b685abef4e81b5cad9fc13eb330850
Signed-off-by: Damjan Marion <damarion@cisco.com>

36c1308b 24-Apr-2017 Damjan Marion <damarion@cisco.com>

Fix structure alignment with 32-bit pointers

Change-Id: I740de6c0f12dab452b4349e3bf89ff976a6268c0
Signed-off-by: Damjan Marion <damarion@cisco.com>

6ce2232e 24-Apr-2017 Damjan Marion <damarion@cisco.com>

Define cache line size for x86 32-bit

Change-Id: Ie70e805f342bda69207b9df9543f1eccb5e69612
Signed-off-by: Damjan Marion <damarion@cisco.com>

b1352ed0 07-Apr-2017 Eyal Bari <ebari@cisco.com>

BD:unify bridge domain creation code

Change-Id: I29082e7a0c556069180a157e55b3698cf8cd38c7
Signed-off-by: Eyal Bari <ebari@cisco.com>

86326dae 24-Apr-2017 Klement Sekera <ksekera@cisco.com>

BFD: disable gcc6 warnings in helper macros

Change-Id: Ibec3f1a2619d593accd8c560fb29d39d5617e16a
Signed-off-by: Klement Sekera <ksekera@cisco.com>

757585db 20-Apr-2017 Damjan Marion <damarion@cisco.com>

Move emacs stuff to extras/

Change-Id: Ibbb7d8500e9064215cf912bd00bdf72a748f8a27
Signed-off-by: Damjan Marion <damarion@cisco.com>

53129423 21-Apr-2017 Steven <sluong@cisco.com>

vhost: remove socket linked file when deleting vhost interface

- Unlink the file created for the socket when deleting vhost interface
if we are the server mode.
- Remove all vhost interfaces when VPP process is exitting.

Change-Id: Id9b676cd027bbd67b473bbd01901d1ecc4d8e6cb
Signed-off-by: Steven <sluong@cisco.com>

63681519 20-Apr-2017 Dave Barach <dave@barachs.net>

Debug CLI to magically create / delete a TCP session

The session ends up in established state, and is hand-crafted to look
like it was created by the builtin_server.

This will come in handy for injecting packets into tcp46-established,
along with ancillary debug CLI to adjust connection parameters.

Immediate applications include screwball window cases, out of order
segments, paws checking, and so on and so forth.

Debug CLI script:

loop create
set int ip address loop0 6.0.1.1/8
set int state loop0 up
set ip arp loop0 6.0.1.2 feed.face.babe
test tcp server
test tcp session

packet-generator new {
name tcp
limit 1
node ip4-input
size 100-100
interface loop0
no-recycle
data {
TCP: 6.0.1.2 -> 6.0.1.1
TCP: 11234 -> 1234
ACK window 2000
seqnum 0
acknum 0
incrementing 100
}
}

Change-Id: I866c2159376064b7d14f70531022c1fe949258c2
Signed-off-by: Dave Barach <dave@barachs.net>

b68ad1e9 21-Apr-2017 Klement Sekera <ksekera@cisco.com>

make test: mark all BFD tests as extended

Change-Id: Iaed59cca1c9fd69eadb86c15be6417a956cb9d5a
Signed-off-by: Klement Sekera <ksekera@cisco.com>

f12a83f5 18-Apr-2017 Neale Ranns <nranns@cisco.com>

Improve Load-Balance MAPs

- only build them for popular path-lists (where popular means more than 64 children)
the reason to have a map is to improve convergence speed for recursive prefixes - if there are only a few this technique is not needed
- only build them when there is at least one path that has recursive constraints, i.e. a path that can 'fail' in a PIC scenario.
- Use the MAPS in the switch path.
- PIC test cases for functionality (not convergence performance)

Change-Id: I70705444c8469d22b07ae34be82cfb6a01358e10
Signed-off-by: Neale Ranns <nranns@cisco.com>

a5464817 19-Apr-2017 Florin Coras <fcoras@cisco.com>

Session layer improvements

Among others:
- Moved app event queue to shared memory segment
- Use private memory segment for builtin apps
- Remove pid from svm fifo
- Protect session fifo (de)allocation
- Use fifo event for session disconnects
- Have session queue node poll in all wk threads

Change-Id: I89dbf7fdfebef12f5ef2b34ba3ef3c2c07f49ff2
Signed-off-by: Florin Coras <fcoras@cisco.com>

bc66a912 22-Apr-2017 Steve Shin <jonshin@cisco.com>

Fix multicast enable on the bonded interface

Multicast enable flag should be set when the bonded interface is up.
This flag allows multicast packets to be processed from the slave devices
of the bonded interface. Also promiscuous mode for all-multicast should
be correctly displayed as part of 'show hardware detail' output.

Change-Id: Ief0157c4c030a28afb9c45ebf3d6a12710083724
Signed-off-by: Steve Shin <jonshin@cisco.com>

77819f6a 20-Apr-2017 flyingeagle23 <wang.hui56@zte.com.cn>

[VPP-703]uri_tcp_test segment fault when mp->retval reply -30

Change-Id: I9d2e1f3434f66d9ae9cf40fe9043d0c4b384ef44
Signed-off-by: flyingeagle23 <wang.hui56@zte.com.cn>

db42b7bd 20-Apr-2017 flyingeagle23 <wang.hui56@zte.com.cn>

[VPP-704]./uri_tcp_test slave , uri test segment fault

Change-Id: I19dcc3fcf85c63dc7a7f35e023f6269c9f233d3b
Signed-off-by: flyingeagle23 <wang.hui56@zte.com.cn>

e2125061 20-Apr-2017 flyingeagle23 <wang.hui56@zte.com.cn>

[vpp-705]uri_cli issue:show session get nothing tips when session management disable

Change-Id: I6844732adcfdd534512f0925059d92b70dcdc080
Signed-off-by: flyingeagle23 <wang.hui56@zte.com.cn>

9c2b9f41 21-Apr-2017 Damjan Marion <damarion@cisco.com>

vlib: add cli command to dump all CLI commands

To be used for bash completion

Change-Id: I8f4702f24c2b7e223945e00a1b3560dec6ef39fd
Signed-off-by: Damjan Marion <damarion@cisco.com>

658efd2f 21-Apr-2017 Ray Kinsella <ray.kinsella@intel.com>

vppinfra: clib_memcpy improvement

In the case where n is a constant 16 bytes, the second load/store is
ignored by the load/store unit - it has neglible/zero cost. In the case
where n is variable and greater than 512 bytes, the extra if (n == 16)
branch has a very small performance impact.

Change-Id: I04b313cf022c18fee31b1d9bcf6a128414659a99
Signed-off-by: Ray Kinsella <ray.kinsella@intel.com>

2f2db1c2 18-Apr-2017 Matus Fabian <matfabia@cisco.com>

CGN: IPFIX logging

maximum entries per user exceeded event

Change-Id: Ie35d7f40f55001e2ef4a38f934f176594f25b189
Signed-off-by: Matus Fabian <matfabia@cisco.com>

5fec1e8b 13-Apr-2017 Damjan Marion <damarion@cisco.com>

vpp-api: rename libpneum to libvppapiclient

Change-Id: Ie6d2c769b316b43c40632aa9009c4ff6442cf658
Signed-off-by: Damjan Marion <damarion@cisco.com>

e9a4034b 19-Apr-2017 Chris Luke <chrisy@flirble.org>

docs: Forward-port missing 17.01 release notes

Change-Id: I834df7661d2cc80c18f3879bb30e26091c28064f
Signed-off-by: Chris Luke <chrisy@flirble.org>

3cfa558a 19-Apr-2017 Klement Sekera <ksekera@cisco.com>

make test: improve bfd reliability

Change-Id: Iaf446a2d7d8e595c3379fb9ed61a954351c17b90
Signed-off-by: Klement Sekera <ksekera@cisco.com>

48009e4c 20-Apr-2017 Damjan Marion <damarion@cisco.com>

Move vagrant stuff to extras/

Change-Id: I7e3d6ecc3f23d862004c273e23e36e234ceb6015
Signed-off-by: Damjan Marion <damarion@cisco.com>

686c1c84 19-Apr-2017 Damjan Marion <damarion@cisco.com>

Extend ebuild to specify "configure" subdir, enable verify for sample-plugin

Change-Id: I2056e5d19bc3713e7a13e015dabf3b2431800973
Signed-off-by: Damjan Marion <damarion@cisco.com>

f1ff5ff1 19-Apr-2017 Milan Lenco <milan.lenco@pantheon.tech>

Temporary workaround for the bug VPP-698.

Change-Id: I220b0b95449f24cc547206e38ab8e10019115ec0
Signed-off-by: Milan Lenco <milan.lenco@pantheon.tech>

24beb840 18-Apr-2017 Andrew Yourtchenko <ayourtch@gmail.com>

Clean up old datapath code in ACL plugin.

Change-Id: I3d64d5ced38a68f3fa208be00c49d20c4e6d4d0e
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>

0bc5063a 19-Apr-2017 Klement Sekera <ksekera@cisco.com>

disable extended BFD tests in verify job

Change-Id: I14484137fde8d6e77fc5905943657089347629fb
Signed-off-by: Klement Sekera <ksekera@cisco.com>

2a3ea49d 19-Apr-2017 Neale Ranns <nranns@cisco.com>

Learn IP6 link-local ND entries from NSs sourced from link-local address

Change-Id: I4c3ce4d58df7977490fc94991291422ea1e31ee3
Signed-off-by: Neale Ranns <nranns@cisco.com>

c06eeb0e 18-Apr-2017 Damjan Marion <damarion@cisco.com>

Fix "make dist" to include version number, docouple it from rpm packaging

Change-Id: If2f9976d668089026c97b897cf449bff09050631
Signed-off-by: Damjan Marion <damarion@cisco.com>

b59a7055 19-Apr-2017 Florin Coras <fcoras@cisco.com>

Add more svm fifo unit tests

Change-Id: Ifc07b3f90ac155c26c3a216e073b474b499ebd44
Signed-off-by: Florin Coras <fcoras@cisco.com>

937bf301 07-Apr-2017 vagrant <vagrant@localhost.localdomain>

make test: python interpreter customization

Allow using custom python interpreter via 'PYTHON' env variable.
E.g. env PYTHON=pypy make test.
Get latest pip automatically to properly function in environments,
where old pip is available and a proxy is required. This allows
testing pypy in a centos vagrant-provided vm.

Change-Id: I67a658fc927303468cc67f0ac192317ca2907625
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Signed-off-by: Damjan Marion <damarion@cisco.com>

d3677682 14-Apr-2017 Juraj Sloboda <jsloboda@cisco.com>

Support ping from outside network in 1:1 NAT (VPP-695)

Change-Id: Iec8fd4c2bd26874bd8bda82172af797e9b92592c
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>

977c1cbc 31-Mar-2017 Martin Gálik <magalik@cisco.com>

CGN: additional tests

Change-Id: Ib9ae10e0fdc6de08120d92c3eebd76e71b379a06
Signed-off-by: Martin Gálik <magalik@cisco.com>

994dab40 18-Apr-2017 Neale Ranns <nranns@cisco.com>

Memory leak in load-balance maps

Change-Id: Iec67ae1232e346d5e0000e0b4c997fdc31865bc6
Signed-off-by: Neale Ranns <nranns@cisco.com>

e7b6734b 18-Apr-2017 Pavel Kotucek <pkotucek@cisco.com>

ACL-plugin does not match UDP next-header, VPP-687

Change-Id: Ide4f9bd6158fb64d069540fb43f4e593e39d6ff3
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>

1f75cfd7 14-Apr-2017 Dave Barach <dave@barachs.net>

Fix fifo ooo bugs and improve testing

Change-Id: If3c01e318bcb740ca5b240c63f712e2167082a80
Signed-off-by: Dave Barach <dave@barachs.net>
Signed-off-by: Florin Coras <fcoras@cisco.com>

fb5b2af2 17-Apr-2017 Dave Barach <dave@barachs.net>

Socket API echo server

Change-Id: I67ee8bbcad12e272193ac9e5bc6e39c43ce453ed
Signed-off-by: Dave Barach <dave@barachs.net>

5921f986 04-Apr-2017 Florin Coras <fcoras@cisco.com>

Set lower bound on persist timer

Change-Id: Ie98ecb8944e4d27e943797948fad41ec074d6720
Signed-off-by: Florin Coras <fcoras@cisco.com>

6cf260cb 13-Apr-2017 Clement Durand <clement.durand@polytechnique.edu>

tcp: completed trace functions

* Populated the trace struct that weren't used before
* Modified and created format functions to format tcp packets and
connections
* Completed the node definitions to add the format_trace function
* Filled the tracing parts with `vlib_add_trace' calls in each tcp node
function

For the nodes in tcp_input.c, there is a verbose trace and a non-verbose
trace. Each packet goes through tcp[4-6]-input which is traced with
`format_tcp_rx_trace', and the other nodes are traced with
`format_tcp_rx_trace_short'.

Change-Id: I4f2eed023f5973c14343132a33b06131cf063aa2
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
Signed-off-by: Clement Durand <clement.durand@polytechnique.edu>

6cf30adc 05-Apr-2017 Florin Coras <fcoras@cisco.com>

Session layer refactoring

Major refactoring of the session layer api
- Add attatch api for application binding to the the session layer
- Simplify listen/connect calls
- Update application CLI
- Add transport endpoint to accept callback
- Associate segment manager to application and allow for multiple
binds/connects per app

Additional:
- svm fifo cleanup
- add fifo free, format fns
- add fifo offset enqueue unit test

Change-Id: Id93a65047de61afc2bf3d58c9b544339c02065af
Signed-off-by: Florin Coras <fcoras@cisco.com>
Signed-off-by: Dave Barach <dave@barachs.net>

0f7d2ff5 12-Apr-2017 Clement Durand <clement.durand@polytechnique.edu>

tcp builtin_client: bug correction and short_help

The missing call to `vnet_session_enable_disable' would cause segfaults
because of an uninitialized session pointer. Just as in the builtin
server the session needs to be enabled for the client.

The `short_help' of the CLI command was also populated with the
arguments that are accepted in the parsing function
`test_tcp_clients_command_fn'.

Change-Id: I88c16efa80597dd19b406e8cf1c87aec1ec73573
Signed-off-by: Clement Durand <clement.durand@polytechnique.edu>
Signed-off-by: Pierre Pfister <ppfister@cisco.com>

a0558307 13-Apr-2017 Neale Ranns <nranns@cisco.com>

Remove unsed parameter from fib_table_entry_special_add() (only used in FIB tests). The DPO was incorrectly initialised with FIB_PROTO_MAX

Change-Id: I962df9e162e4dfb6837a5ce79ea795d5ff2d7315
Signed-off-by: Neale Ranns <nranns@cisco.com>

2151191e 07-Apr-2017 Filip Tehlar <ftehlar@cisco.com>

LISP: make statistics thread safe

Change-Id: I056dc6246f79d887d69ad459a6b8b3092a099baa
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>

30d857cd 05-Apr-2017 Juraj Sloboda <jsloboda@cisco.com>

Handle multiple flows with the same client port in deterministic NAT

Handle situation when client tries to connect to multiple hosts/ports
from the same client port. Extend matching to include remote host/port
when searching for existing session and create session for each flow
even when originating from the same client port.

Change-Id: I4f54ded930e59e7196843c6bc1d2d2386c57cd3c
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>

6fb41fa5 12-Apr-2017 Pavel Kotucek <pkotucek@cisco.com>

acl-plugin: missing "deny" parameter in API

Change-Id: Ie2ab844ad27b5ddb552bad9b19e7029cf91e4071
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>

027dbd52 11-Apr-2017 Klement Sekera <ksekera@cisco.com>

make test: don't rely on cPython GC to close fds

This code improvement allows running in pypy (and other interpreters)
without exhausting file descriptors.

Change-Id: Icb692a0fe1343c12cbbb15af6c58753420e74330
Signed-off-by: Klement Sekera <ksekera@cisco.com>

6a0946f0 12-Apr-2017 Matus Fabian <matfabia@cisco.com>

CGN: configurable timeouts

add API and CLI configuration of deterministic NAT session timeout for TCP, UDP
and ICMP protocol

Change-Id: I577440452e7eaedcb5d80501a7fd4b76e31e8c9c
Signed-off-by: Matus Fabian <matfabia@cisco.com>

f3ebb452 03-Apr-2017 Juraj Sloboda <jsloboda@cisco.com>

Support ICMP session timeout in deterministic NAT

Change-Id: I0306bc0ab87908adb79c594c657d579cb34b3ec1
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>

d89b6049 11-Apr-2017 Filip Tehlar <ftehlar@cisco.com>

LISP: show mapping negative action in CLI

Change-Id: I26087cbde40cc5f2f1cb501ca6e791292e02badf
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>

5c6c4bfd 11-Apr-2017 Dave Barach <dave@barachs.net>

move binary-api client-only routines to memory_client.c

Change-Id: I0755f731b1b01e6a1a231948d498c625a2c966b7
Signed-off-by: Dave Barach <dave@barachs.net>

67e06070 11-Apr-2017 Steven <sluong@cisco.com>

Devices: set interface placement does not remove the old interface placement

The command set interface placement is supposed to remove the existing
interface placement and add a new interface placement based on the given
options. My quick test for the CLI shows that the old interface placement
continues to exist. But the new interface placement is also added.

The bug exists in vnet_device_input_unassign_thread which checks
the old thread index is the same as the passed thread index and skips the
deletion if they are the same.

The fix is to remove the check which is not supposed to be there.

Change-Id: Ib055721fad47513949a03b3cb6dc292bd19fd1e8
Signed-off-by: Steven <sluong@cisco.com>

7a1bde06 03-Apr-2017 Juraj Sloboda <jsloboda@cisco.com>

Add ICMP support for deterministic NAT

Change-Id: I9a6bcb7d173a2c13d89784e7ff8a6e42dcee201f
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>

9f171f5e 11-Apr-2017 Neale Ranns <nranns@cisco.com>

MPLS Mcast coverity fixes

Change-Id: Ic07ec5d4c2560a414d5f4f7eb37e10faf591664a
Signed-off-by: Neale Ranns <nranns@cisco.com>

f060930e 11-Apr-2017 Neale Ranns <nranns@cisco.com>

MTRIE coverity fixes

Change-Id: If98355bebe823f45b11b0908a8d7700ab273a6db
Signed-off-by: Neale Ranns <nranns@cisco.com>

107e7d4b 11-Apr-2017 Neale Ranns <nranns@cisco.com>

Remove usued, redundant and deprecated code from lookup.h

Change-Id: Ic16bc10d0b2877b2afdf052615f9334f31b9519f
Signed-off-by: Neale Ranns <nranns@cisco.com>

3a795638 04-Apr-2017 Damjan Marion <damarion@cisco.com>

dpdk: use common interface placement infra

This pathch deprecates "show dpdk placement" and
"set dpdk placement" CLI commands.

Change-Id: I4e052ec3e8b8e6c54b4816e1e689e5b7a24892db
Signed-off-by: Damjan Marion <damarion@cisco.com>

361abefc 10-Apr-2017 jerryian <gu.jian1@zte.com.cn>

Fix bug in configure 'pcap drop trace on file xx.cap' command (VPP-691)

Change-Id: Id9cc1fbe18099fae483a823dc7c2b16d6bc46a8c
Signed-off-by: jerryian <gu.jian1@zte.com.cn>

e4dcba80 04-Apr-2017 Steven <sluong@cisco.com>

vhost: interrupt mode enhancements

- Add cpu index to the vring structure for quick lookup
- Reduce the code that needs to be protected by
vlib_worker_thread_barrier_sync
- Set minimum timer no less than 1 ms

Change-Id: Iafef4bf6879a8efb350abf4e0f517e38f7ff7a8b
Signed-off-by: Steven <sluong@cisco.com>

ecba903b 04-Apr-2017 Pierre Pfister <ppfister@cisco.com>

Fix typo in minimal epoll polling time

epoll was supposed to not sleep when timeout
is less than 1ms, but a typo made it not sleep
any time the requested timeout is lower than
1000 seconds (in practice, never...).

This patch replaces "1e3" with "1e-3", which
represents 1ms.

Change-Id: I731851b27a6bf6ab8e41586e017e94b962b09bf3
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
(cherry picked from commit ec06222ae189fe8d84b63410130fff04bf446573)

b498eeb6 03-Apr-2017 Juraj Sloboda <jsloboda@cisco.com>

Refactor SNAT code

Change-Id: I71f34dc64d4ddc5f2ec1164cb3c353d0fe2d95ab
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>

3747c75a 10-Apr-2017 Klement Sekera <ksekera@cisco.com>

make test: automatic "vpp finishes startup" check

Add code which checks if vpp doesn't crash/exit immediately after
startup to aid debugging stuff like mistyped graph node name or so.
Refuse to run tests if the vpp is unable to start, complain loudly
and print vpp's stderr at critical log level if this happens to make
spotting these problems in jenkins easy.

Change-Id: I40d3fbd05c822c0534713bae6bef05ecfb0e0c1d
Signed-off-by: Klement Sekera <ksekera@cisco.com>

153646e8 05-Apr-2017 Damjan Marion <damarion@cisco.com>

Common device-input interrupt infra

Change-Id: I23b588eb56a3f5690158449a1f9bc8053cd3d251
Signed-off-by: Damjan Marion <damarion@cisco.com>

c3827738 03-Apr-2017 Juraj Sloboda <jsloboda@cisco.com>

Handle ICMP echo with TTL=1 in deterministic and fast SNAT nodes

Change-Id: Icd25ec2e5faf69898178199aa44f21790ce664e1
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>

ded2193b 03-Apr-2017 Juraj Sloboda <jsloboda@cisco.com>

Make fixes in SNAT code

Change-Id: I691d1bfb2923a07c0003485b1d0272aaf9ed27ee
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>

250b95b7 08-Apr-2017 John Lo <loj@cisco.com>

Fix init of ENIC driver to allow receiving of jumbo packets

Set rxmode.enable_scatter field in DPDK port config parameter so ENIC
driver will use multiple mbuf's for receiving jumbo packets.
Also remove ENIC driver check to disable setting ENIC MTU as this
capability is now working with the new ENIC driver, subject to 9002B
limit.

Change-Id: I563976201c4968d4538c0759505cef2de876934a
Signed-off-by: John Lo <loj@cisco.com>

d927834a 06-Apr-2017 Eyal Bari <ebari@cisco.com>

VXLAN/TEST:validate vxlan del reply has valid sw_if_index

Change-Id: Icf7420b7ee212e9341f63f005dc287d019fd8e4c
Signed-off-by: Eyal Bari <ebari@cisco.com>

0f26c5a0 01-Mar-2017 Neale Ranns <nranns@cisco.com>

MPLS Mcast

1 - interface-DPO
Used in the Data-plane to change a packet's input interface
2 - MPLS multicast FIB entry
Same as a unicast entry but it links to a replicate not a load-balance DPO
3 - Multicast MPLS tunnel
Update MPLS tunnels to use a FIB path-list to describe the endpoint[s]. Use the path-list to generate the forwarding chain (DPOs) to link to .
4 - Resolve a path via a local label (of an mLDP LSP)
For IP multicast entries to use an LSP in the replication list, we need to decribe the 'resolve-via-label' where the label is that of a multicast LSP.
5 - MPLS disposition path sets RPF-ID
For a interface-less LSP (i.e. mLDP not RSVP-TE) at the tail of the LSP we still need to perform an RPF check. An MPLS disposition DPO performs the MPLS pop validation checks and sets the RPF-ID in the packet.
6 - RPF check with per-entry RPF-ID
An RPF-ID is used instead of a real interface SW if index in the case the IP traffic arrives from an LSP that does not have an associated interface.

Change-Id: Ib92e177be919147bafeb599729abf3d1abc2f4b3
Signed-off-by: Neale Ranns <nranns@cisco.com>


src/plugins/dpdk/device/node.c
src/vat/api_format.c
src/vnet.am
src/vnet/adj/adj.c
src/vnet/adj/adj.h
src/vnet/adj/adj_internal.h
src/vnet/adj/adj_mcast.c
src/vnet/adj/adj_mcast.h
src/vnet/adj/adj_midchain.c
src/vnet/adj/adj_nbr.c
src/vnet/buffer.h
src/vnet/devices/ssvm/node.c
src/vnet/dhcp/dhcp6_proxy_node.c
src/vnet/dpo/dpo.c
src/vnet/dpo/dpo.h
src/vnet/dpo/interface_dpo.c
src/vnet/dpo/interface_dpo.h
src/vnet/dpo/lookup_dpo.c
src/vnet/dpo/lookup_dpo.h
src/vnet/dpo/mpls_disposition.c
src/vnet/dpo/mpls_disposition.h
src/vnet/dpo/mpls_label_dpo.c
src/vnet/dpo/replicate_dpo.c
src/vnet/dpo/replicate_dpo.h
src/vnet/ethernet/arp.c
src/vnet/ethernet/interface.c
src/vnet/ethernet/node.c
src/vnet/ethernet/types.def
src/vnet/fib/fib_api.h
src/vnet/fib/fib_entry.c
src/vnet/fib/fib_entry.h
src/vnet/fib/fib_entry_src.c
src/vnet/fib/fib_internal.h
src/vnet/fib/fib_path.c
src/vnet/fib/fib_path.h
src/vnet/fib/fib_path_ext.c
src/vnet/fib/fib_path_ext.h
src/vnet/fib/fib_path_list.c
src/vnet/fib/fib_path_list.h
src/vnet/fib/fib_table.c
src/vnet/fib/fib_test.c
src/vnet/fib/fib_test.h
src/vnet/fib/fib_types.c
src/vnet/fib/fib_types.h
src/vnet/fib/mpls_fib.c
src/vnet/handoff.h
src/vnet/interface.c
src/vnet/ip/ip.api
src/vnet/ip/ip4_forward.c
src/vnet/ip/ip6_forward.c
src/vnet/ip/ip6_neighbor.c
src/vnet/ip/ip_api.c
src/vnet/ip/lookup.c
src/vnet/lisp-gpe/lisp_gpe_fwd_entry.c
src/vnet/mfib/ip4_mfib.c
src/vnet/mfib/ip6_mfib.c
src/vnet/mfib/mfib_entry.c
src/vnet/mfib/mfib_entry.h
src/vnet/mfib/mfib_forward.c
src/vnet/mfib/mfib_table.c
src/vnet/mfib/mfib_table.h
src/vnet/mfib/mfib_test.c
src/vnet/mpls/mpls.api
src/vnet/mpls/mpls.c
src/vnet/mpls/mpls_api.c
src/vnet/mpls/mpls_input.c
src/vnet/mpls/mpls_lookup.c
src/vnet/mpls/mpls_tunnel.c
src/vnet/mpls/mpls_tunnel.h
src/vnet/mpls/mpls_types.h
src/vnet/srp/interface.c
test/test_ip_mcast.py
test/test_mpls.py
test/vpp_ip_route.py
test/vpp_mpls_tunnel_interface.py
test/vpp_papi_provider.py
c14f31c2 06-Apr-2017 Florin Coras <fcoras@cisco.com>

Fix gpe dp args to allow for 32 bit bridge domain ids, VPP-690

Change-Id: I4e3df197eed33acbceaff495279def8716773303
Signed-off-by: Florin Coras <fcoras@cisco.com>

d1ed4867 06-Apr-2017 flyingeagle23 <wang.hui56@zte.com.cn>

VPP-684.Add ip which mask length exceeding upper limit,ping segmentfault

Change-Id: I2d1c5e4dbdcab2a81d6c88801183ca0bbc83e1d9
Signed-off-by: flyingeagle23 <wang.hui56@zte.com.cn>

d1b05647 04-Apr-2017 Andrew Yourtchenko <ayourtch@gmail.com>

acl-plugin: make the IPv4/IPv6 non-first fragment handling in line with ACL (VPP-682)

This fixes the previously-implicit "drop all non-first fragments" behavior
to be more in line with security rules: a non-first fragment is treated
for the purposes of matching the ACL as a packet with the port
match succeeding. This allows to change the behavior to permit
the fragmented packets for the default "permit specific rules"
ruleset, but also gives the flexibility to block the non-initial
fragments by inserting into the begining a bogus rule
which would deny the L4 traffic.

Also, add a knob which allows to potentially turn this behavior off
in case of a dire need (and revert to dropping all non-initial fragments),
via a debug CLI.

Change-Id: I546b372b65ff2157d9c68b1d32f9e644f1dd71b4
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
(cherry picked from commit 9fc0c26c6b28fd6c8b8142ea52f52eafa7e8c7ac)

0eb2b16f 06-Apr-2017 Marek Gradzki <mgradzki@cisco.com>

jvpp: remove unused print&endian headers (fixes VPP-688)

Change-Id: I97e03d98758a08b1f75a9a1f35f0181385a10ae8
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>

88fc83eb 05-Apr-2017 Neale Ranns <nranns@cisco.com>

BFD-FIB interactions

- single-hop BFD: attach a delegate to the appropriate adjacency
- multi-hop BFD [not supported yet]: attach a delegate to the FIB entry.

adjacency/fib_entry state tracks the BFD session state. when the state is down the object does not contribute forwarding hence and hence dependent objects will not use it.
For example, if a route is ECMP via two adjacencies and one of them is BFD down, then only the other is used to forward (i.e. we don't drop half the traffic).

Change-Id: I0ef53e20e73b067001a132cd0a3045408811a822
Signed-off-by: Neale Ranns <nranns@cisco.com>

5ee51f8e 05-Apr-2017 Choonho Son <choonho.son@gmail.com>

VPP-686: create bridge-domain

- update default flags
- add missing flag learn

Change-Id: I50a1a001848769836468838775b59d3414d27710
Signed-off-by: Choonho Son <choonho.son@gmail.com>

586afd76 05-Apr-2017 Damjan Marion <damarion@cisco.com>

Use thread local storage for thread index

This patch deprecates stack-based thread identification,
Also removes requirement that thread stacks are adjacent.

Finally, possibly annoying for some folks, it renames
all occurences of cpu_index and cpu_number with thread
index. Using word "cpu" is misleading here as thread can
be migrated ti different CPU, and also it is not related
to linux cpu index.

Change-Id: I68cdaf661e701d2336fc953dcb9978d10a70f7c1
Signed-off-by: Damjan Marion <damarion@cisco.com>


src/examples/srv6-sample-localsid/node.c
src/plugins/dpdk/buffer.c
src/plugins/dpdk/device/device.c
src/plugins/dpdk/device/dpdk_priv.h
src/plugins/dpdk/device/init.c
src/plugins/dpdk/device/node.c
src/plugins/dpdk/hqos/hqos.c
src/plugins/dpdk/ipsec/cli.c
src/plugins/dpdk/ipsec/crypto_node.c
src/plugins/dpdk/ipsec/esp.h
src/plugins/dpdk/ipsec/esp_decrypt.c
src/plugins/dpdk/ipsec/esp_encrypt.c
src/plugins/dpdk/ipsec/ipsec.c
src/plugins/dpdk/ipsec/ipsec.h
src/plugins/dpdk/main.c
src/plugins/flowperpkt/l2_node.c
src/plugins/flowperpkt/node.c
src/plugins/ioam/export-common/ioam_export.h
src/plugins/ioam/ip6/ioam_cache_tunnel_select_node.c
src/plugins/ixge/ixge.c
src/plugins/lb/lb.c
src/plugins/lb/node.c
src/plugins/lb/refcount.c
src/plugins/lb/refcount.h
src/plugins/memif/node.c
src/plugins/snat/in2out.c
src/plugins/snat/out2in.c
src/plugins/snat/snat.h
src/vlib/buffer.c
src/vlib/buffer_funcs.h
src/vlib/cli.c
src/vlib/counter.h
src/vlib/error.c
src/vlib/global_funcs.h
src/vlib/main.c
src/vlib/main.h
src/vlib/node.c
src/vlib/node.h
src/vlib/node_funcs.h
src/vlib/threads.c
src/vlib/threads.h
src/vlib/unix/cj.c
src/vlib/unix/cj.h
src/vlib/unix/main.c
src/vnet/adj/adj_l2.c
src/vnet/adj/adj_midchain.c
src/vnet/adj/adj_nsh.c
src/vnet/classify/vnet_classify.c
src/vnet/cop/ip4_whitelist.c
src/vnet/cop/ip6_whitelist.c
src/vnet/devices/af_packet/node.c
src/vnet/devices/devices.c
src/vnet/devices/devices.h
src/vnet/devices/netmap/node.c
src/vnet/devices/ssvm/node.c
src/vnet/devices/virtio/vhost-user.c
src/vnet/dpo/lookup_dpo.c
src/vnet/dpo/replicate_dpo.c
src/vnet/ethernet/arp.c
src/vnet/ethernet/interface.c
src/vnet/ethernet/node.c
src/vnet/gre/node.c
src/vnet/interface.h
src/vnet/interface_output.c
src/vnet/ip/ip4_forward.c
src/vnet/ip/ip4_input.c
src/vnet/ip/ip6_forward.c
src/vnet/ip/ip6_input.c
src/vnet/ip/ip6_neighbor.c
src/vnet/ipsec/esp.h
src/vnet/ipsec/esp_decrypt.c
src/vnet/ipsec/esp_encrypt.c
src/vnet/ipsec/ikev2.c
src/vnet/ipsec/ipsec.h
src/vnet/ipsec/ipsec_if.c
src/vnet/l2/l2_bvi.h
src/vnet/l2/l2_input.c
src/vnet/l2/l2_output.c
src/vnet/l2tp/decap.c
src/vnet/l2tp/encap.c
src/vnet/l2tp/l2tp.c
src/vnet/lisp-gpe/decap.c
src/vnet/lldp/lldp_input.c
src/vnet/map/ip4_map.c
src/vnet/map/ip4_map_t.c
src/vnet/map/ip6_map.c
src/vnet/map/ip6_map_t.c
src/vnet/mpls/mpls_input.c
src/vnet/mpls/mpls_lookup.c
src/vnet/mpls/mpls_output.c
src/vnet/pg/input.c
src/vnet/replication.c
src/vnet/replication.h
src/vnet/session/node.c
src/vnet/sr/sr_localsid.c
src/vnet/tcp/builtin_client.c
src/vnet/tcp/tcp.c
src/vnet/tcp/tcp_debug.h
src/vnet/tcp/tcp_input.c
src/vnet/tcp/tcp_output.c
src/vnet/udp/udp_input.c
src/vnet/unix/tapcli.c
src/vnet/unix/tuntap.c
src/vnet/vxlan-gpe/decap.c
src/vnet/vxlan-gpe/encap.c
src/vnet/vxlan/decap.c
src/vnet/vxlan/encap.c
src/vpp/stats/stats.c
src/vpp/stats/stats.h
bc799c92 06-Apr-2017 Eyal Bari <ebari@cisco.com>

VXLAN:fix tunnel delete not returning sw_if_index

when tunnel is deleted reply should include the tunnel's sw_if_index
instead of ~0

Change-Id: Ie5e04f4feab9cf2c90f0e155ec0fb9ca839a956d
Signed-off-by: Eyal Bari <ebari@cisco.com>

f24991ca 05-Apr-2017 Eyal Bari <ebari@cisco.com>

L2FIB:add l2fib_flush_bd l2fib_flush_int apis

Change-Id: I0a6989c6963956f3e60e8c50835c57845fccef8c
Signed-off-by: Eyal Bari <ebari@cisco.com>

e50e8568 04-Apr-2017 Klement Sekera <ksekera@cisco.com>

BFD: add ARP-awareness, fix bugs

Make BFD ARP-aware when sending out packets.
Fix a few one-liner bugs discovered while integrating with cisco
nexus. Enhance CLI view to better observe session state.

Change-Id: I266c29492f351207b84328ab665d9d697969da9c
Signed-off-by: Klement Sekera <ksekera@cisco.com>

cbbd08e1 04-Apr-2017 Andrew Yourtchenko <ayourtch@gmail.com>

acl-plugin: fix pretty-printing in "api trace custom-dump" (VPP-683)

Change-Id: Id15b401223aabe7dacb7566c871ebefc17fbb1fc
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
(cherry picked from commit 7fd3f513c7df198c45204eba0a3e9a3abe509593)

bf123dbe 05-Apr-2017 Milan Lenco <milan.lenco@pantheon.tech>

Fix two more memif coverity issues

Change-Id: I935620798d6fe82b99b6bd564749e20a189b4ae3
Signed-off-by: Milan Lenco <milan.lenco@pantheon.tech>

4b45e8f0 05-Apr-2017 Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>

Fix name typo

Change-Id: Ic7128d4f8a13c021e0fd4731a717193d050431d2
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>

fc568414 05-Apr-2017 Filip Tehlar <ftehlar@cisco.com>

LISP: fix crash when GPE interface is re-added, VPP-685

Change-Id: Ib83baf6ddec4ac192f6b4123d9eb599fb370fd0c
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>

25ad0ea2 04-Apr-2017 Filip Tehlar <ftehlar@cisco.com>

LISP: fix crash when adding a negative forwarding entry, VPP-681

Change-Id: I190696da5555c05074ee0eee32eb914bd16e38fb
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>

7eac916e 30-Sep-2016 Ciara Loftus <ciara.loftus@intel.com>

GRE over IPv6

Refactors the GRE node to work with both IPv4 and IPv6 transports.

Note that this changes the binary configuration API to support both
address families; each address uses the same memory for either
address type and a flag to indicate which is in use.

The CLI and VAT syntax remains unchanged; the code detects whether
an IPv4 or an IPv6 address was given.

Configuration examples:

IPv4 CLI: create gre tunnel src 192.168.1.1 dst 192.168.1.2
IPv6 CLI: create gre tunnel src 2620:124:9000::1 dst 2620:124:9000::2

IPv4 VAT: gre_add_del_tunnel src 192.168.1.1 dst 192.168.1.2
IPv6 VAT: gre_add_del_tunnel src 2620:124:9000::1 dst 2620:124:9000::2

Change-Id: Ica8ee775dc101047fb8cd41617ddc8fafc2741b0
Signed-off-by: Ciara Loftus <ciara.loftus@intel.com>

63d5bae6 03-Apr-2017 Damjan Marion <damarion@cisco.com>

Fix issue with gre protocol registration when running multithreaded

Change-Id: Ic5bd7da08f8a46b548d56516e4633f0b8badf2a1
Signed-off-by: Damjan Marion <damarion@cisco.com>

615fc61d 03-Apr-2017 Damjan Marion <damarion@cisco.com>

Fix issue with udp port registration when running multithreaded

Change-Id: I16606757176649e61f0a51895329586311144766
Signed-off-by: Damjan Marion <damarion@cisco.com>

fead670a 04-Apr-2017 Eyal Bari <ebari@cisco.com>

BD/API:add bridge_domain_set_mac_age api

Change-Id: Ic2d33b31ba88f6d9602a22439865637d98cf4a33
Signed-off-by: Eyal Bari <ebari@cisco.com>

a8ed6bd9 04-Apr-2017 Dave Barach <dave@barachs.net>

Clear pid-vector, to avoid spurious track selection

Change-Id: Ibc293aa1305126920c0b2c44df1f7a7d5ae9ea9d
Signed-off-by: Dave Barach <dave@barachs.net>

2c2b6407 28-Mar-2017 Damjan Marion <damarion@cisco.com>

vlib: make vlib_node_interrupt_pending(...) thread safe

Change-Id: I24577bd32ae23fbe8515cc8d960eab5448ce3b5c
Signed-off-by: Damjan Marion <damarion@cisco.com>

8328534a 04-Apr-2017 Eyal Bari <ebari@cisco.com>

VXLAN:fix api dump flipped src<->dst

Change-Id: I48bf6c46d78773669e76dc4749be3b1af80782f4
Signed-off-by: Eyal Bari <ebari@cisco.com>

2e01dfa2 03-Apr-2017 Klement Sekera <ksekera@cisco.com>

make test: relax BFD time intervals

Increased time intervals mean longer test runs, but also reduce
the chance of getting annoying (especially in gerrit) random failures.
Now that tests are split into `basic' and `all', the increased runtime
of BFD tests (of which majority doesn't run in basic case) doesn't
matter too much..

Change-Id: I4a15bb4facad634f123bc9cc6f45eddbf4976fd1
Signed-off-by: Klement Sekera <ksekera@cisco.com>

2c35e584 03-Apr-2017 Dave Barach <dave@barachs.net>

g2: add multi-track time-slew controls

Create an elog_merge utility, extracted from test_elog.

Change-Id: Ide137b4858c88b3a2885583b7fbb15ddc4963af9
Signed-off-by: Dave Barach <dave@barachs.net>

a657e4e7 03-Apr-2017 Klement Sekera <ksekera@cisco.com>

make test: tweak helper scripts

Change-Id: Iee6016757e45c832e8868f0bdcfd4192dd3380c8
Signed-off-by: Klement Sekera <ksekera@cisco.com>

c966ecd1 31-Mar-2017 Milan Lenco <milan.lenco@pantheon.tech>

Fix memif coverity issues

Change-Id: I844ec53b55ceaa1e00996f5cf8a018537ea8b481
Signed-off-by: Milan Lenco <milan.lenco@pantheon.tech>

c4ba20fe 03-Apr-2017 Jan Gelety <jgelety@cisco.com>

Update CSIT tests 170313 -> 170403

- update of CSIT operational branch to be used for VPP-patch test

Change-Id: I4bf32bc12c7417f7c19b23287a2b2899eb8fb02d
Signed-off-by: Jan Gelety <jgelety@cisco.com>

e247d605 02-Apr-2017 Damjan Marion <damarion@cisco.com>

vnet: remove vnet/rewrite.h from vnet.am

Change-Id: I2a1246061e57c4caae0a1a1b861c459d115860cd
Signed-off-by: Damjan Marion <damarion@cisco.com>

10c273bc 30-Mar-2017 Jon Loeliger <jdl@netgate.com>

Add an API call to set interface MAC addresses.

Change-Id: I316862e1d33e5d10c058317cc4827304e55ceba4
Signed-off-by: Jon Loeliger <jdl@netgate.com>

fa5d1982 20-Feb-2017 Neale Ranns <nranns@cisco.com>

Adjacency layout change and move to vnet/adj

Change-Id: I03195a86c69f84a301051c6b3ab64456bbf28645
Signed-off-by: Neale Ranns <nranns@cisco.com>

3e350af5 30-Mar-2017 Florin Coras <fcoras@cisco.com>

TCP cc/window management fixes and debugging

- added persist timer
- update rcv_las whenever sending an ack
- moved fifo size to its own cache line
- improved session and builtin client debugging

Change-Id: Ia649cf942cf0c061a713e8b67f0eb6974a6cd55b
Signed-off-by: Florin Coras <fcoras@cisco.com>
Signed-off-by: Dave Barach <dave@barachs.net>

799e26d5 13-Mar-2017 Klement Sekera <ksekera@cisco.com>

make test: add scripts for easy test looping

Allows easy running of test(s) in a loop with configurable
action (e.g. git pull) run between test runs and possible
email notification on failure.

Usage:

test-loop.sh [-p <pre-exec-cmd>] [-m <email>] -- <make test options>

Example:

Run 'make test-debug' in a loop until a failure is encountered,
upon which an email is fired to ksekera@cisco.com. In between test
runs, update the workspace using via 'git pull' and if anything changed,
perform 'git clean' before running another 'make test-debug':

test/scripts/test-loop.sh -p test/scripts/git_pull_or_clean.sh \
-m ksekera@cisco.com -- test-debug

Change-Id: I114321c6c152d2c7e181e915fc8c51aab1ff3693
Signed-off-by: Klement Sekera <ksekera@cisco.com>

05480796 29-Mar-2017 Choonho Son <choonho.son@gmail.com>

CLI: create/delete bridge-domain

Added new CLI command
- create bridge-domain <bridge-domain-id>
- create bridge-domain <bridge-domain-id> del

Change-Id: I1a7d632c7daa3c37b7f424a184e8fabd489518e9
Signed-off-by: Choonho Son <choonho.son@gmail.com>

f9f40653 01-Apr-2017 Eyal Bari <ebari@cisco.com>

ARP/ND/API:fix arp reg + nd no identical regs

fixed arp registration without allocating the event
added protection against identical ND registrations

Change-Id: I4e2db4913b35d895d8686ada1f0818920f276ad6
Signed-off-by: Eyal Bari <ebari@cisco.com>

903fd513 01-Apr-2017 Dave Barach <dave@barachs.net>

Clean up event log merge code

Fix a decade-old ridiculous qsort function bug. Managed to subtract
floating-point numbers as if they were integers, leading to
manufactured time-paradoxes. That completely confuses g2, leading to
the summary disappearance of entire tracks' worth of data at high zoom
levels.

Add a manual alignment tweak parameter to elog_merge, users can
dial-out time paradoxes caused by NTP-grade clock synchronization.
The event-logger has a precision of O(100ns), whereas NTP
synchronization is O(1ms).

Change-Id: I69dedabaa314f69f9df74ec9ee66e21e6c87f703
Signed-off-by: Dave Barach <dave@barachs.net>

a3af337e 28-Mar-2017 Neale Ranns <nranns@cisco.com>

MTRIE Optimisations 2

1) 16-8-8 stride. Reduce trie depth walk traded with increased memory in the top PLY.
2) separate the vector of protocol-independent (PI) fib_table_t with the vector of protocol dependent (PD) FIBs. PD FIBs are large structures, we don't want to burn the memory for ech PD type
3) Go straight to the PD FIB in the data-path thus avoiding an indirection through, e.g., a PLY pool.

Change-Id: I800d1ed0b2049040d5da95213f3ed6b12bdd78b7
Signed-off-by: Neale Ranns <nranns@cisco.com>

8db1de83 30-Mar-2017 Eyal Bari <ebari@cisco.com>

ARP/API:protect against identical registrations

Change-Id: Ia3acf87d3e07a7d41c047869de504e1972334b55
Signed-off-by: Eyal Bari <ebari@cisco.com>

0f60ff8a 30-Mar-2017 Damjan Marion <damarion@cisco.com>

dpdk: add support for Mellanox ConnectX-5 devices

Change-Id: I3ed2834a326eac50a7cb4faa592f42fd06325d5a
Signed-off-by: Damjan Marion <damarion@cisco.com>

ce359db3 16-Mar-2017 Damjan Marion <damarion@cisco.com>

vlib: extend foreach_vlib_main macro to assert if workers are not parked

Change-Id: I6ff7b65a400734a47bc0a7d03faf86ef1cf4f8c8
Signed-off-by: Damjan Marion <damarion@cisco.com>

386be87d 30-Mar-2017 Neale Ranns <nranns@cisco.com>

Add vnet/rewrite.am back into exported headers

Change-Id: I4dbd0dbd1e24bbf7c66fb9a2c055c8bc11d3817d
Signed-off-by: Neale Ranns <nranns@cisco.com>

1e8d01f4 30-Mar-2017 Filip Tehlar <ftehlar@cisco.com>

LISP: Do not show P-ITR generated mapping

Change-Id: I1aa25ef11dc75002cb9b6aac0981af00026e57ce
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>

20e1f2ac 29-Mar-2017 John Lo <loj@cisco.com>

Fix pid field endian in ARP/ND/DHCP event related API messages

Make sure pid field in these API messages is stored in network
order (it is also kept and used by VPP in network order).

Change-Id: Id5d08e7a45b7e49d4b840a337458d99414d0b949
Signed-off-by: John Lo <loj@cisco.com>

f1586614 30-Mar-2017 Dave Barach <dave@barachs.net>

Fix more "symbol XXX found in none of the libs" warnings

Change-Id: I4467f26da5bdcfd76e5914e0124a83b659757947
Signed-off-by: Dave Barach <dave@barachs.net>

ca2cbc97 29-Mar-2017 Andrew Yourtchenko <ayourtch@gmail.com>

acl-plugin: cleaner node bugfixes (VPP-675)

- use the counters in a private struct rather than node error counters
- ensure the timer for the non-idle connections is restarted
- fix the deletion of conn at the current tail the list

Change-Id: I632f63574d2ced95fb75c5e7fb588c78fb3cce1c
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
(cherry picked from commit 097051a3bd1f63a177c0728f15375afd84a68918)

1927da29 27-Mar-2017 Damjan Marion <damarion@cisco.com>

vppinfra: add spinlock inline functions

Change-Id: I86089e9bb604adfc260a111685001be1c897ce53
Signed-off-by: Damjan Marion <damarion@cisco.com>

b18e0de1 29-Mar-2017 shwethab <shwetha.bhandari@gmail.com>

SR replicate mheap corruption fix VPP-672

Change-Id: If1c68fc63fa71fab198f2bf4f79bdd7a9841c2e8
Signed-off-by: shwethab <shwetha.bhandari@gmail.com>
Signed-off-by: Pablo Camarillo <pcamaril@cisco.com>

adcaaf14 29-Mar-2017 Pablo Camarillo <pcamaril@cisco.com>

VPP-673 Fix L2 steering.

Change-Id: I1eab03525f234139ceefbc9b9895a35a03a56910
Signed-off-by: Pablo Camarillo <pcamaril@cisco.com>

e3d52803 24-Mar-2017 Andrew Yourtchenko <ayourtch@gmail.com>

VPP-669: ping: fix coverity check error 165075 + add ping testcase

Fix the bug and add the unit test to start with ping test coverage

Change-Id: Ibeacbed1f1660e677faa2dbb2ebe386216693e96
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>

654ceaff 29-Mar-2017 Dave Barach <dave@barachs.net>

Clean up more Debian packaging symbol warnings

Change-Id: I6081a38af3817f0957a2faf0e3e41afa4a74f3a4
Signed-off-by: Dave Barach <dave@barachs.net>

a0623f8d 30-Mar-2017 Eyal Bari <ebari@cisco.com>

BRIDGE-DOMAIN:enable arp term,mac/ip learning on local ints

we should not suppress arps on remote interface instead we should flood them to the local one
used shg != 0 to identify packets from remote interfaces and disable arp term l2 input feature for them

Change-Id: I701537c05df7451a25ccb5bfc9e2b03ea70cff20
Signed-off-by: Eyal Bari <ebari@cisco.com>

340690e4 22-Mar-2017 Neale Ranns <nranns@cisco.com>

IP lookup: remove used stack variables

Change-Id: I19b16d3e04a187ffe736fae868941957c70edf62
Signed-off-by: Neale Ranns <nranns@cisco.com>

28ea2515 29-Mar-2017 Thomas F Herbert <therbert@redhat.com>

Fix for dependency problem with Fedora 25

Change-Id: I0e86f8eb6d62c6a109876b5bf35cc62ab617608e
Signed-off-by: Thomas F Herbert <therbert@redhat.com>

b4874ee8 29-Mar-2017 Filip Tehlar <ftehlar@cisco.com>

LISP: fix IID in decap

Change-Id: I3f67d32d5d76069a27176deef6cba0c1a194b7ec
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>

2c0d0fed 29-Mar-2017 Neale Ranns <nranns@cisco.com>

Coverity Error: logically dead code in IP unnumbered CLI

Change-Id: Id3398bd4b7a56c168aaab37942b92715e19d4025
Signed-off-by: Neale Ranns <nranns@cisco.com>

8539770e 29-Mar-2017 Dave Barach <dave@barachs.net>

Remove spurious client linkages against libvlib.so

Change-Id: Ie77c8d57d0b0a153742d55ff0a8a9d72791d8b20
Signed-off-by: Dave Barach <dave@barachs.net>

6ae5ee7a 23-Mar-2017 Eyal Bari <ebari@cisco.com>

VXLAN:validate mcast encapsulation ip/mac

Change-Id: I399257e372f83f4d12dc7873617980af6e46a9bc
Signed-off-by: Eyal Bari <ebari@cisco.com>

9705c383 21-Feb-2017 Neale Ranns <nranns@cisco.com>

MAP - add the domain struct directly into the dat-path and avoid the indirectiob throught the map-DPO

Change-Id: Ifb72a1c1258440fdc4845aca8aecf2abd63526b1
Signed-off-by: Neale Ranns <nranns@cisco.com>

04a75e32 23-Mar-2017 Neale Ranns <nranns@cisco.com>

Mtrie optimisations

1 - make the default route non-special, i.e. like any other less specific route. Consequently, all buckets have a valid valid index of either a leaf or a ply. Checks for special indeices in the data-path can thus be removed.
2 - since all leaves are now 'real' i.e. they represent a real load-balance object, to tell if a ply slot is 'empty' requeirs chekcing that the prefix length of the leaf occupying the slot is slot than the minium value for that ply.
3 - when removing a leaf find the cover first, then recurse down the ply and replace the old leaf with the cover. This saves us a ply walk.

Change-Id: Idd523019e8bb1b6ef527b1f5279a5e24bcf18332
Signed-off-by: Neale Ranns <nranns@cisco.com>

9a69a609 26-Mar-2017 Neale Ranns <nranns@cisco.com>

Sub-net broadcast addresses for IPv4

Change-Id: Ib2189d01e8bc61de57404159690fb70f89c47277
Signed-off-by: Neale Ranns <nranns@cisco.com>

8424af7b 29-Mar-2017 Damjan Marion <damarion@cisco.com>

dpdk: fix --with-dpdk-mlx5-pmd link issue

Change-Id: I8edb927289c080929380bfbf2b760749b7984d4b
Signed-off-by: Damjan Marion <damarion@cisco.com>

0d150bb1 22-Mar-2017 Steven <sluong@cisco.com>

vhost: vhost-user component may become unusable with too many open files (VPP-668)

When the number of open files is reached in the system, vhost may
encounter a failure in socket call and return from vhost-user-process.
The return terminates all attempts of incoming socket connections
in the future, even if the condition is reconciled.

The fix is to not return from vhost-user-process, record the error in
the interface, spit out the error, and retry the connection every 3 seconds.

Change-Id: I806baedf13e8c9b73e7c7820c094240f39949950
Signed-off-by: Steven <sluong@cisco.com>

4521afa9 16-Mar-2017 Pablo Camarillo <pcamaril@cisco.com>

Bugfixing and documentation for SRv6

- Fixed three coverity issues
- Linked SRv6 docs
- Moved sample plugin to examples folder
- Fixed bug with hash. Now everything is using mhash. Potentially in the future we want to do bihash.

Change-Id: Ie03a13c8fecb1e315e67d0596cbd23220779aaf2
Signed-off-by: Pablo Camarillo <pcamaril@cisco.com>

45ce3fbe 28-Mar-2017 Dave Barach <dbarach@cisco.com>

Unscrew builtin client

"test tcp client bytes 750000" deadlocks w/ Pr={1.0}

Change-Id: Ifa56b0de7812b9f27aa5bce2874b740c46ab30bd
Signed-off-by: Dave Barach <dbarach@cisco.com>

d7f75cdf 27-Mar-2017 Martin Gálik <magalik@cisco.com>

NAT: Test refactoring to avoid redundant code for verification and creating packet streams in additional test cases

Change-Id: I2265f8acfa63a7ea920a7cb981819a14806a3d58
Signed-off-by: Martin Gálik <magalik@cisco.com>

9a332e16 28-Mar-2017 Damjan Marion <damarion@cisco.com>

vlib: inline dispatch_node(...) (again)

Worker main loop is now shared code with main thread
main loop so no need to export functions anymore.

Change-Id: I99ee2eee981c1b88ca31d20eabeb6c21d030a34d
Signed-off-by: Damjan Marion <damarion@cisco.com>

60750434 23-Mar-2017 Damjan Marion <damarion@cisco.com>

Comment out dpdk section in startup.conf

It is empty anyway and it is causing problems if dpdk plugin is not
loaded.

Change-Id: I7b49afec39c78cbaf0c57b50621fb3e6848e3469
Signed-off-by: Damjan Marion <damarion@cisco.com>

22db11b4 27-Mar-2017 Jim Gibson <gibson+fdio@cisco.com>

af_packet driver needs to check VLIB_BUFFER_NEXT_PRESENT flag is set
when walking vlib_buffer_t next_buffer chain on transmit.
On buffer allocation:
- next_buffer is not and may contain a stale invalid value that
should be ignored if not overwritten by a valid value.
- VLIB_BUFFER_NEXT_PRESENT flag is cleared and only set
if a valid value is written to next_buffer.

Change-Id: I9b0ccdc54f4f7456f8328ce7c4a0d52d0fba8caa
Signed-off-by: Jim Gibson <gibson+fdio@cisco.com>

da1f2c7c 25-Mar-2017 John Lo <loj@cisco.com>

Implement MAC Flush for BD or Interface from the L2FIB

Allow non-static MACs in the L2FIB which is associated with an
interface or a bridge domain (BD) be flushed. MAC flush are
initiated automatically when an interface is removed from a BD
or when a BD is deleted. MAC flush can also be invoked manually
via the following CLI:
l2fib mac-flush interface <if-name>
l2fib mac-flush bridge-domain <bd-id>

Change-Id: Ie33243622834810a765f48ebcd22bdb8e8fc87a4
Signed-off-by: John Lo <loj@cisco.com>

6792ec05 13-Mar-2017 Florin Coras <fcoras@cisco.com>

TCP/session improvements

- Added svm fifo flag for tracking fifo dequeue events (replaces event
length). Updated all code to switch to the new scheme.
- More session debugging
- Fix peek index wrap
- Add a trivial socket test client
- Fast retransmit/cc fixes
- tx and rx SACK fixes and unit testing
- SRTT computation fix
- remove dupack/ack burst filters
- improve ack rx
- improved segment rx
- builtin client test code

Change-Id: Ic4eb2d5ca446eb2260ccd3ccbcdaa73c64e7f4e1
Signed-off-by: Florin Coras <fcoras@cisco.com>
Signed-off-by: Dave Barach <dbarach@cisco.com>

98ab0915 27-Mar-2017 AkshayaNadahalli <anadahal@cisco.com>

Fix output feature processing (VPP-670)

Addressed comments.

Change-Id: Ic7d863ea4126f5046986b661db45d26bcce2068f
Signed-off-by: AkshayaNadahalli <anadahal@cisco.com>

afaa85f8 20-Mar-2017 Ole Troan <ot@cisco.com>

Python API: Fixup of debian package after cFFI changes.

Change-Id: I4c2a1a818f28d4c6cf52af45f3b7dbfa41d77ccb
Signed-off-by: Ole Troan <ot@cisco.com>

0c8ad446 24-Mar-2017 Klement Sekera <ksekera@cisco.com>

make test: properly propagate exit status

Change-Id: Ie9f48a0d5e0a9cd08eb8f07d49149eee40f04131
Signed-off-by: Klement Sekera <ksekera@cisco.com>

2e7fbcc0 15-Mar-2017 Neale Ranns <nranns@cisco.com>

Mcast rewrite no memcpy

use a 32bit mask in the adjacency to AND with the IP address and OR into the rewrite.

Change-Id: I80b0f246c18fd74f3e43c5d49e25833412f34665
Signed-off-by: Neale Ranns <nranns@cisco.com>

70efbfcd 20-Mar-2017 Thomas F Herbert <therbert@redhat.com>

Check for missing deps on bootstrap target for Centos and Fedora.

Change-Id: I823a066417fb6205d1e6b0fdf1de17b054f6d312
Signed-off-by: Thomas F Herbert <therbert@redhat.com>

17f5f609 27-Mar-2017 AkshayaNadahalli <anadahal@cisco.com>

Fix output feature processing (VPP-670)

Change-Id: Ia9bab28fb5341712a7d984bb343074ca22d05aab
Signed-off-by: AkshayaNadahalli <anadahal@cisco.com>

9f81d4fe 25-Mar-2017 Ole Troan <ot@cisco.com>

Python-API: debian packaging now depends on python-all (for pybuild)

Change-Id: I6b1dd6bdf03fa506c4b114d15800d9fe03e36395
Signed-off-by: Ole Troan <ot@cisco.com>

13ad1f02 26-Mar-2017 Dave Barach <dave@barachs.net>

Rename "show interfaces" -> "show interface"

To line up with "show interface placement," recently added. Otherwise,
"show int" refers only to "show interface placement," which tends to
annoy the cash customers...

Change-Id: Iea9e3681aeb051e2b0e1ecbf06706d98af9a3abf
Signed-off-by: Dave Barach <dave@barachs.net>

de9571f0 25-Mar-2017 Dave Barach <dbarach@wasa-ucs-12.linuxfoundation.org>

g2, c2cpel, and cpeldump: scale to 8M event log files

Change-Id: I7d7748c9c44132d033a9aff1687112ffcb44c460
Signed-off-by: Dave Barach <dbarach@cisco.com>

6abbc288 24-Mar-2017 Klement Sekera <ksekera@cisco.com>

make test: fix broken plugin paths

Change-Id: I25a6882ec503fc5bb3694411fbdc2eb1f1e1fafc
Signed-off-by: Klement Sekera <ksekera@cisco.com>

87edd671 22-Mar-2017 Ole Troan <ot@cisco.com>

Update master revision to 17.07

Change-Id: Ieb0a5e70bc3db951e577e6ef52a4adaac9b42271
Signed-off-by: Ole Troan <ot@cisco.com>

eaabe073 22-Mar-2017 Damjan Marion <damarion@cisco.com>

Add memif - packet memory interface for intra-host communication

Change-Id: I94c06b07a39f07ceba87bf3e7fcfc70e43231e8a
Signed-off-by: Damjan Marion <damarion@cisco.com>
Co-Authored-By: Milan Lenco <Milan.Lenco@pantheon.tech>

24d01367 22-Mar-2017 John Lo <loj@cisco.com>

Update MAC address kept for Bonded Interface and its Slaves

Change-Id: I9f7f9f840c3c1aad5e8c9a4fa1ba7a58a85cfd9e
Signed-off-by: John Lo <loj@cisco.com>

ed6b52bc 22-Mar-2017 Filip Tehlar <ftehlar@cisco.com>

LISP: improve DP speed

Change-Id: I5bd0721b70dfc240fa9225df3704774f6b0ede81
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>

1bfb0dda 22-Mar-2017 Damjan Marion <damarion@cisco.com>

vlib: add description field in plugin registration

Change-Id: I88b322a5d602f3d6d3310e971479180a89430e0e
Signed-off-by: Damjan Marion <damarion@cisco.com>

864b25d0 22-Mar-2017 Andrew Yourtchenko <ayourtch@gmail.com>

ping: allow the user to send bursts of N packets instead of single packet

Change-Id: I3c1d3a2db56487473123e6fec2b076a063473313
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>

88d38c4f 21-Mar-2017 Klement Sekera <ksekera@cisco.com>

make test: run all tests in test-cov target

Change-Id: I7040c1ecc8b6e5e883420c1c81aa8b70e56263e5
Signed-off-by: Klement Sekera <ksekera@cisco.com>

47e275bb 21-Mar-2017 Klement Sekera <ksekera@cisco.com>

make test: support out-of-tree plugins

usage:

env EXTERN_PLUGINS=/path/to/plugins make test

Change-Id: I8eece726dfafeff1cffd921c1e18cd3eb7eb64ed
Signed-off-by: Klement Sekera <ksekera@cisco.com>

993e0edf 16-Mar-2017 Klement Sekera <ksekera@cisco.com>

make test: support out-of-tree tests

env EXTERN_TESTS="/path/to/extra/tests" make test

causes to run the default test set and tests collected from
test_*.py files under subtree specified in EXTERN_TESTS.

Change-Id: I58c5471dd6010730278a5b47d4318737d920bc28
Signed-off-by: Klement Sekera <ksekera@cisco.com>

fa80f2e4 07-Mar-2017 Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>

dpdk: fix plugin linking with sw crypto libraries

Change-Id: I3e3bf786ab3c7672ff2cc7acd221421072e3ac8b
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>

7312cc77 16-Mar-2017 Steven <sluong@cisco.com>

vhost: support interrupt mode

vhost currently supports only polling mode. This patch is to add
interrupt mode. When the interface is configured for interrupt
mode, our input node does not get called unless there is a packet
in the vring.

If a particular CPU has one interface configured for polling mode
and another in interrupt, the input node is set to polling for
that CPU.

This diffs also includes two crashes in vlib's dispatch_node. One is
included in https://gerrit.fd.io/r/#/c/5516. The other crash is in
the ASSERT. The ASSERT can become true when the caller of
dispatch_node is in a loop. The first call converted the node
to polling. The second call thereafter will hit the ASSERT.

Change-Id: If17b6d48b20d7d8605c6a161459828637173cd32
Signed-off-by: Steven <sluong@cisco.com>

b616e9fd 14-Mar-2017 Martin <magalik@cisco.com>

SNAT: added actual delete to snat_det_map

Change-Id: I8187b43129b80fadd90ea493afb922064f79abbe
Signed-off-by: Martin <magalik@cisco.com>

59ed490e 21-Mar-2017 Marek Gradzki <mgradzki@cisco.com>

policer: fix byte ordering in policer_details msg

Change-Id: Id53131e8cd32bfd35739a7bd7cdbadf3a9f4d941
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>

cacdea3b 21-Mar-2017 Vengada <venggovi@cisco.com>

Initial draft of VPP changes to cleanup iOAM export.
This is needed for iOAM export for NSH.

Change-Id: I702934b2cde8b1c07ec5c299d5fcd98dce94c62c
Signed-off-by: Vengada <venggovi@cisco.com>

d2a59bed 21-Mar-2017 Andrew Yourtchenko <ayourtch@gmail.com>

ACL plugin 1.2

L3 path support, L2+L3 unified processing node, skip IPv6 EH support.

Change-Id: Iac37a466ba1c035e5c2997b03c0743bfec5c9a08
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>

4868ff65 09-Mar-2017 Filip Tehlar <ftehlar@cisco.com>

LISP statistics

Change-Id: I399cac46d279e020ba33459ef759d9d29d3ac716
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>

1dc2f928 20-Mar-2017 Gabriel Ganne <gabriel.ganne@enea.com>

armv8 - fix os_cpu_clock_frequency for armv8

System timer of ARMv8 runs at a different frequency than the CPU's.
The frequency is fixed, typically in the range 1-50MHz. It can be
read at CNTFRQ special register.

Change-Id: I6a21a6a9e2df783559df0caec63d5525c2258227
Signed-off-by: Gabriel Ganne <gabriel.ganne@enea.com>

eb743fad 20-Mar-2017 Damjan Marion <damarion@cisco.com>

vnet: add device-input threadplacement infra

This change adds two new debug CLI command:

- "show interface placmenet" to display which
thread (main or worker) is responsible for processing
interface rx queue

vpp# show interface placement
Thread 0 (vpp_main):
node af-packet-input:
host-vpp1 queue 0
Thread 1 (vpp_wk_0):
node af-packet-input:
host-virbr0 queue 0
Thread 2 (vpp_wk_1):
node af-packet-input:
host-vpp2 queue 0
host-lxcbr0 queue 0

- "set interface placmenet" to assign thread (main or worker)
which process specific interface rx queue

vpp# set interface placement host-vpp1 queue 0 main

Change-Id: Id4dd00cf2b05e10fae2125ac7cb4411b446c5e9c
Signed-off-by: Damjan Marion <damarion@cisco.com>

95475a36 17-Mar-2017 John Lo <loj@cisco.com>

Fix bonded interface name to use instance number starting from 0

With DPDK 17.02, bonded interface device_index does not start
from 0 and may vary depends on the existence of other interfaces.
Implement instance number for bonded interface so the interface
name can make use of instance number starting from 0.

Change-Id: Ia8eb7bd530446faa02ee7c7d1f6abdc22ac60b62
Signed-off-by: John Lo <loj@cisco.com>

898273fb 18-Mar-2017 Neale Ranns <nranns@cisco.com>

Check change in unnumbered setting before updating IP enabled state

Change-Id: I6424a083ec889961ba4d0cd1df8348f20436be14
Signed-off-by: Neale Ranns <nranns@cisco.com>

112ee88c 17-Mar-2017 Damjan Marion <damarion@cisco.com>

features: remove remaining .end_node

Change-Id: If882adb9c937f57223c524ed87453f3053f616ed
Signed-off-by: Damjan Marion <damarion@cisco.com>

ad0697a1 09-Mar-2017 Ole Troan <ot@cisco.com>

PNEUM: Fix Coverity error (missing unlock).

Change-Id: I53433e89d06fbc95e160887517acafc1544e81b5
Signed-off-by: Ole Troan <ot@cisco.com>

ed812458 17-Mar-2017 Alexander Popovsky (apopovsk) <apopovsk@cisco.com>

Fix bonded ethernet PMD name for DPDK 17.02

In DPDK 17.02 bonded PMD name is changed from rte_bond_pmd
to net_bonding.

Change-Id: I1a57a16b0ae68b5fa56a561a4f75981112228572
Signed-off-by: Alexander Popovsky (apopovsk) <apopovsk@cisco.com>

1bd01099 15-Mar-2017 Neale Ranns <nranns@cisco.com>

64 bit per-thread counters

after:
TenGigabitEthernet5/0/1-output active 107522 17375708 0 7.22e0 161.60
TenGigabitEthernet5/0/1-tx active 107522 17375708 0 6.93e1 161.60
ip4-input-no-checksum active 107522 17375708 0 2.52e1 161.60
ip4-lookup active 107522 17375708 0 3.10e1 161.60
ip4-rewrite active 107522 17375708 0 2.52e1 161.60

before
TenGigabitEthernet5/0/1-output active 433575 110995200 0 6.95e0 256.00
TenGigabitEthernet5/0/1-tx active 433575 110995200 0 7.14e1 256.00
ip4-input-no-checksum active 433575 110995200 0 2.66e1 256.00
ip4-lookup active 433575 110995200 0 3.29e1 256.00
ip4-rewrite active 433575 110995200 0 2.59e1 256.00

Change-Id: I46405bd22189f48a39f06e3443bb7e13f410b539
Signed-off-by: Neale Ranns <nranns@cisco.com>

180279b9 16-Mar-2017 Neale Ranns <nranns@cisco.com>

Fix IP feature ordering.

Drop comes before lookup when enabled. is_first_or_last is not required when setting a feature, the anchor is added in find_config_with_features().
Don't make the PG interfaces automatically L3 enabled, this way we can have tests that check the L3 protocol disbaled behaviour.

Change-Id: Icef22a920b27ff9cec6ab2da6b05f05c532cb60f
Signed-off-by: Neale Ranns <nranns@cisco.com>

696e88da 16-Mar-2017 Neale Ranns <nranns@cisco.com>

MPLS performance improvments.

1 - Quad loop lookup and label imposition.
2 - optimise imposition for the 1 label case
3 - input gets TTL from header directly (no byte swap)

Change-Id: I59204c9e5d134b0df75d7afa43e360f946d1ffe7
Signed-off-by: Neale Ranns <nranns@cisco.com>

4b919a56 11-Mar-2017 Neale Ranns <nranns@cisco.com>

Attached hosts

allow this config to function:
set int ip address loop0 169.254.1.1/32 (the default GW address for attached hosts)
set int unnumbered af_packet0 use loop0 ('enable' IP on the host interface)
ip route add 192.168.1.1/32 via af_packet0 (where to find the host)
repeat for each host and host interface.
Inter-host communication is throught the /32 routes.
To allow this:
1 - attached host routes have the ATTACHED flag set, so the ARP code accepts then as legitimate sources
2 - unnumbered interfaces inherit the source address from the IP interface

Change-Id: Ib66c5f0e848c528f79372813adc3a0c11b50717f
Signed-off-by: Neale Ranns <nranns@cisco.com>

c60f5575 17-Mar-2017 Ole Troan <ot@cisco.com>

Python API: Fix RPM packaging (again).

Change-Id: I5c510cde1227a131ddda58d090cd5dbf112ce1fb
Signed-off-by: Ole Troan <ot@cisco.com>

6aa75af2 24-Feb-2017 Steven <sluong@cisco.com>

vlib: fix potential crash in dispatch_node ELOG_DATA call

dispatch_node may be invoked from vlib main or worker threads. The call to
ELOG_DATA in dispatch_node passes the parameter &vm->elog_main. It works fine
when dispatch_node is invoked from the main thread. It does bad thing when it
is invoked from the worker thread.

While we are at it, make two additional enhancements to the same area.
1. Use ELOG_TRACK_DATA instead of ELOG_DATA to enhance g2 viewer presentation.
2. Since ELOG_DATA is in the data path, it could get very chatty. Make the call
to ELOG_TRACK_DATA conditional compile.

Change-Id: I80ca0eea10bc1e5d0d5549f9844dd9a34dbb65a2
Signed-off-by: Steven <sluong@cisco.com>

b069a691 15-Mar-2017 Neale Ranns <nranns@wasa-ucs-11.cisco.com>

Cache a 'has-features' flag on the adjacency for faster access. Reclaim the node_index memeber from the rewrite for space - this is only used for formtting

before:
ip4-rewrite * * * * 2.66e1 256.00
after:
ip4-rewrite * * * * 2.40e1 256.00

Change-Id: Ic397150727cad38811564777419ad6bd26b8a3a6
Signed-off-by: Neale Ranns <nranns@wasa-ucs-11.cisco.com>

b85e4396 16-Mar-2017 Neale Ranns <nranns@cisco.com>

Use the feature anchor in the MPLS input arc - it performs much better

Change-Id: I3d64ddb248478accd4d9b3124f018c9aab63a60f
Signed-off-by: Neale Ranns <nranns@cisco.com>

3983ac23 10-Mar-2017 Neale Ranns <nranns@cisco.com>

Adjacency refinement; check the cover's interface against the adjacency's

Change-Id: I3fa2f35056b74e479288bb956f2713f727a81c72
Signed-off-by: Neale Ranns <nranns@cisco.com>

d2b792b7 17-Mar-2017 Alexander Popovsky (apopovsk) <apopovsk@cisco.com>

Add epel-rpm-macros for CentOS/RHEL install-dep

%py2_install is required by vpp-api-python and is not available on
bare CentOS/RHEL install, causing 'fg: no job control' error.
Added 'epel-rpm-macros' to the list of EPEL dependencies

Change-Id: I1e09d7d825d9d8db06e7385d2b8d5579c8ce748b
Signed-off-by: Alexander Popovsky (apopovsk) <apopovsk@cisco.com>

b6f93a1d 16-Mar-2017 Damjan Marion <damarion@cisco.com>

vlib: additional runtime_data checks

Change-Id: I9b6ed9741fae89bdefa6f601398eb63a21155069
Signed-off-by: Damjan Marion <damarion@cisco.com>

1b33fde6 16-Mar-2017 Andrew Yourtchenko <ayourtch@gmail.com>

ping: Fix coverity error 163907

Return an error if the ip6_interface_first_address decides to return NULL.

Change-Id: Iea0184382b8fbe2af81a781c3671687a1fbb5b32
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>

b614d083 16-Mar-2017 Eyal Bari <ebari@cisco.com>

API:replaced all REPLY_MACRO's with api_helper_macros.h

Change-Id: I08ab1fd0abdd1db4aff11a38c9c0134b01368e11
Signed-off-by: Eyal Bari <ebari@cisco.com>

f6dae05b 10-Mar-2017 Steven <sluong@cisco.com>

vhost: wrong value return for VHOST_USER_VRING_GET_BASE

When the VM is migrated, the driver sends VHOST_USER_VRING_GET_BASE
message to the device to get the vring offset. The device is
supposed to shut down the vring, and return the current vring offset.
What the code did was to shutdown the vring, initialize the vring,
and return 0 to the driver.

The fix is to first store last_avail_idx in the message and then close
the vring.

Change-Id: I432e9f50f36d89fe53a45e050edcf5e1218caf7a
Signed-off-by: Steven <sluong@cisco.com>

e9f929b5 16-Mar-2017 Damjan Marion <damarion@cisco.com>

vlib: make runtime_data thread-local

Change-Id: I4aa3e7e42fb81211de1aed07dc7befee87a1e18b
Signed-off-by: Damjan Marion <damarion@cisco.com>

3cc49718 07-Mar-2017 Ole Troan <ot@cisco.com>

Python API: Change from cPython to CFFI.

Change-Id: I03e52466fb3f909ae52b8fba601168f3eadbd972
Signed-off-by: Ole Troan <ot@cisco.com>

9d676afb 15-Mar-2017 Neale Ranns <nranns@cisco.com>

No vector allocation during buffer copy

Change-Id: I7e8556af833ca0e00fadc96dcd2077ff1104541b
Signed-off-by: Neale Ranns <nranns@cisco.com>

0856b97b 15-Mar-2017 Eyal Bari <ebari@cisco.com>

API: define optional base_id for REPLY_MACRO's

this enables sharing the api_helper_macros.h implementation

Change-Id: Ie3fc89f3b4b5a47fcfd4b5776db90e249c55dbc3
Signed-off-by: Eyal Bari <ebari@cisco.com>

7c0858e2 15-Mar-2017 Dave Barach <dave@barachs.net>

Fix binary-api cmd/arg split logic

Change-Id: If3dbce830684b5eab8944519424074b03cc7d703
Signed-off-by: Dave Barach <dave@barachs.net>

e101e1f5 15-Mar-2017 Eyal Bari <ebari@cisco.com>

VXLAN:add hidden multicast interface check

and some refactoring

Change-Id: I99e3c5e782ce65cb9779ccc3a9a3151ef1429e07
Signed-off-by: Eyal Bari <ebari@cisco.com>

3bde4077 10-Mar-2017 Vengada <venggovi@cisco.com>

VPP changes to support iOAM over NSH-MD2. Separate trace data
structure definitions into two files to share code with NSH
plugin (iOAM)

Change-Id: I0192551f71678e4f814bc6a7d25200a1580f3033
Signed-off-by: Vengada <venggovi@cisco.com>

803c51d7 14-Mar-2017 Dave Barach <dbarach@cisco.com>

Fix packet trace output: dpdk_rx_trace must decode the actual ethertype

As opposed to rubbish (typically) 14 octets past the ethertype.
Also fix buffer error code setup in dpdk-input node single loop.

Change-Id: Ide7c4097d3bb91e62749ed4e1d69a7b4b90225de
Signed-off-by: Dave Barach <dbarach@cisco.com>
Signed-off-by: John Lo <loj@cisco.com>

1c82cd4f 14-Mar-2017 Eyal Bari <ebari@cisco.com>

API:support hidden sw interfaces

validate interfaces - added check for hidden interfaces
interface dump - dont send hidden interfaces
set_unnumbered - test for hidden

vl_api_create_vlan_subif_t_handler, vl_api_create_subif_t_handler - fixed potential memory leak

some other minor refactors to make code clearer and shorter

Change-Id: Icce6b724336b7d1536fbd07a74bf7abe4916d2c0
Signed-off-by: Eyal Bari <ebari@cisco.com>

3d6b2b56 14-Mar-2017 Dave Barach <dave@barachs.net>

Try again: __COVERITY__ vs __COVERITY

Hate it when that happens...

Change-Id: I725c8539d6349755e9d75ae05f2703c83ea704be
Signed-off-by: Dave Barach <dave@barachs.net>

b64e4e2a 14-Mar-2017 Dave Barach <dave@barachs.net>

Clean up dead API client reaper callack scheme

Change-Id: Iec3df234ca9f717d87787cefc76b73ed9ad42332
Signed-off-by: Dave Barach <dave@barachs.net>

c563e0e1 11-Mar-2017 Thomas F Herbert <therbert@redhat.com>

Nasm > 2.11.06 required for sw_crypto.

Change-Id: I7583d3074478579a841c7827a12a4a8fc74d9d61
Signed-off-by: Thomas F Herbert <therbert@redhat.com>

e146f13f 09-Mar-2017 shwethab <shwetha.bhandari@gmail.com>

ioam: ip6 hop by hop ext header and SR header co-existence

1. Fix finding sr extension header
2. Fix for assert checks for space for sr header in packet headroom
3. ioam build warnings
4. Fix for SR header removal in presence of hbh ext header
clib_memcpy with overlapping src/dst was failing

Change-Id: I8576204eb571d1d4725a4e6976e18fe61cd1cd35
Signed-off-by: shwethab <shwetha.bhandari@gmail.com>

20e272c8 14-Mar-2017 Damjan Marion <damarion@cisco.com>

vlib: poll pre_input nodes only on main thread

Change-Id: I61464fd1610a9754693f31edd72f9fa1b6926511
Signed-off-by: Damjan Marion <damarion@cisco.com>

6e28f382 14-Mar-2017 Damjan Marion <damarion@cisco.com>

ioam: fix warnings

Change-Id: I0148f82cee56eaf0f6485294c8c70793266f1ed6
Signed-off-by: Damjan Marion <damarion@cisco.com>


b20dd1ba 10-Mar-2017 AkshayaNadahalli <anadahal@cisco.com>

IOAM Coverity fix

Coverity IDs - 163911, 163910, 163909, 163908, 163905, 163904, 163896, 161957, 161955

Change-Id: Ida822fa45c6936240f61282e2280541d7e6427b3
Signed-off-by: AkshayaNadahalli <anadahal@cisco.com>

a38e0f0d 13-Mar-2017 Jan Gelety <jgelety@cisco.com>

Update CSIT tests 170302 -> 170313

- update of CSIT operational branch to be used for VPP-patch test

Change-Id: I1a312a4a3085930c0019ec6832cb9f482174eea3
Signed-off-by: Jan Gelety <jgelety@cisco.com>

e69f4954 07-Mar-2017 Florin Coras <fcoras@cisco.com>

VPP-659 Improve tcp/session debugging and testing

- event-logging support for tcp and session layer
- improvements to uri test code
- builtin_server on port 1234
- use the CLOSEWAIT timer when we rx FIN in FIN_WAIT_2 state

Change-Id: Ibc445f164b2086b20323bf89c77cffd3059f570f
Signed-off-by: Florin Coras <fcoras@cisco.com>
Signed-off-by: Dave Barach <dbarach@cisco.com>
Signed-off-by: Dave Barach <dave@barachs.net>

dfde53ae 10-Mar-2017 Billy McFall <bmcfall@redhat.com>

VPP-279: Document changes for vnet/vnet/devices

Add doxygen documentation for DPDK crypto CLI command.

The move of DPDK to a plugin invalidated the local dir.dox. So moved
dpdk/dir.dox to dpdk/device/dir.dox to fix.

Change-Id: I229e2921c4b0cdd380021adb520cd2089a376afa
Signed-off-by: Billy McFall <bmcfall@redhat.com>

1904c47d 10-Mar-2017 John Lo <loj@cisco.com>

Add MAC address check in ethernet-input node if interface in L3 mode

Interface can be in promiscuous mode if more than one of its sub-
interface is in L2 mode. In promiscuous mode, L3 interface need to
verify DMAC of packet to match that of the interface and drop if not.
This check was done on sub-interface only and now also added to main
interface path.

Fix incorrect MAC addresses in the flow-per-pkt plugin test, which
caused it to fail.

Fix MAC address usage in BFD tests.

Change-Id: I12a17ec05c7ab298ad10d400c90d082c97eca521
Signed-off-by: John Lo <loj@cisco.com>
Signed-off-by: Klement Sekera <ksekera@cisco.com>

59dda065 02-Mar-2017 Pavel Kotucek <pkotucek@cisco.com>

ACL plugin rejects ICMP messages (VPP-624)

Change-Id: I95113a277b94cce5ff332fcf9f57ec6f385acec0
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>

557a71c8 22-Feb-2017 Juraj Sloboda <jsloboda@cisco.com>

Refactor SNAT ICMP code

Change-Id: I07de08ef111011694638a8ebe7a13c240714ce7e
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>

374e2c5f 09-Mar-2017 Damjan Marion <damarion@cisco.com>

Retire vpp_lite

vpp_lite platform is not needed anymore as same efect can be
achieved with following startup.conf config:

plugins {
plugin dpdk_plugin.so { disable }
}

Change-Id: I690ea8ceb1c6e1fe32e01e7da54e9958019a93bf
Signed-off-by: Damjan Marion <damarion@cisco.com>

e9d52d54 09-Mar-2017 Damjan Marion <damarion@cisco.com>

vlib: deduplicatee code in main and worker main loop

Change-Id: Id18d59c9442602633a6310b2001a95bce8b6b232
Signed-off-by: Damjan Marion <damarion@cisco.com>

d79b41e9 04-Mar-2017 Florin Coras <fcoras@cisco.com>

VPP-659 TCP improvements

- builtin test echo server
- fix SYN-ACK retransmit canceling
- avoid sending spurious ACK if in LAST_ACK
- improved client dummy test app
- renamed tx fifo dequeuing and sending functions to avoid confusion
- improved RST handling

Change-Id: Ia14aad3df319540dcf6e6a4e18a9f8d423a4b83b
Signed-off-by: Florin Coras <fcoras@cisco.com>
Signed-off-by: Dave Barach <dave@barachs.net>

8d552472 09-Mar-2017 Damjan Marion <damarion@cisco.com>

gmon: fix code commented out by mistake

Change-Id: If540787e2443330673ad6721094c4765c32ef59b
Signed-off-by: Damjan Marion <damarion@cisco.com>

67a99f89 10-Mar-2017 Filip Tehlar <ftehlar@cisco.com>

LISP: fix Proxy-ETR show command, VPP-660

Change-Id: I8b7dc3bf631bd228db23679534e04b8af7ac4ec7
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>

b6391a90 10-Mar-2017 Dave Barach <dave@barachs.net>

Fix vat_api_hookup name collision

Change-Id: I6a93fdc3f669fa1892d1e1cd5a9685700d6d2683
Signed-off-by: Dave Barach <dave@barachs.net>

a331e6fc 09-Mar-2017 Dave Barach <dave@barachs.net>

VPP-608: warnings be gone

Change-Id: I6d30c6a8d1a425c531e7206e46143d528980c48e
Signed-off-by: Dave Barach <dave@barachs.net>

69b7aa42 10-Mar-2017 Neale Ranns <nranns@cisco.com>

Fix MAP-E UT. Add functionality in MAP code to delete the pre-resolved next-hops. UT checks for no-leftover-state now pass

Change-Id: I9e980ee117c0b6aebc6c7a0fcc153a7c0eaf0c72
Signed-off-by: Neale Ranns <nranns@cisco.com>

78053e16 10-Mar-2017 Pavel Kotucek <pkotucek@cisco.com>

Fix coverity CIDs 161048, 163895

Change-Id: Ic206601413bb366e2a920daf00524e92a47287ef
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>

b69259a5 09-Mar-2017 Florin Coras <fcoras@cisco.com>

VPP-608 Fix LISP warning

Change-Id: Iaa4fb2bc2230c1a99c518a37039cd91648dc19c0
Signed-off-by: Florin Coras <fcoras@cisco.com>

73ee23ce 09-Mar-2017 Damjan Marion <damarion@cisco.com>

make test: temporary disable MAP-E test

Change-Id: Iee0302a7a4856712f27f97f9cc953b2e9e71698c
Signed-off-by: Damjan Marion <damarion@cisco.com>

c160ae0d 09-Mar-2017 Klement Sekera <ksekera@cisco.com>

make test: automatic sanity check

Check if vpp_papi is importable before running the tests to avoid
confusing python crashes.

Change-Id: I6adf406e353bf381d590f2ef988a1ea79b95cf37
Signed-off-by: Klement Sekera <ksekera@cisco.com>

a86e2895 09-Mar-2017 Klement Sekera <ksekera@cisco.com>

make test: add make test-shell[-debug] targets

This starts a bash with the same environment as the test framework
uses, allowing easy debugging.

Change-Id: I956deda913b73dae5b1e1976417834ae4731f88a
Signed-off-by: Klement Sekera <ksekera@cisco.com>

80f54e20 09-Mar-2017 Dave Barach <dave@barachs.net>

vlib_mains == 0 special cases be gone

Clean up spurious binary API client link dependency on libvlib.so,
which managed to hide behind vlib_mains == 0 checks reached by
VLIB_xxx_FUNCTION macros.

Change-Id: I5df1f8ab07dca1944250e643ccf06e60a8462325
Signed-off-by: Dave Barach <dave@barachs.net>

b3b2de71 08-Mar-2017 Neale Ranns <nranns@cisco.com>

IMplementation for option to not create a FIB table entry when adding a neighbor entry

Change-Id: I952039e101031ee6a06e63f4c73d8eb359423e1a
Signed-off-by: Neale Ranns <nranns@cisco.com>

80823809 21-Feb-2017 Neale Ranns <nranns@cisco.com>

MAP pre-resolve - use FIB to track pre-resolved next-hop

Change-Id: I9ea16881caf7aee57f0daf4ac2e8b82c672f87e9
Signed-off-by: Neale Ranns <nranns@cisco.com>

37be7369 22-Feb-2017 Neale Ranns <nranns@cisco.com>

Tests to target holes in adjacency and DPO test coverage

Change-Id: Ic6ac7e441a7b75baa02f03c1585d1ae00903a399
Signed-off-by: Neale Ranns <nranns@cisco.com>

794813fd 07-Mar-2017 Gabriel Ganne <gabriel.ganne@enea.com>

include rte_config header before any other dpdk include

Change-Id: Idd28931756a53663512efe85b896eeffcc8cadcb
Signed-off-by: Gabriel Ganne <gabriel.ganne@enea.com>

145bb0f2 08-Mar-2017 Damjan Marion <damarion@cisco.com>

dpdk: remove unnecesary CFLAGS modification

Change-Id: Ie9945462d529fea6f237a521138ade76bd02e0d9
Signed-off-by: Damjan Marion <damarion@cisco.com>

17a75cb2 08-Mar-2017 Martin <magalik@cisco.com>

SNAT: deterministic map dump

Change-Id: Iead6dc6a0fe15a0b8e148e780c3aeadd0b378824
Signed-off-by: Martin <magalik@cisco.com>

2ef5d014 08-Mar-2017 Matus Fabian <matfabia@cisco.com>

SNAT: fix coverity warnings (VPP-608)

Change-Id: Id7879a6a8014fe57c3515a13e7597fb0e3c906ad
Signed-off-by: Matus Fabian <matfabia@cisco.com>

e5ef1d7a 01-Mar-2017 Damjan Marion <damarion@cisco.com>

vlib: add process restart cli

Change-Id: I8b81e53ebea573b4edb17aca7e1c284f3984e399
Signed-off-by: Damjan Marion <damarion@cisco.com>

87134937 07-Mar-2017 Klement Sekera <ksekera@cisco.com>

make test: split into basic and extended tests

Implement plumbing to allow decorating tests as extended, e.g.:

@unittest.skipUnless(running_extended_tests(), "part of extended tests")

both methods and classes can be decorated this way.

Change make test and make test-debug to run only non-extended tests.
Introduce make test-all and make test-all-debug to run the full suite.
Run full suite as part of make verify.
Decorate most BFD tests as extended.

Change-Id: I3bc64f59e9fe238f7f767d7e043dc165d03e9dfa
Signed-off-by: Klement Sekera <ksekera@cisco.com>

d96bad8c 08-Mar-2017 Neale Ranns <nranns@cisco.com>

ARP resilience in the absence of IP config on input and output interfaces

Change-Id: Ia9c6790436f8f6337b5351e3017ef5e441a8a4e9
Signed-off-by: Neale Ranns <nranns@cisco.com>
(cherry picked from commit 5e323329ed6ded6f6944c56069329207ad9069c0)

25f63585 06-Mar-2017 Damjan Marion <damarion@cisco.com>

dpdk: dpdk-input optimizations and fixes

- fix issue caused by assumption that ethertype starts at 0
- intoduce buffer templates to speed-up vlib_buffer_t metadata
initialization
- avoid check for multiseg buffers inside loop if multiseg is disabled
- interleave prefetches to reduce load on L1 cache

Change-Id: I3b76e6d3e1e15ed28f01625edb7fbe9f38112e03
Signed-off-by: Damjan Marion <damarion@cisco.com>

239d3fec 08-Mar-2017 Neale Ranns <nranns@cisco.com>

API change (only) to not create a FIB table entry when adding a neighbor entry

Change-Id: I1a8edaf1e0fca89e5d24d57dbb186ee46801f661
Signed-off-by: Neale Ranns <nranns@cisco.com>

a1a0901d 08-Mar-2017 Steven <sluong@cisco.com>

vhost: binary API changes for interrupt mode

Add operation_mode for create_vhost_user_if, modify_vhost_user_if,
and sw_interface_vhost_user_details. Only polling mode is supported
for these APIs. Other mode is rejected and gets
VNET_API_ERROR_UNIMPLEMENTED error.

Change-Id: I0596f4e2c087aa2b6f78eb3e0b63910b1859641e
Signed-off-by: Steven <sluong@cisco.com>

c6ec8f39 08-Mar-2017 Dave Barach <dave@barachs.net>

Change dpdk input node fixed-sleep units to usec

Change-Id: I94e8737cad9222d24602db4ad03bf43c12c62b79
Signed-off-by: Dave Barach <dave@barachs.net>

bb152882 08-Mar-2017 Ole Troan <ot@cisco.com>

FLOWPERPKT: New API definition in preparation for stateful flows.

Change-Id: If9c4a5da06daf78000ea8637b95048f19b5019d0
Signed-off-by: Ole Troan <ot@cisco.com>

24537ca7 08-Mar-2017 Radu Nicolau <radu.nicolau@intel.com>

dpdk: Fixed QAT devices binding, bind the VFs only

Change-Id: I9ff64b6c583e1c513f91f90798298b55d0793f06
Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>

6786f1b5 07-Mar-2017 Filip Tehlar <ftehlar@cisco.com>

LISP: fix gpe sub-interface lookup

Change-Id: I080b90a4bc53c2595ade696c592e86790c7ca939
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>

141ecc54 08-Mar-2017 Neale Ranns <nranns@cisco.com>

BUG: multiple registrations of 'vl_api_ip6nd_proxy_details_t_handler

Change-Id: I70e32b2196bfc8712d270f9a4365daca2504d52d
Signed-off-by: Neale Ranns <nranns@cisco.com>

6b7fcda4 08-Mar-2017 Martin <magalik@cisco.com>

SNAT: user_session_dump is_ip4 and vat unformating added

Change-Id: I0ffab147c3218a75b7c3bb829983f538c7b637ee
Signed-off-by: Martin <magalik@cisco.com>

3f844d0b 18-Feb-2017 Neale Ranns <nranns@cisco.com>

Proxy ND (RFC4389 - or a sub-set thereof). This allows the 'emulation' of bridging. That is hosts in one sub-net reachable via differenet interfaces.

Introducate a new API command:
ip6 nd proxy <host-address> <interface>

this indicates 2 things;
1) that host <host-address> is reachable out of interface <interface>. VPP will thus install that route.
2) NS requests sent to <host-address> will be responeded to (i.e. proxied).

Change-Id: I863f967fdb5097ab3b574769c70afdbfc8d5478a
Signed-off-by: Neale Ranns <nranns@cisco.com>

7eaf0e57 08-Mar-2017 Filip Tehlar <ftehlar@cisco.com>

LISP: add stats API/CLI

Change-Id: I5c5b4d680359cf3635c2d7b0088ea2ba6a428f93
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>

6f19c695 07-Mar-2017 Matus Fabian <matfabia@cisco.com>

CGN: fix outside port calculation and set buffer error (VPP-623)

Change-Id: I5143328b2da62ce4d6bb2915e2a51855696d87fc
Signed-off-by: Matus Fabian <matfabia@cisco.com>

a0b34a74 07-Mar-2017 Florin Coras <fcoras@cisco.com>

Register TCP with IP only if session is enabled

Change-Id: I73154179e78aeae5f879125237bce593d0978fae
Signed-off-by: Florin Coras <fcoras@cisco.com>

f7f2a9fe 06-Mar-2017 Gabriel Ganne <gabriel.ganne@enea.com>

fix gcc 5.4 warning: argument to 'sizeof' in 'memcpy' call is the same expression as the destination

warning translates as an invalid write :
sizeof(u8* b_dmac) == 8 != sizeof(eth_hdr->dst_address) == 6

~/vpp/build-data/../src/vnet/l2/l2_vtr.c: In function 'l2pbb_get':
~/vpp/build-data/../src/vnet/l2/l2_vtr.c:734:63: error: argument to 'sizeof' in 'memcpy' call is the same expression as the destination;
did you mean to provide an explicit length? [-Werror=sizeof-pointer-memaccess]
~/vpp/build-data/../src/vnet/l2/l2_vtr.c:736:63: error: argument to 'sizeof' in 'memcpy' call is the same expression as the destination;
did you mean to provide an explicit length? [-Werror=sizeof-pointer-memaccess]

update l2pbb_get to take an ethernet header instead of two u8* pointers
for source and dest mac addresses.

Change-Id: Ifcf1319a9e22614d57682f940e10f0420dc6fb8c
Signed-off-by: Gabriel Ganne <gabriel.ganne@enea.com>

45e4f365 07-Mar-2017 Dave Barach <dave@barachs.net>

Missing plugin binary API command fns found after brief search

Create hash tables before loading plugins. Previous init sequence
wiped out most if not all of them.

Change-Id: I5dd628895f68f740d525951511a9fef1822d39da
Signed-off-by: Dave Barach <dave@barachs.net>

3466c302 16-Feb-2017 Neale Ranns <nranns@cisco.com>

DHCP Multiple Servers (VPP-602, VPP-605)

Multiple DHCP (4 and/or 6) servers can be added and removed through multiple calls to the 'set dhcp server' API.
All 4/6/ discover/solicit messages will then be replicated to all servers in the list. The expectation is that the servers/system is configured in such a way that this is viable.
If VSS information is providied for the clinet VRF which also has multiple servers configured, then the same VSS information is sent to each server. Likewise the source address of packets sent to from VPP to each server is the same.

Change-Id: I3287cb084c84b3f612b78bc69cfcb5b9c1f8934d
Signed-off-by: Neale Ranns <nranns@cisco.com>

09a38a6d 07-Mar-2017 Wojciech Dec <wdec@cisco.com>

Fix endian issue in ARP Event Reply

ARP Event reply sw_if_index was getting passed in host byte order.

Change-Id: Ifae8673906ac2c4233f146786a3d02c38280809b
Signed-off-by: Wojciech Dec <wdec@cisco.com>

3212c570 06-Mar-2017 Eyal Bari <ebari@cisco.com>

CLI: hide deleted interfaces

Added a new interface flag - HIDDEN
Indicates that the interface does not appear in CLI/API.
Added three new interface functions:
vnet_sw_interface_is_api_visible - indicates if the sw_if_index should be displayed
vnet_swif_is_api_visible - variant for sw_interface
vnet_sw_interface_is_api_valid - tests if the given if_index exists and is visible
for future use by api functions

Changed the unformat function to only accept visible interfaces
Changed vxlan to add the HIDDEN flag to deleted interfaces

This is the first part in a series to hide deleted interfaces from the API

Change-Id: Ib43cc5cf1c450856560faf4e84126eb3671038e2
Signed-off-by: Eyal Bari <ebari@cisco.com>

1b563527 23-Jan-2017 AkshayaNadahalli <anadahal@cisco.com>

In-band OAM active probe (VPP-471)

Change-Id: Icf0ddf76ba1c8b588c79387284cd0349ebc6e45f
Signed-off-by: AkshayaNadahalli <anadahal@cisco.com>

066f034b 10-Feb-2017 Matus Fabian <matfabia@cisco.com>

CGN: Deterministic NAT (VPP-623)

Inside user is statically mapped to a set of outside ports. Support endpoint
dependent mapping to deal with overloading of the outside ports.

Change-Id: I8014438744597a976f8ae459283e8b91f63b7f72
Signed-off-by: Matus Fabian <matfabia@cisco.com>

eab38d91 07-Mar-2017 Juraj Sloboda <jsloboda@cisco.com>

Add setting of tenant VRF id for SNAT addresses (VPP-641)

Change-Id: I9c0bb35ba16e04206ac481495f6638d3763754a1
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>

ede470b4 06-Mar-2017 Gabriel Ganne <gabriel.ganne@enea.com>

fix uninitialized ip6 keys within session.c

fix for functions:
- stream_session_lookup_listener6
- stream_session_lookup6
- stream_session_lookup_transport6
- stream_session_connect_notify

eg.
~/vpp/build-data/../src/vnet/session/session.c: In function 'stream_session_lookup_listener6':
~/vpp/build-data/../src/vnet/session/session.c:222:17: error: 'kv6.key[3]' is used uninitialized in this function [-Werror=uninitialized]
session_kv6_t kv6;
^
~/vpp/build-data/../src/vnet/session/session.c:222:17: error: 'kv6.key[2]' is used uninitialized in this function [-Werror=uninitialized]
~/vpp/build-data/../src/vnet/session/session.c:222:17: error: 'kv6.key[5]' is used uninitialized in this function [-Werror=uninitialized]
~/vpp/build-data/../src/vnet/session/session.c:222:17: error: 'kv6.key[4]' is used uninitialized in this function [-Werror=uninitialized]

Change-Id: I221cafbaf4effa43662ffcc7bf5f9581e28f9db9
Signed-off-by: Gabriel Ganne <gabriel.ganne@enea.com>

dd42be20 06-Mar-2017 Gabriel Ganne <gabriel.ganne@enea.com>

silence -Wmaybe-uninitialized warning

It does not look like it actually can be used uninitialized ... but gcc
complains, so with Werror this prevents from compiling.

sample warning output:
In file included from /home/gannega/export/vpp/build-data/../src/vnet/handoff.h:21:0,
from /home/gannega/export/vpp/build-data/../src/plugins/snat/in2out.c:19:
/home/gannega/export/vpp/build-data/../src/plugins/snat/in2out.c: In function 'snat_in2out_node_fn_inline':
/home/gannega/export/vpp/build-data/../src/vnet/ip/ip4_packet.h:244:15: error: 'inner_ip0' may be used uninitialized in this function [-Werror=maybe-uninitialized]
i->checksum = 0;
^
/home/gannega/export/vpp/build-data/../src/plugins/snat/in2out.c:433:17: note: 'inner_ip0' was declared here
ip4_header_t *inner_ip0;

Change-Id: If7c35dfb528861fd4ec6374aa1343b48f0f93057
Signed-off-by: Gabriel Ganne <gabriel.ganne@enea.com>

dfc9b7ca 06-Mar-2017 Ole Troan <ot@cisco.com>

Python API: Synchronous mode.

Change-Id: Ic8f186dbb35bb4e2e191d311cab51315a88a2d81
Signed-off-by: Ole Troan <ot@cisco.com>

9c6a613f 21-Feb-2017 Neale Ranns <nranns@cisco.com>

make per-adj counters configurable

Change-Id: Ifdd2b204ecf7d855f1269c11224b9c825311904d
Signed-off-by: Neale Ranns <nranns@cisco.com>

153b8710 06-Mar-2017 AkshayaNadahalli <anadahal@cisco.com>

Fixing loadbalancing over ECMP for recursive routes

Change-Id: Ibe1734aeb94bc17cd8d8bc6f35ca7b780aaa9599
Signed-off-by: AkshayaNadahalli <anadahal@cisco.com>

78372a9a 17-Jan-2017 Shwetha Bhandari <shwethab@cisco.com>

ioam: manycast using iOAM and SR (VPP-628)

Change-Id: I6d2afda991d771fb4a89fc3f6544f8e940a9b9f0
Signed-off-by: Shwetha Bhandari <shwethab@cisco.com>

b16bfe3f 28-Feb-2017 Klement Sekera <ksekera@cisco.com>

BFD: documentation

Change-Id: I06a23d24340c5527f3848177d2178bf3e55f7614
Signed-off-by: Klement Sekera <ksekera@cisco.com>

cc078488 21-Feb-2017 Neale Ranns <nranns@cisco.com>

Remove unused multicast fields from vnet_buffer_t

Change-Id: I8db55443c0beb33a89520ab3167f703f8646ec9e
Signed-off-by: Neale Ranns <nranns@cisco.com>

35af9e50 05-Mar-2017 Damjan Marion <damarion@cisco.com>

features: take device-input buffer advance value directly

Change-Id: Ifac7d9134d03d79164ce6f06ae9413279bbaadb3
Signed-off-by: Damjan Marion <damarion@cisco.com>

0e2e0dfe 03-Mar-2017 Klement Sekera <ksekera@cisco.com>

BFD: drop rpc call if packet doesn't match session

In a very unlikely scenario, during which a session is removed
and replaced with a different session sharing the same session
index, while a packet is in-flight during RPC call, drop that packet.

Change-Id: If1c4a77fc2ab460bae2435db066a133185b98747
Signed-off-by: Klement Sekera <ksekera@cisco.com>

0491ac9a 06-Mar-2017 Klement Sekera <ksekera@cisco.com>

BFD: remove unneeded code

Change-Id: I0371e8e3c94bb793e3c64d5f51aaebf19dddc4b4
Signed-off-by: Klement Sekera <ksekera@cisco.com>

1b686409 02-Mar-2017 Klement Sekera <ksekera@cisco.com>

make test: reset object registry if vpp dies

Change-Id: If0e30837e07a21f3912676f5147cb242d3d2b235
Signed-off-by: Klement Sekera <ksekera@cisco.com>

80a7f0a8 02-Mar-2017 Klement Sekera <ksekera@cisco.com>

make test: tell vpp to set coredump size

Unless overridden by COREDUMP_SIZE env variable, tell VPP to set
coredump size to unlimited, otherwise use $COREDUMP_SIZE as
the argument.

Change-Id: Ia2a6508207c66a171b33d272c820b1deb4a83e82
Signed-off-by: Klement Sekera <ksekera@cisco.com>

c8c44ebe 02-Mar-2017 Klement Sekera <ksekera@cisco.com>

Add support for unix { coredump-size <size> }.

Use setrlimit to set the core size limit if the argument is passed to
vpp.

Change-Id: Ie76c082b2af81337310fcb1925af915a42067f15
Signed-off-by: Klement Sekera <ksekera@cisco.com>

077d6ae7 24-Jan-2017 Pavel Kotucek <pkotucek@cisco.com>

span: wrong destination interface in tracing

Change-Id: I9bea397e50fff4211c6e1e31503829e4dd16be42
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>

363640db 06-Mar-2017 Damjan Marion <damarion@cisco.com>

Quad loop interface-output node

Change-Id: I0c24d9af90241083ae56b1d52239d2d55e70b65e
Signed-off-by: Damjan Marion <damarion@cisco.com>

53865c0e 05-Mar-2017 Damjan Marion <damarion@cisco.com>

dpdk: init.c should be under device/

Change-Id: I80831cee062a38a0f5ab1f1e56c2dc6dcd512b9d
Signed-off-by: Damjan Marion <damarion@cisco.com>

b93d1424 02-Mar-2017 Klement Sekera <ksekera@cisco.com>

make test: don't run if other vpp process runs

Check if there are existing vpp processes before running the test suite
and refuse to run if there are. This prevents the removal of other test
suite temporary files and also makes sure that if the machine is loaded
by (zombie) vpp processes, interactive tests (like bfd) won't fail.

Change-Id: I88a74098188cb3f51966de5db19d7f80f39e51e2
Signed-off-by: Klement Sekera <ksekera@cisco.com>

a1cca7fa 03-Mar-2017 Martin <magalik@cisco.com>

SNAT: session dump last heard type fix

Change-Id: I3323f7d4bb5da4bc2b19637964e5467ac92680cd
Signed-off-by: Martin <magalik@cisco.com>

99617f7a 04-Mar-2017 Dave Barach <dave@barachs.net>

Fix duplicate binary API registration messages / bugs

Changed vat_api_hookup(...) to <plugin-name>_api_hookup, change to
static functions. Fixed the related emacs-lisp plugin skeleton.

Change-Id: Id14f8fc3138751f469d48fecb26175e938f5f028
Signed-off-by: Dave Barach <dave@barachs.net>

6f6f52ae 04-Mar-2017 Alexander Popovsky (apopovsk) <apopovsk@cisco.com>

Export session.api.h for out-of-tree builds

session.api.h is included in src/vnet/vnet_all_api_h.h
since 68b0fb0c620, as such it should be added to the 'devel' package
and installed for out-of-tree builds which use binary VPP API

Change-Id: Ie8ad03d8df2a96cbc6913f767500d5ff34dcc915
Signed-off-by: Alexander Popovsky (apopovsk) <apopovsk@cisco.com>

358425b8 20-Feb-2017 Neale Ranns <nranns@cisco.com>

DHCPv6 - Be consistent with the use of MFIB index as the RX FIB index for DHCPv6. For the same table ID, the unicast-FIB index is not necessarily the same value as the multicast-FIB index, since features (like LISP, SR) can create unicast-tables, and thus affect only the index of the unicast FIBs

Change-Id: Ibfa334d7eda822f742c241b7ce69a6271b4753a9
Signed-off-by: Neale Ranns <nranns@cisco.com>

e04c2994 01-Mar-2017 Florin Coras <fcoras@cisco.com>

Cleanup URI code and TCP bugfixing

- Add CLI/API to enable session layer, by default it's disabled
- Improve rcv wnd computation
- Improvements to tx path
- URI code cleanup
- Builtin test tcp server
- Improve src port allocation

Change-Id: I2ace498e76a0771d4c31a8075cc14fe33d7dfa38
Signed-off-by: Florin Coras <fcoras@cisco.com>

fb38095d 07-Dec-2016 Pablo Camarillo <pcamaril@cisco.com>

Evolving SRv6 (Segment Routing for IPv6)

Implements:
1.- SR Policies with several (weighted) SID lists
2.- Binding SID
3.- SR LocalSIDs with support for the following functions
- End
- End.X
- End.DX6
- End.DX4
- End.DX2
- End.DT6
- End.DT2
- End.B6
- End.B6.Encaps
4.- SR Steering policies (to steer a traffic through an SR Policy)
- Support for IPv6 traffic (IPv6 Encapsulation / SRH insertion)
- Support for IPv4 traffic (IPv6 Encapsulation)
- Support for L2 traffic
(T.Insert / T.Encaps)
5.- Doxygen documentation
6.- Framework (APIs) to allow the definition of new SR LocalSID behaviors by means of plugins
7.- Sample SRv6 LocalSID plugin

Change-Id: I2de3d126699d4f11f54c0f7f3b71420ea41fd389
Signed-off-by: Pablo Camarillo <pcamaril@cisco.com>

fa5231d7 01-Feb-2017 Andrew Yourtchenko <ayourtch@gmail.com>

timing wheel: avoid queueing expired timers and caching wrong earliest expiry value

This commit addresses two issues:

1) Avoid refilling the timing wheel with stale timers in rare circumstances.

The timing_wheel_advance() may call advance_cpu_time_base() to update the cpu_time_base,
which is used as a starting point for 32-bit offsets of events on the timer wheel.

If the timing_wheel_advance() is not called for a longer period of time,
then advance_cpu_time_base() is called multiple times in a loop.

advance_cpu_time_base() has two parts - the first part adjusting
the base for the existing event, and the second part trying to fill
with the new events from the overflow queue, which now fit into
the 32-bit-sized time window off the new cpu_time_base.

In doing so this second part incorrectly considers the timers which
have just expired (have the time index == w->current_time_index)
to still be unexpired and places them onto the wheel instead of returning
them as expired.

For quick successive executions of timing_wheel_advance() these events
result in a relatively benign late expiry - the newly placed events expire
during the next call to timing_wheel_advance().

If the successive executions of timing_wheel_advance() result in multiple
invocations of advance_cpu_time_base(), the Nth iteration of it may place a stale
event on the timer wheel if the event time index equals to the current time index
(which has been previously purged), while the N+1th iteration of it will trigger
an assert violation on this stale event, resulting in a reboot.

As part of the testing, two test runs were done before and after the change.
Each of the test runs consisted of the following command:

for i in `seq 1 300`; do ./test_timing_wheel validate events 10000 synthetic-time verbose seed $i iter 10000 wait-time 2 max-time 300; done

The test runs completed identically, however they uncovered the following assert failure:

vpp/src/vppinfra/test_timing_wheel.c:225 (test_timing_wheel_main) assertion `min_next_time[0] <= tm->events[i]' fails

This assert is the second issue covered by this commit:

2) Inserting a new element may result in incorrect cached expiry value

The w->cached_min_cpu_time_on_wheel is being updated within timing_wheel_advance() every time
the elements are expired.

However, it is not touched if the new elements are inserted. Assuming current time is "T"
and the cached min cpu time is "T+X", if a new element is being inserted whose expiry time is "T+Y",
and Y is such that Y < X, then the value w->cached_min_cpu_time_on_wheel becomes incorrect
until the next expiry event, during which it is updated. The test catches this transient condition
which results in the asserts seen in the runs above.

The solution is to update the w->cached_min_cpu_time_on_wheel within timing_wheel_insert_helper()
as necessary.

Change-Id: I56a65a9a11cc2a1e0b36937a9c6d5ad10233a731
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>

c83c3b7f 23-Feb-2017 Jon Loeliger <jdl@netgate.com>

Implement a loopback instance allocation scheme.

To support creating loopback interfaces with a specific
instance number, a new CREATE_LOOPBACK_INSTANCE API call
with flag is_specified and value user_instance is introduced.
Presumably the existing CREATE_LOOPBACK API message will be
obsoleted and revmoved.

The VAT cli commands can now mention and format
the new field as 'instance %d' data. If no instance
number is named, the old call CREATE_LOOPBACK is used
to maintain backward compatibility. However, if the
instance is named, the new CREATE_LOOPBACK_INSTANCE
message will be used.

Both the dynamically allocated and user-requested instance
number are tracked in a bitvector. If is_specified is 0,
the next free instance will be used.. A request for a specific
instance number will be granted if it is available. On error,
the value ~0 is returned.

Change-Id: I849815563a5da736dcd6bccd262ef49b963f6643
Signed-off-by: Jon Loeliger <jdl@netgate.com>

a084d62a 03-Mar-2017 Pablo Camarillo <pcamaril@cisco.com>

Fixed PLUGIN_DISABLE bug

Change-Id: I7a0ff25a8f74e6eda3a44f2cd7d2e022683accd9
Signed-off-by: Pablo Camarillo <pcamaril@cisco.com>

114f846f 03-Mar-2017 John Lo <loj@cisco.com>

Clean up VXLAN api message handler registration issues

Remove the duplcate VXLAN related API handlers from api.c and keep
the proper ones in ./src/vnet/vxlan/vxlan_api.c.

Change-Id: I3b17e17d735bb453d080243bfa2783ce0de64885
Signed-off-by: John Lo <loj@cisco.com>

cc40565b 03-Mar-2017 Andrew Yourtchenko <ayourtch@gmail.com>

VPP-651: Ensure sw_if_index to node mapping for L2 output path is only done via l2output_main.next_nodes

Before this commit, several output features that happen to be the
last in the list of features to be executed, send the packets directly
to <interfaceName>-output. To do this, they use l2_output_dispatch,
which builds a list of sw_if_index to next index mappings.

When interfaces are deleted and the new interfaces are created,
these mappings become stale, and cause the packets being sent to wrong
interface output nodes.

This patch (thanks John Lo for the brilliant idea!) adds a feature node "output",
whose sole purpose is dispatching the packets to the correct interface output
nodes. To do that, it uses the l2output_main.next_nodes, which is already
taken care of for the case of the sw_if_index reuse, so this makes the dependent
features all work correctly.

Since this changes the packet path, for the features that were always the last ones
it has triggered a side problem of the output feat_next_node_index not being properly
initalized. These two users are l2-output-classify node and the output nodes belonging
to the acl-plugin.

For the first one the less invasive fix is just to initialize that field.
For the acl-plugin nodes, rewrite the affected part of the code to use
feat_bitmap_get_next_node_index since this is essentially what the conditional
in l2_output_dispatch does, and fix the compiler warnings generated.

This fix was first made in stable/1701 under commit e7dcee4027854b0ad076101471afdfff67eb9011.

Change-Id: I32e876ab1e1d498cf0854c19c6318dcf59a93805
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>

dfbee41b 02-Mar-2017 Dave Barach <dave@barachs.net>

Improve api trace replay consistency checking

Change-Id: I2c4b9646d53e4c008ccbe6d09c6a683c776c1f60
Signed-off-by: Dave Barach <dave@barachs.net>

87df12d5 18-Feb-2017 Neale Ranns <nranns@cisco.com>

IPv6 RA improvements
1) tests for RA options
2) memleaks deleteing a ip6_radv_info_t
3) MLD prefix code refactoring

Change-Id: I34db103994bd8fbdbbec50b202d72770dd145681
Signed-off-by: Neale Ranns <nranns@cisco.com>

4008ac99 14-Feb-2017 Neale Ranns <nranns@cisco.com>

Changing the IP table for an interface is an error if the interface already has an address configured (VPP-601)

Change-Id: I311fc264f73dd3b2b3ce9d7d1c33cd0515b36c4a
Signed-off-by: Neale Ranns <nranns@cisco.com>

7112c542 01-Mar-2017 Klement Sekera <ksekera@cisco.com>

python API: work towards python/vpp api separation

This change improves vpp_papi behaviour by introducing alternate way of
calling vpp APIs.

The common code is the same:

vpp = VPP(...)
vpp.connect(...)

Calling VPP API is different, instead of deprecated:

vpp.show_version() # deprecated

one should write

vpp.api.show_version()

this allows VPP messages like "connect" and "disconnect" to be used,
once the old API is dropped (in 17.07). Also part of this patch is a
check for name conflict, to prevent VPP object overwriting its own
functionality with generated code based on json files.

Change-Id: I22e573b6a45f8b2a1f0340c5c2597c194fe42ca4
Signed-off-by: Klement Sekera <ksekera@cisco.com>

a80ab845 02-Mar-2017 Dave Barach <dave@barachs.net>

VPP-608: fix coverity warning in vppapigen

Change-Id: Ic26216bb03d941c1625a61c1c3340d2d70d84bd0
Signed-off-by: Dave Barach <dave@barachs.net>

0eb22efb 02-Mar-2017 John Lo <loj@cisco.com>

Fix create_vlan_subif API using sw_if_index as hw_if_index

Also added check for bounded interface.

Change-Id: I44b981d5b6fbe360e0b95c326f3f8b0e6c715468
Signed-off-by: John Lo <loj@cisco.com>

a1a093d4 02-Mar-2017 Dave Barach <dave@barachs.net>

Clean up binary api message handler registration issues

Removed a fair number of "BUG" message handlers, due to conflicts with
actual message handlers in api_format.c. Vpp itself had no business
receiving certain messages, up to the point where we started building
in relevant code from vpp_api_test.

Eliminated all but one duplicate registration complaint. That one
needs attention from the vxlan team since the duplicated handlers have
diverged.

Change-Id: Iafce5429d2f906270643b4ea5f0130e20beb4d1d
Signed-off-by: Dave Barach <dave@barachs.net>

25b36674 02-Mar-2017 Eyal Bari <ebari@cisco.com>

bridge domain: fix members reordered when removing

since adding support for multicast vxlan flooding (flood class tunnel master)
correct flood functionality depends on the order of the memebers vector

solved by using vec_delete instead of vec_del1 which swaps members before deleting the last element

Change-Id: I234f218d49172b4142c567db9699a5cb274e4a66
Signed-off-by: Eyal Bari <ebari@cisco.com>

23caa885 09-Feb-2017 magalik <magalik@cisco.com>

SNAT: user's dump and session dump of a certain snat user.

Change-Id: If75a35dbdcb43c1ce0128b8649f2ca3970d3fff5
Signed-off-by: Martin <magalik@cisco.com>

baf2e90a 25-Feb-2017 Neale Ranns <nranns@cisco.com>

Remove the unused VRF ID parameter from the IP neighbour Add/Del API

Change-Id: Icf0d72f6af1f98c86f78e586c354515ac69804aa
Signed-off-by: Neale Ranns <nranns@cisco.com>

584282a1 28-Feb-2017 John Lo <loj@cisco.com>

Determine pkt type in dpdk-input node using ethertype only (VPP-647)

Remove reliance on DPDK driver provided mbuf packet type in dpdk-input
node as some NIC driver provide misleading information. Now using
ethertype from the packet itself to determine packet type for next node.

Change-Id: Ie7b514a984f9382c29f1a1e3eb423d68f817c064
Signed-off-by: John Lo <loj@cisco.com>

8ab4ccc9 02-Mar-2017 Jan Gelety <jgelety@cisco.com>

Update CSIT tests 170220 -> 170302

- update of CSIT operational branch to be used for VPP-patch test

Change-Id: Ia8078ae23e0e6fb701e141fd0701fb82987743d7
Signed-off-by: Jan Gelety <jgelety@cisco.com>

443312bb 28-Feb-2017 Florin Coras <fcoras@cisco.com>

Fix LISP Coverity warning

Change-Id: Id1c3832609859ed004bacba0ced0d07dafd6c409
Signed-off-by: Florin Coras <fcoras@cisco.com>

614c1316 01-Mar-2017 Billy McFall <bmcfall@redhat.com>

VPP-648: CLI Memory leak with invalid parameter

After VPP-635 was merged, did one more pass. While the code was waiting
to be merged, a few changes were merged to master with the same issue.
This is a few additional changes addressing the same issue. See VPP-635.

Change-Id: I7abeac5c260c1e2e9d9d318fd1aae24cd6932efc
Signed-off-by: Billy McFall <bmcfall@redhat.com>

73884487 23-Feb-2017 Klement Sekera <ksekera@cisco.com>

BFD: command line interface

Implement command line interface to the BFD binary APIs. Add
corresponding unit tests.

Change-Id: Ia0542d0bc4c8d78e6f7b777a08fd94ebfe4d524f
Signed-off-by: Klement Sekera <ksekera@cisco.com>

c3a814be 28-Feb-2017 Damjan Marion <damarion@cisco.com>

dpdk: be a plugin

Change-Id: I238258cdeb77035adc5e88903d824593d0a1da90
Signed-off-by: Damjan Marion <damarion@cisco.com>

f71ef1dd 01-Mar-2017 Damjan Marion <damarion@cisco.com>

vppinfra: fix issue when copying 16 bytes with clib_memcpy

Current code wos copying same data twice when length is 16.

Change-Id: I8d935b32f61672aaea9789c097a5083ae8f78cdd
Signed-off-by: Damjan Marion <damarion@cisco.com>

46c75cf6 01-Mar-2017 Ole Troan <ot@cisco.com>

Initial Release notes for 17.04.

Change-Id: I91a38fe02646438a0cdad92cbb66342a437e8ff9
Signed-off-by: Ole Troan <ot@cisco.com>

04ab60ed 17-Feb-2017 Damjan Marion <damarion@cisco.com>

Add MAINTAINERS file

Change-Id: I67819c72a5b3de7bcc7d55ab34f0c95f947578e9
Signed-off-by: Damjan Marion <damarion@cisco.com>

68b0fb0c 28-Feb-2017 Dave Barach <dave@barachs.net>

VPP-598: tcp stack initial commit

Change-Id: I49e5ce0aae6e4ff634024387ceaf7dbc432a0351
Signed-off-by: Dave Barach <dave@barachs.net>
Signed-off-by: Florin Coras <fcoras@cisco.com>


src/Makefile.am
src/plugins/ioam/export-common/ioam_export.h
src/plugins/ioam/ipfixcollector/ipfixcollector.c
src/plugins/ioam/lib-vxlan-gpe/ioam_transit.c
src/plugins/snat/in2out.c
src/plugins/snat/out2in.c
src/scripts/vnet/tcp
src/scripts/vnet/udp
src/scripts/vnet/uri/tcp-setup.sh
src/scripts/vnet/uri/tcp_server
src/scripts/vnet/uri/udp
src/svm.am
src/svm/ssvm.c
src/svm/ssvm.h
src/svm/svm_fifo.c
src/svm/svm_fifo.h
src/svm/svm_fifo_segment.c
src/svm/svm_fifo_segment.h
src/svm/test_svm_fifo1.c
src/uri.am
src/uri/uri_tcp_test.c
src/uri/uri_udp_test.c
src/uri/uri_udp_test2.c
src/uri/uritest.c
src/vlib/buffer.c
src/vlib/buffer.h
src/vlibmemory/unix_shared_memory_queue.c
src/vlibmemory/unix_shared_memory_queue.h
src/vnet.am
src/vnet/api_errno.h
src/vnet/bfd/bfd_udp.c
src/vnet/buffer.h
src/vnet/classify/vnet_classify.c
src/vnet/dhcp/dhcp_proxy.h
src/vnet/flow/flow_report.h
src/vnet/ip/ip.h
src/vnet/ip/ip4.h
src/vnet/ip/ip4_forward.c
src/vnet/ip/ip4_packet.h
src/vnet/ip/ip6.h
src/vnet/ip/ip6_packet.h
src/vnet/ip/punt.c
src/vnet/ip/tcp_packet.h
src/vnet/ip/udp_init.c
src/vnet/ipsec/ikev2.c
src/vnet/ipsec/ikev2_cli.c
src/vnet/ipsec/ikev2_crypto.c
src/vnet/lisp-cp/packets.c
src/vnet/lisp-cp/packets.h
src/vnet/lisp-gpe/interface.c
src/vnet/lisp-gpe/lisp_gpe.h
src/vnet/lisp-gpe/lisp_gpe_adjacency.c
src/vnet/session/application.c
src/vnet/session/application.h
src/vnet/session/application_interface.c
src/vnet/session/application_interface.h
src/vnet/session/hashes.c
src/vnet/session/node.c
src/vnet/session/session.api
src/vnet/session/session.c
src/vnet/session/session.h
src/vnet/session/session_api.c
src/vnet/session/session_cli.c
src/vnet/session/transport.c
src/vnet/session/transport.h
src/vnet/tcp/tcp.c
src/vnet/tcp/tcp.h
src/vnet/tcp/tcp_error.def
src/vnet/tcp/tcp_format.c
src/vnet/tcp/tcp_input.c
src/vnet/tcp/tcp_newreno.c
src/vnet/tcp/tcp_output.c
src/vnet/tcp/tcp_packet.h
src/vnet/tcp/tcp_pg.c
src/vnet/tcp/tcp_syn_filter4.c
src/vnet/tcp/tcp_timer.h
src/vnet/udp/builtin_server.c
src/vnet/udp/udp.c
src/vnet/udp/udp.h
src/vnet/udp/udp_error.def
src/vnet/udp/udp_format.c
src/vnet/udp/udp_input.c
src/vnet/udp/udp_local.c
src/vnet/udp/udp_packet.h
src/vnet/udp/udp_pg.c
src/vnet/vnet_all_api_h.h
src/vnet/vxlan-gpe/vxlan_gpe.h
src/vnet/vxlan/vxlan.h
src/vpp/api/vpe.api
src/vppinfra.am
src/vppinfra/bihash_16_8.h
src/vppinfra/bihash_48_8.h
src/vppinfra/tw_timer_16t_1w_2048sl.c
src/vppinfra/tw_timer_16t_1w_2048sl.h
f8690287 01-Mar-2017 Dave Barach <dave@barachs.net>

Fix buffer template copy

Change-Id: If451c9cb68719fc816999b0330b9be3a0169176a
Signed-off-by: Dave Barach <dave@barachs.net>

b3bb1010 28-Feb-2017 Damjan Marion <damarion@cisco.com>

devices: vnet_get_aggregate_rx_packets should not be dpdk specific

Change-Id: I1152db4b7d1602653d7d8b2c6cb28cf5c526c4ca
Signed-off-by: Damjan Marion <damarion@cisco.com>

f7c37940 28-Feb-2017 Damjan Marion <damarion@cisco.com>

dpdk: retire support for dpdk 16.07

Change-Id: I8585552c026415340fe9fd0458cb8450da3c4ae2
Signed-off-by: Damjan Marion <damarion@cisco.com>

7100b9cc 28-Feb-2017 John Lo <loj@cisco.com>

Clear L2 output config on interface mode change to L3 (VPP-651)

With VPP-651, the L2 output config with L2-tag rewrite was not
cleared when a sub-interface is deleted. Subsequently, when the
same sw_if_index was reused for another interface, the L2 output
config with L2-tag rewrite remained on the new interface.

On deleting a (sub-)interface which is in L2 mode, it will be
changed to L3 mode first to clear any L2 config. The L2 to L3 mode
change path did address L2 input config cleanup. It is now fixed
to also clear L2 output config.

Change-Id: I3352a89d92e1b27340a5adcf75bbaa01a5050c29
Signed-off-by: John Lo <loj@cisco.com>

c47ed032 25-Jan-2017 Damjan Marion <damarion@cisco.com>

vlib: add buffer cloning support

Change-Id: I50070611af15b2b4cc29664a8bee4f821ac3c835
Signed-off-by: Damjan Marion <damarion@cisco.com>

05472b62 27-Feb-2017 Dave Barach <dave@barachs.net>

Fix warning in generated code

Change-Id: Ie56fca84a8a0ed77ee480e8078e6e9b3f4cef105
Signed-off-by: Dave Barach <dave@barachs.net>

987e11df 27-Feb-2017 Dave Barach <dave@barachs.net>

Trace plugin binary API message range allocation

Change-Id: I544a5d2906548607b69f999567b92f802fddddbb
Signed-off-by: Dave Barach <dave@barachs.net>

f61bc52e 26-Feb-2017 Klement Sekera <ksekera@cisco.com>

BFD: disable debug prints

Change-Id: I356581f4bdf47b9610b9e50f4f8db9a1510872a7
Signed-off-by: Klement Sekera <ksekera@cisco.com>

ff542707 27-Feb-2017 Damjan Marion <damarion@cisco.com>

vlib: add VLIB_BUFFER_EXT_HDR_VALID flag

Change-Id: If56c66dd12eded1cc997087de5fd1b975766c4e2
Signed-off-by: Damjan Marion <damarion@cisco.com>

39f9d8bd 17-Feb-2017 Neale Ranns <nranns@cisco.com>

[Proxy] ARP tests

Change-Id: I40d6d763b55a26cdee0afef85d1acdd19dd10dd6
Signed-off-by: Neale Ranns <nranns@cisco.com>

3e7b5693 21-Feb-2017 Filip Tehlar <ftehlar@cisco.com>

Add GPE CLI/API for setting encap mode

Change-Id: Id89e23fb5d275572b2356c073dfa0f55719e1a76
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>

646ba9b0 26-Feb-2017 Eyal Bari <ebari@cisco.com>

fix:vxlan mcast adj - added as ucast dpo adj

Change-Id: Ic2447313075cd46f265202dffaaac894f48ddf6d
Signed-off-by: Eyal Bari <ebari@cisco.com>

a83bc30d 25-Feb-2017 Dave Barach <dave@barachs.net>

Load plugins in alphabetical order

API traces contain absolute message numbers. Loading plugins in
directory (vs. alphabetical) order makes trace replay fragile.

Change-Id: I46b3a3b6a9843a383d42269fca0cf5a789486eaf
Signed-off-by: Dave Barach <dave@barachs.net>

239790fd 16-Feb-2017 Klement Sekera <ksekera@cisco.com>

BFD: echo function

Change-Id: Ib1e301d62b687d4e42434239e7cd412065c28da0
Signed-off-by: Klement Sekera <ksekera@cisco.com>

263440e7 23-Feb-2017 Florin Coras <fcoras@cisco.com>

Add NSH to GPE decap path

Change-Id: I97681322fa9ca81736100b4d32eab84868886c7b
Signed-off-by: Florin Coras <fcoras@cisco.com>

5a72c1c1 24-Feb-2017 Neale Ranns <nranns@cisco.com>

MFIB: changes to improve route add/delete performance

Change-Id: I063d85200d12b09545ae1c373c7fc69112ae3b34
Signed-off-by: Neale Ranns <nranns@cisco.com>

b5b2ef59 23-Feb-2017 Jan Gelety <jgelety@cisco.com>

Enable tests with VRF reset

- needed to filter out ICMPv6 Neighbor Discovery - Neighbor
Advertisement packets

- needed to reset routes of reset VRFs learned from ICMPv6
Neighbor Discovery - Neighbor Advertisement packets after
run_verify_test()

Change-Id: I8238d8f73428d511ab68ab7765d99ce7dc3a6633
Signed-off-by: Jan Gelety <jgelety@cisco.com>

08a70f17 24-Feb-2017 Neale Ranns <nranns@cisco.com>

FIB: 1) fix pool realloc during prefix export. 2) don't walk off the end of the path-extension vector

Change-Id: I8bd8f6917ace089edb1f65bd017b478ee198c03f
Signed-off-by: Neale Ranns <nranns@cisco.com>

26cd8c12 23-Feb-2017 Dave Barach <dave@barachs.net>

VPP-650: handle buffer failure in vlib_buffer_copy(...)

Change-Id: I6aac48d780fcd935818221044eae50067f225175
Signed-off-by: Dave Barach <dave@barachs.net>

02767e9f 23-Feb-2017 Radu Nicolau <radu.nicolau@intel.com>

Fixed QAT device binding and device unbinding when vpp package is removed

Change-Id: I35ad6a42093cad0945df1df09a39c63c4560dce6
Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>

bcc6aa4c 24-Feb-2017 Neale Ranns <nranns@cisco.com>

MFIB memory leak. free the per-source interface hash

Change-Id: I0ccb337eb0ed50ccc64193533cd816f6e36e6db5
Signed-off-by: Neale Ranns <nranns@cisco.com>

04197eea 22-Feb-2017 Billy McFall <bmcfall@redhat.com>

VPP-279: Document changes for vnet/vnet/devices

Add doxygen documentation for dpdk CLI commands.

Outside of adding documentation to the CLI Commands, modified the CLI
code as follows:
* The "set dpdk interface placement" command allows the user to move
interface/queues to a different thread. But there is only a subset of
threads that are valid. Updated the "show dpdk interface placement"
command to display all valid threads, even if all interface/queues
have been moved off. Updated the "show dpdk interface hqos placement"
the same way.
* There is a command to modify the Subport attributes, but no way to
display the changes. Added a "Subport" section to the "show dpdk
interface hqos" command.
* Reworked the "set dpdk interface hqos subport" command.
- The current implementation had a local rte_sched_subport_params
structure and initialized it to default values, then overwrote with
what was input. The side effect of this is that if all the current
data is non-default, and a new command is entered with just one
attribute, all the remaining attrbutes are getting set back to
default under the cover. Very confusing for the user. Updated the
code to read the current value and overwrite what has changed.
- DPDK does not have a read subport data, so no way query the current
applied values. The set command was not updating the local copy that
is created at init. Modified the code to store the updated values if
the DPDK apply function was successful.
- Several functions repeated the same code to get a pointer to the
local HQoS data. Added a utility function.get_hqos(..), to perform
this action. Did not port other code to use new function.
* The "set dpdk interface hqos pktfield" allows the user to set the
packet fields required for classifiying the incoming packet. The
classification is across three fields (subport, pipe, tc). The command
was using 0,1,2 to represent these three fields, but had no
explanation regarding these magic numbers. Updated the command to take
the three tokens (subport, pipe, tc) for more clarity. For legacy
sake, still allow 0,1,2 to be entered. Also updated the "show dpdk
interface hqos" command to show these tokens.
* The "set dpdk interface hqos tctbl" maps an interface and value 0-63
to a traffic class and queue. The "show dpdk interface hqos" command
showed the internal DPDK magic number for traffic class and queue.
Updated the show command to display what was input instead of the
magic number.
* The "show dpdk hqos queue" command always returns zeros by default
because RTE_SCHED_COLLECT_STATS is not defined in DPDK. Took me a
while to figure out why I wasn't getting values returned. So returned
an error message if RTE_SCHED_COLLECT_STATS is not defined instead of
zeros.

Change-Id: I22b640d668245839ee977ef3602175c61d91d24c
Signed-off-by: Billy McFall <bmcfall@redhat.com>

4a3f69c1 22-Feb-2017 Dave Barach <dave@barachs.net>

Fix vpp built-in version of api_unformat_sw_if_index(...)

Change-Id: I103fe19a1ecbaf3746ec6b957fa1010458cc9fae
Signed-off-by: Dave Barach <dave@barachs.net>

22dc9df3 23-Feb-2017 Filip Tehlar <ftehlar@cisco.com>

Remove prints from LISP test

Change-Id: I2776e0a0661794b1c0076519b08807080a1282fb
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>

def19da0 22-Feb-2017 Dave Barach <dave@barachs.net>

Clean up "binary-api" help string, arg parse bugs

Change-Id: I12311be8ebd376b8aeac25364d010d70a85c7874
Signed-off-by: Dave Barach <dave@barachs.net>

974cdc6f 22-Feb-2017 Filip Tehlar <ftehlar@cisco.com>

Fix LISP and ONE crc marcos

Change-Id: Icd0dba04d8929456228136d1f25c459bffcc6a7a
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>

04f8d3fe 22-Feb-2017 Anlu Yan <ayan@cisco.com>

Support multiple plugin build in the sample-plugin

This follows the setup in the src/plugins directory, and allows
multiple plugin build independent of the main vpp source tree.

Change-Id: I9e20f4087d72ad89c6dc3f505bace4628385a40e
Signed-off-by: Anlu Yan <ayan@cisco.com>

a9a20e7f 15-Feb-2017 Billy McFall <bmcfall@redhat.com>

VPP-635: CLI Memory leak with invalid parameter

In the CLI parsing, below is a common pattern:
/* Get a line of input. */
if (!unformat_user (input, unformat_line_input, line_input))
return 0;

while (unformat_check_input (line_input) != UNFORMAT_END_OF_INPUT)
{
if (unformat (line_input, "x"))
x = 1;
:
else
return clib_error_return (0, "unknown input `%U'",
format_unformat_error, line_input);
}
unformat_free (line_input);

The 'else' returns if an unknown string is encountered. There a memory
leak because the 'unformat_free(line_input)' is not called. There is a
large number of instances of this pattern.

Replaced the previous pattern with:
/* Get a line of input. */
if (!unformat_user (input, unformat_line_input, line_input))
return 0;

while (unformat_check_input (line_input) != UNFORMAT_END_OF_INPUT)
{
if (unformat (line_input, "x"))
x = 1;
:
else
{
error = clib_error_return (0, "unknown input `%U'",
format_unformat_error, line_input);
goto done:
}
}

/* ...Remaining code... */

done:
unformat_free (line_input);
return error;
}

In multiple files, 'unformat_free (line_input);' was never called, so
there was a memory leak whether an invalid string was entered or not.

Also, there were multiple instance where:
error = clib_error_return (0, "unknown input `%U'",
format_unformat_error, line_input);
used 'input' as the last parameter instead of 'line_input'. The result
is that output did not contain the substring in error, instead just an
empty string. Fixed all of those as well.

There are a lot of file, and very mind numbing work, so tried to keep
it to a pattern to avoid mistakes.

Change-Id: I8902f0c32a47dd7fb3bb3471a89818571702f1d2
Signed-off-by: Billy McFall <bmcfall@redhat.com>
Signed-off-by: Dave Barach <dave@barachs.net>

2291a360 20-Feb-2017 Marek Gradzki <mgradzki@cisco.com>

jvpp: remove unnecessary msg_id_base caching

Jvpp code uses CRCs to obtain msg IDs.

Checking api_main_t.msg_index_by_name_and_crc is
enough to detect API mismatch.
Calling vl_client_get_first_plugin_msg_id is not needed.

Also fixes VPP-627.

Change-Id: Ie3085dfa458795fa11f17615ac94e76197a1c8cd
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>

2dd6852d 16-Feb-2017 Neale Ranns <nranns@cisco.com>

Consolidate DHCP v4 and V6 implementation. No functional change intended

The DHCP proxy and VSS information maintained by VPP is the same for v4 and v6, so we can manage this state using the same code.
Packet handling is cleary different, so this is kept separate.

Change-Id: I10f10cc1f7f19debcd4c4b099c6de64e56bb0c69
Signed-off-by: Neale Ranns <nranns@cisco.com>

c8c5335e 17-Feb-2017 Dave Wallace <dwallacelf@gmail.com>

Add ref to test framework docs in doxygen output.

Change-Id: If3081c4a9dde00cd522d1fc5a7daa9b1849684bf
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>

2d41f169 22-Feb-2017 Matus Fabian <matfabia@cisco.com>

fix trace frame-queue unformat of index

Change-Id: Id891af5ef3c4afe877282b34cd03fc43886940a3
Signed-off-by: Matus Fabian <matfabia@cisco.com>

954898f9 22-Feb-2017 Florin Coras <fcoras@cisco.com>

Fix last run time update for timer wheel

Change-Id: I9ac04b15440297c154ed1e3fba888915044cb245
Signed-off-by: Florin Coras <fcoras@cisco.com>

d4560207 21-Feb-2017 Jon Loeliger <jdl@netgate.com>

Repair SNAT's IPFIX and IF-add-del test functions.

Inspection shows that the names of two functions:
api_snat_ipfix_enable_disable()
api_snat_add_del_interface_addr()
don't match their bodies and have been swapped.
Make the world right again by swapping them to match.

Change-Id: Ieefd7f0fdbf52794e8649b0cbbcf6e1403c1b90a
Signed-off-by: Jon Loeliger <jdl@netgate.com>

694396dc 17-Feb-2017 Filip Tehlar <ftehlar@cisco.com>

Add Overlay Network Engine API

Change-Id: I6b5984df176688f0722a2888e73f05d8ed8b9310
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>

20a175a1 14-Feb-2017 Neale Ranns <nranns@cisco.com>

dhcp: multiple additions

DHCP additions:
1) DHCPv4 will only relay a message back to the client, if the Option82 information is present. So make this the default.
2) It is no longer possible to select via the API to "insert circuit ID" - since this is now default
3) Remove the version 2 API since it's now the same as version 1.
4) Adding the VSS option is now conditional only on the presence of VSS config (not the 'insert' option in the set API)
5) DHCP proxy dump via API

Change-Id: Ia7271ba8c1d4dbf34a02c401d268ccfbb1b74f17
Signed-off-by: Neale Ranns <nranns@cisco.com>

2e3677bb 20-Feb-2017 Radu Nicolau <radu.nicolau@intel.com>

cryptodev: Automatically download and build ISA-L Crypto library

Change-Id: I5454053461e6fb98e7f58f9562efde3590bb7cb5
Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>

770e89e6 31-Jan-2017 Filip Tehlar <ftehlar@cisco.com>

Add basic 4o4 LISP unit test

Change-Id: I2d812153d7afe7980346382b525af89b3c47e796
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>

057bb8c3 20-Dec-2016 Jan Gelety <jgelety@cisco.com>

test: ip6 vrf instances multi-context test (CSIT-497)

- add/delete IPv6 VRF instances and verify results by parsing output
of ip6_fib_dump API command and by traffic

- small changes in assert_nothing_captured and get_capture to get logged
unexpected packets

Change-Id: I32207447be2df942e335aa9890ff52fb88e46597
Signed-off-by: Jan Gelety <jgelety@cisco.com>

82786c41 20-Feb-2017 Filip Tehlar <ftehlar@cisco.com>

Rename LISP GPE API to GPE

Change-Id: I133c55bce46d40ffddabbbf8626cbd3d072522d4
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>

65e84578 16-Jan-2017 Pavel Kotucek <pkotucek@cisco.com>

VPP-540 : pbb tag rewrite details

Extended sw_interface_dump to provide 802.1ah (pbb) tag rewrite info if
present.

Extended log "l2-output" to provide raw data to display result of
prospetive pbb tag rewrite. Tracing is moved after l2output_vtr to show
these changes.

Change-Id: I8b7cb865dc67ce21afab402cc086dac35f7c0f07
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>

9745aceb 19-Feb-2017 Jan Gelety <jgelety@cisco.com>

Update CSIT tests 170213 -> 170220

- update of CSIT operational branch to be used for VPP-patch test

Change-Id: I815b3ef67f1664f72f68984087413f4c4985f694
Signed-off-by: Jan Gelety <jgelety@cisco.com>

a8d9f30c 20-Feb-2017 Neale Ranns <nranns@cisco.com>

FIB reset leaves residual routes. Wrong API used to remove the routes meant the lock count on the entry did not drop to zero

Change-Id: I6e2dff8c3c7976fd1c2e4c5258f5dc73123aa9b7
Signed-off-by: Neale Ranns <nranns@cisco.com>

38206ee7 20-Feb-2017 Filip Tehlar <ftehlar@cisco.com>

LISP: don't show PITR generated mapping in dump call

Change-Id: Iecba818ccf74a4d34e35d498e6f6a1d3c62419f4
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>

6ca42d33 16-Feb-2017 Radu Nicolau <radu.nicolau@intel.com>

dpdk: updated build to automatically download Intel(R) Multi-Buffer Crypto for IPsec Library

Change-Id: I58182edb7b0d314bb6dfa1daf7b00012196fd3e1
Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>

52456fca 15-Feb-2017 Neale Ranns <nranns@cisco.com>

CLI extension to add multiple (S,G)s at once and time it

Change-Id: Id17060fd0e8ac80c8cf1999b0b82d0241b3b969a
Signed-off-by: Neale Ranns <nranns@cisco.com>

5a8123bd 26-Jan-2017 Neale Ranns <nranns@cisco.com>

Python test IP and MPLS objects conform to infra.
Add IP[46] MFIB dump.

Change-Id: I4a2821f65e67a5416b291e4912c84f64989883b8
Signed-off-by: Neale Ranns <nranns@cisco.com>

90c55724 16-Feb-2017 Dave Wallace <dwallacelf@gmail.com>

make test: save + dump VPP api trace log; VPP-640

Change-Id: I20aacc927f2b04f42b0a7220c4283560b4d2a359
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>

6cfc39c3 14-Feb-2017 Neale Ranns <nranns@cisco.com>

Remove duplicate ip6 get interface address code

Change-Id: I5e0057b36bc4221e688a27fc1c0f602f78132991
Signed-off-by: Neale Ranns <nranns@cisco.com>

c48829bb 14-Feb-2017 Klement Sekera <ksekera@cisco.com>

BFD: put session admin-up/admin-down

Change-Id: I7d8889dce8495607106593ad83320c9af0f2fa07
Signed-off-by: Klement Sekera <ksekera@cisco.com>

cb33dc2d 16-Feb-2017 Radu Nicolau <radu.nicolau@intel.com>

Implemented IKEv2 initiator features:
- IKE_SA_INIT and IKE_AUTH initial exchanges
- Delete IKA SA
- Rekey and delete Child SA
- Child SAs lifetime policy

To set up one VPP instance as the initiator use the following CLI commands (or API equivalents):

ikev2 profile set <id> responder <interface> <addr>
ikev2 profile set <id> ike-crypto-alg <crypto alg> <key size> ike-integ-alg <integ alg> ike-dh <dh type>
ikev2 profile set <id> esp-crypto-alg <crypto alg> <key size> esp-integ-alg <integ alg> esp-dh <dh type>
ikev2 profile set <id> sa-lifetime <seconds> <jitter> <handover> <max bytes>

and finally
ikev2 initiate sa-init <profile id> to initiate the IKE_SA_INIT exchange

Child SA re-keying process:
1. Child SA expires
2. A new Child SA is created using the Child SA rekey exchange
3. For a set time both SAs are alive
4. After the set time interval expires old SA is deleted

Any additional settings will not be carried over (i.e. settings of the ipsec<x> interface associated with the Child SA)

CLI API additions:
ikev2 profile set <id> responder <interface> <addr>
ikev2 profile set <id> ike-crypto-alg <crypto alg> <key size> ike-integ-alg <integ alg> ike-dh <dh type>
ikev2 profile set <id> esp-crypto-alg <crypto alg> <key size> esp-integ-alg <integ alg> esp-dh <dh type>
ikev2 profile set <id> sa-lifetime <seconds> <jitter> <handover> <max bytes>
ikev2 initiate sa-init <profile id>
ikev2 initiate del-child-sa <child sa ispi>
ikev2 initiate del-sa <sa ispi>
ikev2 initiate rekey-child-sa <profile id> <child sa ispi>

Sample configurations:

Responder:
ikev2 profile add pr1
ikev2 profile set pr1 auth shared-key-mic string Vpp123
ikev2 profile set pr1 id local fqdn vpp.home.responder
ikev2 profile set pr1 id remote fqdn vpp.home.initiator
ikev2 profile set pr1 traffic-selector remote ip-range 192.168.125.0 - 192.168.125.255 port-range 0 - 65535 protocol 0
ikev2 profile set pr1 traffic-selector local ip-range 192.168.124.0 - 192.168.124.255 port-range 0 - 65535 protocol 0

Initiator:
ikev2 profile add pr1
ikev2 profile set pr1 auth shared-key-mic string Vpp123
ikev2 profile set pr1 id local fqdn vpp.home.initiator
ikev2 profile set pr1 id remote fqdn vpp.home.responder
ikev2 profile set pr1 traffic-selector local ip-range 192.168.125.0 - 192.168.125.255 port-range 0 - 65535 protocol 0
ikev2 profile set pr1 traffic-selector remote ip-range 192.168.124.0 - 192.168.124.255 port-range 0 - 65535 protocol 0
ikev2 profile set pr1 responder TenGigabitEthernet3/0/1 192.168.40.20
ikev2 profile set pr1 ike-crypto-alg aes-cbc 192 ike-integ-alg sha1-96 ike-dh modp-2048
ikev2 profile set pr1 esp-crypto-alg aes-cbc 192 esp-integ-alg sha1-96 esp-dh ecp-256
ikev2 profile set pr1 sa-lifetime 3600 10 5 0

Change-Id: I1db9084dc787129ea61298223fb7585a6f7eaf9e
Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>

665e482f 17-Feb-2017 Juraj Sloboda <jsloboda@cisco.com>

Fix handling of ping to SNAT out interface

Change-Id: I322bfb3469b3d0d5b0cac39a6c2dba1c6f83ce3d
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>

52a047a8 16-Feb-2017 Radu Nicolau <radu.nicolau@intel.com>

ipsec: changed ipsec-input-ip6 node to be a sibling of ipsec-input-ip4, fixes a problem that occurs with cryptodev ipv6 input.

Change-Id: I1f0c0db45b2aabc243dd785c8d5d5ef990cac903
Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>

681abe46 15-Feb-2017 Dave Barach <dave@barachs.net>

l2 input: avoid per-packet trace checks in the fast path

Change-Id: Ib0c8572773499d8dd4d81b3a565c24412ccc3510
Signed-off-by: Dave Barach <dave@barachs.net>

6e9cf3b9 16-Feb-2017 Dave Wallace <dwallacelf@gmail.com>

Fix comment for num-mbufs default in startup.conf

Change-Id: I8bb175cc9673895d4a8856786ecabfd66dd906e9
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>

5d81f452 16-Feb-2017 Damjan Marion <damarion@cisco.com>

dpdk: quad loop and prefetch in fill_free_list

Change-Id: I19ec3b769b6512f7408044751393d9faf10d01d5
Signed-off-by: Damjan Marion <damarion@cisco.com>

4983e47c 16-Feb-2017 Damjan Marion <damarion@cisco.com>

dpdk: bump to DPDK 17.02

Change-Id: I4563208d97c43a200fcee948db491706a8d3e211
Signed-off-by: Damjan Marion <damarion@cisco.com>

7be8a882 16-Feb-2017 Damjan Marion <damarion@cisco.com>

ioam: declare export_node instead of defining it in header file

Change-Id: Ib1760312df759c29a2c2220e7b783af311d91d1a
Signed-off-by: Damjan Marion <damarion@cisco.com>

d65c18d8 16-Feb-2017 Damjan Marion <damarion@cisco.com>

api: remove debug print in api_main_init

Change-Id: I8f5cf447c131a790e4bbd46ef75063329fec7451
Signed-off-by: Damjan Marion <damarion@cisco.com>

83ed1f4f 15-Feb-2017 Gabriel Ganne <gabriel.ganne@enea.com>

tw_timer_expire_timers() - add a maximum to the number of expiration per call

The idea is to prevent a huge processing burst if, say, the network goes
down 10' for some reason, and so that we don't need to expire 1M timer
sessions on the first call.

The maximum is not an exact value, but a value after which the
expiration process is postponed until the next call.
That way, we don't have to process the same tick twice, nor to unlink
timers once at a time when processing a tick.
The fact that a timer slot could contain many entries should be dealt
with by changing the number of ticks per second.

Change-Id: I892d07f965094102a3d53e7dbf4e6f5ad22d4967
Signed-off-by: Gabriel Ganne <gabriel.ganne@enea.com>

b69111e1 14-Feb-2017 Florin Coras <fcoras@cisco.com>

Add NSH load-balance and drop DPO

Also adds missing gpe nsh address type functions.

Change-Id: I3353a23c0518da9ce3b221ddf8c5bd0364930154
Signed-off-by: Florin Coras <fcoras@cisco.com>

6085e16d 15-Feb-2017 Florin Coras <fcoras@cisco.com>

Fix NSH-LISP interface addition

Change-Id: I3925d2ebb2d26c676fc61f118d25bdf7fd522f26
Signed-off-by: Florin Coras <fcoras@cisco.com>

7bc73104 14-Feb-2017 Wojciech Dec <wdec@cisco.com>

Fix crash on deleting previously activated IPv6 interface - VPP-636

RADV Pool index was not getting updated

Change-Id: I2d2f14c56f51034d39049d1c7e13c248180a865f
Signed-off-by: Wojciech Dec <wdec@cisco.com>

a4cb12b3 15-Feb-2017 Anlu Yan <ayan@cisco.com>

Fix sample plugin breakage.

Add vat_helper_macros.h to be installed in /usr/include/vlibapi
Define a version for the sample plugin (separate from the VPP versioning).
Hook up vnet_main in plugin init.

Change-Id: I293b9dc824d0813ea2bb8747d535e4210a88b385
Signed-off-by: Anlu Yan <ayan@cisco.com>

b33f413a 09-Feb-2017 Juraj Sloboda <jsloboda@cisco.com>

Add handling of ICMP error packets in SNAT (VPP-629)

Change-Id: I8d2022b7cb3ef3da736c085bccbb5b9c057a8d76
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>

205e934e 15-Feb-2017 Billy McFall <bmcfall@redhat.com>

VPP-638: 'set interface ipsec key garbage' causes infinite loop

In the CLI parsing of 'set interface ipsec key garbage', the token
'garbage' enters the processing code for the <key>. This enters
unformat_hex_string(..) which looks through the input for 0-9,a-f and
drops out if a non-hex digit is encountered. The problem is that it
returns 1, indicating that input has been processed, but in this case,
no characters have been removed from the input string. This causes the
calling function to go to the top of the loop and process the next
token, which is now the same token and gets stuck in an infinite loop.

Updated unformat_hex_string(..) to return 0 if no characters were
processed.

This funcitons is used in multiple CLI Commands, but most have token
that preceeds the hex string. Since the token is stripped, the CLI
command is able to avoid an infinte loop.

Change-Id: Ib54f04f23c4d3563ec57a2450982d3648cedec0e
Signed-off-by: Billy McFall <bmcfall@redhat.com>

613c79f8 15-Feb-2017 Gabriel Ganne <gabriel.ganne@enea.com>

add tw_timer_template.c to vpp devel packages

Change-Id: Ia25a8827ed94877e8fe6c0b2ff6d05c1568eb0e1
Signed-off-by: Gabriel Ganne <gabriel.ganne@enea.com>

581b072b 13-Feb-2017 Gabriel Ganne <gabriel.ganne@enea.com>

tw_timer_expire_timers() return the number of expirations

to be used for node statistics

Also fix tw_timer_stop() description

Change-Id: I84b529e330c4534fd55487e7e2b8b089ee68ca11
Signed-off-by: Gabriel Ganne <gabriel.ganne@enea.com>

272c69eb 15-Feb-2017 Filip Tehlar <ftehlar@cisco.com>

LISP: minor enhacements

* use RLOC for IP version detection
* don't check whether RLOC is local when deleting

Change-Id: Icdb84025dd5511eb5348b654bf7b373def15406c
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>

f3fe820f 15-Feb-2017 Filip Tehlar <ftehlar@cisco.com>

LISP: fix deleting src/dst entry from GID dictionary

Change-Id: Ic674cc953b45ddd4811e07821e1a0af28b5f6214
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>

e22e546f 15-Feb-2017 Matus Fabian <matfabia@cisco.com>

SNAT: add static mappings with unresolved external interface address to snat_static_mapping_dump

Change-Id: Ib560b397700fe058ad1e2970989d98e3debf54aa
Signed-off-by: Matus Fabian <matfabia@cisco.com>

aeeac3bf 14-Feb-2017 Klement Sekera <ksekera@cisco.com>

BFD: loop back echo packets

Change-Id: I772b63ac25ebfccaff9ab9d8d0b1445e85f21df7
Signed-off-by: Klement Sekera <ksekera@cisco.com>

12ba2521 15-Feb-2017 Juraj Sloboda <jsloboda@cisco.com>

Fix bug in definition of tcp_header_t

Change-Id: Ic814b805ef77913ffe86f82c009602c75258acfb
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>

33e2dc07 10-Feb-2017 Billy McFall <bmcfall@redhat.com>

VPP-279: Document changes for vnet/vnet/devices

Add doxygen documentation for pcap tx trace CLI command.

In the process of adding the documentation, made the following changes
to the way the command worked:
* If there is an error with any of the attributes, the whole command
fails. The existing behavior was to apply attribute by attribute,
then bail if there was an issue, with partial apply.
* Move the 'on' processing to the end. The existing behavior was to
process the 'on' as it was encountered on the commandline. That meant
that any attributes after the 'on' in the commandline were saved and
displayed, but not really being used in the packet trace.
* Enhanced the 'status' to show all the configured attributes.

NOTE: The packet capture has some weird behavior with regards to how
many packets are written to file and if the file is appended or
overwritten. VPP-634 written to document the issue.

Change-Id: Iab241228b125385052de242865afd9515fa2524f
Signed-off-by: Billy McFall <bmcfall@redhat.com>

d3ba515d 14-Feb-2017 Klement Sekera <ksekera@cisco.com>

BFD: respect remote demand mode

Change-Id: I5063d31f5305c848043afb32fcacff6e61aed79f
Signed-off-by: Klement Sekera <ksekera@cisco.com>

acb9b8e8 14-Feb-2017 Klement Sekera <ksekera@cisco.com>

make test: improve stability

Disable automatic garbage collection and run it manually before
running each test case to minimize stalls. Improve vpp subprocess
cleanup. Reduce helper thread count to one and properly clean that
thread once it's not needed.

Change-Id: I3ea78ed9628552b5ef3ff29cc7bcf2d3fc42f2c3
Signed-off-by: Klement Sekera <ksekera@cisco.com>

2bce0332 09-Feb-2017 Klement Sekera <ksekera@cisco.com>

BFD: set per session UDP source port per RFC

Change-Id: Id294dbbd6499ae8221cc8143e1027adc08866ae6
Signed-off-by: Klement Sekera <ksekera@cisco.com>

b05f1f02 14-Feb-2017 Shwetha Bhandari <shwethab@cisco.com>

Fix coverity issues: ioam

Change-Id: I0963760a7da95612d5cab19596919b369a4d0f8e
Signed-off-by: Shwetha Bhandari <shwethab@cisco.com>

0578cd1c 13-Feb-2017 Marek Gradzki <mgradzki@cisco.com>

Fix is_server flag in vhost dump (VPP-562)

Change-Id: I5b308eb39ae770d58d1498d7fafa49b236b3f534
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>

f95b37eb 13-Feb-2017 Jon Loeliger <jdl@netgate.com>

Fix typo in API warning message.

Change-Id: I51488620a7eeaf7a0edba71437d2b49ae3cf0bf5
Signed-off-by: Jon Loeliger <jdl@netgate.com>

0b49e2be 09-Feb-2017 Damjan Marion <damarion@cisco.com>

vhost-user: fix crash when descriptor points to unknown region

This happens only on when compiled for older microarchitectures,
where BSF insutruction is used instead of TZCNT. BSF provides
undefined result if operand is 0.

Change-Id: I7a13350786a533428168595097ef01a560fde53b
Signed-off-by: Damjan Marion <damarion@cisco.com>

3495cb6d 13-Feb-2017 Jan Gelety <jgelety@cisco.com>

Update CSIT tests 170129 -> 170213

- update of CSIT operational branch to be used for VPP-patch test

Change-Id: I43cc99ea3ad6266b4792a7721968de89b7328306
Signed-off-by: Jan Gelety <jgelety@cisco.com>

0f438df9 10-Feb-2017 AkshayaNadahalli <anadahal@cisco.com>

Out-of-tree Build Error fix

File vnet/fib/fib_urpf_list.h was included in vnet/fib/ip6_fib.h but was
exported to be installed in /usr/include/vnet. So out-of-tree builds
relying on an installed package was failing.
Fix is to inlcude fib_urpf_list.h in source file rather than including
it in header file.

Change-Id: Iae39c1d9417dbd31ee67fa1bd2d1915d5e813c73
Signed-off-by: AkshayaNadahalli <anadahal@cisco.com>

466f0d46 09-Feb-2017 Jon Loeliger <jdl@netgate.com>

Augment IP_DETAILS, IP_ADDRESS_DETAILS with a few context fields.

When handling the IP_DETAILS and IP_ADDRESS_DETAILS replies,
it is almost certainly going to require having both the is_ipv6
and sw_if_index context to handle them properly. Placing these
values in an essentially global location as the current VAT does
isn't thread-safe. Fruthermore, rather than forcing every
API user to hoop-jump to establish these context values, simply
provide them in their DETAILS reply messages.

Change-Id: I6a9e0cb16ecdbf87fca8fc5c7663e98d3a53c26c
Signed-off-by: Jon Loeliger <jdl@netgate.com>

ce1b4c7f 26-Jan-2017 Florin Coras <fcoras@cisco.com>

Basic support for LISP-GPE encapsulated NSH packets

Change-Id: I97fedb0f70dd18ed9bbe985407cc5fe714e8a2e2
Signed-off-by: Florin Coras <fcoras@cisco.com>

fdd81af6 01-Dec-2016 AkshayaNadahalli <anadahal@cisco.com>

VPP-632 : InBand OAM Analyser

Refer to jira ticket for more details.

Change-Id: I6facb9ef8553a21464f9a2e612706f152badbb68
Signed-off-by: AkshayaNadahalli <anadahal@cisco.com>

fed79e83 10-Feb-2017 Dave Barach <dave@barachs.net>

Update plugin templates

Disguise the string "fd.io coding-style blah blah blah" to avoid spurious
checkstyle failures on the emacs lisp code. DGMS.

Change-Id: I6b88d9588dff7d67c6e509052ae4f32529684de7
Signed-off-by: Dave Barach <dave@barachs.net>

b91017a3 09-Feb-2017 Klement Sekera <ksekera@cisco.com>

make test: work around scapy truncated packets

Under stress, it's possible to hit a race condition, when the packet
header is fully written to pcap, but not all packet data - yet.
Scapy is stupid enough to:
1. not detect and report this error, truncating the packet instead
2. continue munching more data from wrong offset
The work around is to scan the file ahead, parse the packet header,
figure out how much data we need, wait for the file to be big
enough, then restore the file position back to where it was
and finally let scapy parse the packet.

Change-Id: I9fc71d3ebdc62ecab6c90b90f177d0eaeb09b8bb
Signed-off-by: Klement Sekera <ksekera@cisco.com>

c756c1c7 08-Feb-2017 Neale Ranns <nranns@cisco.com>

Improve MFIB doxygen help

Change-Id: Ie490b7fd5238cbad23f0199161cc14324fd9c554
Signed-off-by: Neale Ranns <nranns@cisco.com>

6f96649d 08-Feb-2017 Klement Sekera <ksekera@cisco.com>

BFD: minor fixes

Change-Id: I1c93f96a752eb2ffd1117a656552131cde1fa489
Signed-off-by: Klement Sekera <ksekera@cisco.com>

7fce133c 07-Feb-2017 Klement Sekera <ksekera@cisco.com>

make test: BFD tests speedup

Change-Id: I0b3064a311f28ebf7cd9db0a59cb04c7c25c9d58
Signed-off-by: Klement Sekera <ksekera@cisco.com>

a57a9709 02-Feb-2017 Klement Sekera <ksekera@cisco.com>

BFD: modify session parameters

Change-Id: I666e5c0cc71a3693640960c93cdd1907f84fbe23
Signed-off-by: Klement Sekera <ksekera@cisco.com>

8ea6d715 07-Feb-2017 AkshayaNadahalli <anadahal@cisco.com>

Fix source address reachability check for ip6 local packets

Currently ip6 local check fails with error - source lookup miss if
route to source of packet is over a dpo object such as load balance -
recurssive route, tunnel adj - GRE, SR etc.
So unless packet source is of a directly connected neibhor or has
route with both interface and nexthop specified, it will be dropped.
Fix is to check urpf list and if at least one link exists in the list,
then allow packets to be processed, else drop.

Change-Id: Id426311bb63bab506754a79409c602fdb6d0f190
Signed-off-by: AkshayaNadahalli <anadahal@cisco.com>

e4ad8cce 07-Feb-2017 Ole Troan <ot@cisco.com>

VPP-630: Null pointer dereferences in vlib/unix/plugin.c

Change-Id: Iafb071c684a43e21925e3a43019cd86372347898
Signed-off-by: Ole Troan <ot@cisco.com>

78edb8e7 06-Feb-2017 Damjan Marion <damarion@cisco.com>

Multiple platofrm support for dpdk/Makefile, fix optimizations

Using -march=native was causing SIGILLs on Atoms.

Change-Id: I98c7fdaa139e3db70c972950dc9c167bf5803656
Signed-off-by: Damjan Marion <damarion@cisco.com>

6fa5568f 07-Feb-2017 Filip Tehlar <ftehlar@cisco.com>

Fix M(), M2() macros in VAT

Change-Id: I76593632cde97f7cb80bbc395735404f39f3bd3f
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>

a6bce494 03-Feb-2017 Filip Tehlar <ftehlar@cisco.com>

LISP: reject remote mappings that have as locators local IPs

Change-Id: Ifaf46554e45557ebf82009d9c46a9e905a46f884
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>

614ac5da 06-Feb-2017 Dave Barach <dave@barachs.net>

Add pool_get[_aligned]_will_expand(...)

Change-Id: Iefffcf7843dc11803d69a875a72704a2543911a1
Signed-off-by: Dave Barach <dave@barachs.net>

104543fa 03-Feb-2017 Klement Sekera <ksekera@cisco.com>

make test: improve test filtering

Implement fine-grained test filtering by supporting more complicated
filters beside the original file name suffix filter.

Change-Id: If5a166d08cffe8c58cc6cf174e6df861c34dbaa6
Signed-off-by: Klement Sekera <ksekera@cisco.com>

bd69a5f2 05-Feb-2017 Damjan Marion <damarion@cisco.com>

vlib: remove algned/unaligned buffers scheme

Change-Id: I4433eaed3f4e201edc329c4842cbbf74beb19a9a
Signed-off-by: Damjan Marion <damarion@cisco.com>

63205141 03-Feb-2017 Klement Sekera <ksekera@cisco.com>

make test: fix dependencies

checkstyle - doesn't need scapy/pexpect, remove it
doc - scapy wasn't patched properly, fix it

Change-Id: I65202cb14edeb239d21ce10f17d9b4fccce43d62
Signed-off-by: Klement Sekera <ksekera@cisco.com>

b449f48b 06-Feb-2017 Matus Fabian <matfabia@cisco.com>

SNAT: fix snat_add_static_mapping_command() uninitialized variable

Change-Id: I7775dd3b90d5a3449650c3102e24bfedd770beb1
Signed-off-by: Matus Fabian <matfabia@cisco.com>

31c31aa3 06-Feb-2017 Matus Fabian <matfabia@cisco.com>

SNAT: initialize outside and inside FIB index in snat_config

Change-Id: If26d758997d71792cedad1afae8d6a38cfd364ac
Signed-off-by: Matus Fabian <matfabia@cisco.com>

71d73fe8 04-Feb-2017 Gabriel Ganne <gabriel.ganne@enea.com>

fix some 'stored but never read' warnings raised by clang

found by `scan-build make plugins-release`

Signed-off-by: Gabriel Ganne <gabriel.ganne@enea.com>
Change-Id: I52048e3a8ae3fb85eb3d91f6a5e15216dd7b9baa

8e8f98c9 03-Feb-2017 Dave Barach <dave@barachs.net>

Wheel-timer infra

Change-Id: I5499dd6b768425a56936afae50bd578620c83d30
Signed-off-by: Dave Barach <dave@barachs.net>

aaa396ac 05-Feb-2017 Neale Ranns <nranns@cisco.com>

Test checksyle for IP mcast tests

Change-Id: I20b61b7e63f74b4656d84717633e06646514c5eb
Signed-off-by: Neale Ranns <nranns@cisco.com>

d0f673ee 31-Jan-2017 Damjan Marion <damarion@cisco.com>

dpdk: move to uio_pci_generic

Change-Id: I3d8b7947ae6d721e9b514a59a7d2de49aed419b5
Signed-off-by: Damjan Marion <damarion@cisco.com>

bfe4dfa7 03-Feb-2017 Damjan Marion <damarion@cisco.com>

pg: add trace information for pg tx node

Change-Id: I31730d58c34331f25f5b02cd065be94251f1302c
Signed-off-by: Damjan Marion <damarion@cisco.com>

62411e7d 03-Feb-2017 Steven <sluong@cisco.com>

vhost-user: fix missing speculative enqueue unwind

Running trex in a VM with a bad config, trex sent a bogus pack from
the VM to the Virtual interface. It caused a crash.

Change-Id: I64d0197b444265553ab4c24f21e6a962e89cb587
Signed-off-by: Steven <sluong@cisco.com>

e0cb0cce 03-Feb-2017 Matej Klotton <mklotton@cisco.com>

Fix CLI help message for set ip address

Change-Id: Ie39bb26a9aea88cf2768ec537adcdd8df1de3be0
Signed-off-by: Matej Klotton <mklotton@cisco.com>

5737d88f 03-Feb-2017 Neale Ranns <nranns@cisco.com>

pep8 compliance for test_ip6.py

Change-Id: If29a1eba3e7056903978de782c062589bec0137e
Signed-off-by: Neale Ranns <nranns@cisco.com>

9bea8fb0 03-Feb-2017 Neale Ranns <nranns@cisco.com>

Next node frame over-flow after replication

Change-Id: I25077dd0739787de4f7512e5a70a62e8c34c28e4
Signed-off-by: Neale Ranns <nranns@cisco.com>

3b46cba8 23-Jan-2017 Damjan Marion <damarion@cisco.com>

Plugin infrastructure improvements

This patch replaces requirement for vlib_plugin_register function
in the plugin so file and introduces new macro:

VLIB_PLUGIN_REGISTER () = {
.version = "version string",
.version_required = "requred version",
.default_disabled = 1,
.early_init = "early_init_function_name",
};

Plugin will nor be loaded if .default_disabled is set to 1
unless explicitely enabled in startup.conf.

If .verstion_required is set, plugin will not be loaded if there
is version mismatch between plugin and vpp. This can be bypassed
by setting "skip-version-check" for specific plugin.

If .early-init string is present, plugin loader will try to resolve
this specific symbol in the plugin namespace and make a function call.

Following startup.conf configuration is added:

plugins {
path /path/to/plugin/directory
plugin ila_plugin.so { enable skip-version-check }
plugin acl_plugin.so { disable }
}

Change-Id: I706c691dd34d94ffe9e02b59831af8859a95f061
Signed-off-by: Damjan Marion <damarion@cisco.com>

2ae991e2 03-Feb-2017 Matus Fabian <matfabia@cisco.com>

SNAT: fix invalid outside FIB index

Change-Id: Ia5d3d81cbc2ef85fabf9e19c89a52c589a921d14
Signed-off-by: Matus Fabian <matfabia@cisco.com>

09d96f4a 02-Feb-2017 Matus Fabian <matfabia@cisco.com>

SNAT: Port allocation per protocol

Ports are allocated per protocol (UDP, TCP, ICMP)
1:1 NAT with port is configured for specific protocol

Change-Id: I37ae5eed3715b223d0620d4fdaed7a482bb7a834
Signed-off-by: Matus Fabian <matfabia@cisco.com>

85bb9172 02-Feb-2017 Marco Varlese <marco.varlese@suse.com>

Added support for openSUSE

Change-Id: I64a0eeaa066adb70dfaeb33641d0336ddac18cf0
Signed-off-by: Marco Varlese <marco.varlese@suse.com>

2d23eca3 01-Feb-2017 Jon Loeliger <jdl@netgate.com>

Remove unnecessary block structure around CONTROL_PING messages.

Now that the M() and S() macros accept a message parameter, there
is no longer a need to introduce a new block structure around the
CONTROL_PING messages just to have a new unbound "mp" variable.
Instead, just use one named "mp_ping" directly.

Change-Id: I6b283562bb6eec25806e3d35c35b977680ecd1dd
Signed-off-by: Jon Loeliger <jdl@netgate.com>

56c7b01e 01-Feb-2017 Jon Loeliger <jdl@netgate.com>

Refactor fragile msg macro W and W2 to not burry return control flow.

Instead, have them accept and assign a return paramter leaving
the return control flow up to the caller. Clean up otherwise
misleading returns present even after "NOT REACHED" comments.

Change-Id: I0861921f73ab65d55b95eabd27514f0129152723
Signed-off-by: Jon Loeliger <jdl@netgate.com>

1f9191f6 31-Jan-2017 Jon Loeliger <jdl@netgate.com>

Localize the timeout variable within the W message macro.

Rather than rely on an unbound variable, explicitly introduce
the timeout variable within the 'do { ... } while (0)' construct
as a block-local variable.

Change-Id: I6e78635290f9b5ab3f56b7f116c5fa762c88c9e9
Signed-off-by: Jon Loeliger <jdl@netgate.com>

7bc770ce 31-Jan-2017 Jon Loeliger <jdl@netgate.com>

Convert message macro S to accept a message pointer parameter;

Rather than blindly assume an unbound, fixed message parameter
explicilty pass it as a paramter to the S() macro.

Change-Id: Ieea1f1815cadd2eec7d9240408d69acdc3caa49a
Signed-off-by: Jon Loeliger <jdl@netgate.com>

614e97d8 31-Jan-2017 Jon Loeliger <jdl@netgate.com>

Convert M() and M2() macros to honor their second, mp, parameter.

Now that all the M() and M2() uses properly supply a message
pointer as second parameter, fix the macros to use it.

Change-Id: I0b8f4848416c3fa2e06755ad6ea7171b7c546124
Signed-off-by: Jon Loeliger <jdl@netgate.com>

8a2aea3f 31-Jan-2017 Jon Loeliger <jdl@netgate.com>

Ensure all M() and M2() second parameters are the message pointer.

Rather than maintain (?) an unused second parameter, t, and pull
an unbound message pointer, mp, out of context, explicitly list
the message pointer as the second parameter.

Change-Id: I92143efda6211cdf6b935470f8c71579742a6b64
Signed-off-by: Jon Loeliger <jdl@netgate.com>

a9374df5 02-Feb-2017 Neale Ranns <nranns@cisco.com>

Fix SR multicast post mfib commit
1 - use the SR policy to construct the replicate DPO. Each bucket therein is a SR tunnel.
2 - install a special mfib entry that links via this replicate
3 - forwarding is now mfib-lookup -> replicate -> sr_rewrite (per-tunnel)
no need for a separate sr_replicate node.
4 - Stack the sr tunnel on the forwarding DPO of the first-hop FIB entry.
no need for a second lookup post SR encap.
5 - fix some path-list lock leaks in the MFIB entry.

Change-Id: I20de96ea4c4be4fae252625bde159d9c435c8315
Signed-off-by: Neale Ranns <nranns@cisco.com>

ed0e49c5 27-Jan-2017 Dave Wallace <dwallacelf@gmail.com>

Update default Vagrant box to Ubuntu 16.04, VPP-616

- Make puppetlabs/ubuntu-16.04-64-nocm the default box
- Enable x11 forwarding
- Install x11-utils required for emacs to work over X11
- Refactor run.sh
- Add VPP_VAGRANT_POST_BUILD environment variable to
allow selection of installing VPP or run "make test".
- Fix dependencies in src/vppapigen.am

Change-Id: I0ec054fdc83feb71ca8396df53ed02bf82ecd7e7
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>

460bc633 31-Jan-2017 Steve Shin <jonshin@cisco.com>

ENIC driver patch to fix MAC address add and remove

The mac_addr_add callback function was simply replacing the primary MAC
address instead of adding new ones and the mac_addr_remove callback would
only remove the primary MAC form the adapter. Fix the functions to add or
remove new address. Allow up to 64 MAC addresses per port.

Change-Id: Ieff396ae27505c4c09f028911eff907757b03c7d
Signed-off-by: Steve Shin <jonshin@cisco.com>

b17dd960 09-Jan-2017 Klement Sekera <ksekera@cisco.com>

BFD: SHA1 authentication

Add authentication support to BFD feature. Out of three existing
authentication types, implement SHA1 (sole RFC requirement). Simple
password is insecure and MD5 is discouraged by the RFC, so ignore
those.
Add/change APIs to allow configuring BFD authentication keys
and their usage with BFD sessions.

Change-Id: Ifb0fb5b19c2e72196d84c1cde919bd4c074ea415
Signed-off-by: Klement Sekera <ksekera@cisco.com>

402ed312 18-Jan-2017 Klement Sekera <ksekera@cisco.com>

BFD: improve finding of ipv4/ipv6 headers

Avoid coverity warning and improve safety by declaring a helper
structure and working with it when searching for ip headers.
Make sure the content following IPv6 header is actually UDP before
parsing it. Bail out if unexpcted IPv6 header found ...

Change-Id: I1c6b9fd42d6fdae226f12c91c53c07a932b29522
Signed-off-by: Klement Sekera <ksekera@cisco.com>

ad623b1f 01-Feb-2017 Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>

dpdk: fix crypto coverity warning

Change-Id: I165b64fdc12dd2936df1958348e93b709ce0e784
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>

dccbee39 01-Feb-2017 Matus Fabian <matfabia@cisco.com>

SNAT: changed source for outbound address FIB entry (VPP-613)

Use FIB_SOURCE_PLUGIN_HI and modify ARP input to use non-source variants for
flags and resolving interface get.

Change-Id: I3bab76f36e0b1ee86e430a416099f1654e02740a
Signed-off-by: Matus Fabian <matfabia@cisco.com>

05a057bb 01-Feb-2017 Filip Tehlar <ftehlar@cisco.com>

LISP: enhance binary part of some APIs

Remote mapping and locator set binary APIs uses zero length arrays
defined as 'u8 array[0]' in .api file.
This path will change such cases to form 'type_t array[count];'
in order to enhance maintainability.

Change-Id: I98d0252b441020609c550d48186ed0d8338a3f2d
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>

a93ea428 01-Feb-2017 Eyal Bari <ebari@cisco.com>

VXLAN: further unify ip4/ip6 ctl plane handling

fix wrong udp error codes in decap ip6 handling

Change-Id: Ibf791a995128d38b31725c1ee67ec9d1c9dffca2
Signed-off-by: Eyal Bari <ebari@cisco.com>

eb82e7f2 02-Feb-2017 Ed Warnicke <eaw@cisco.com>

Fix issue with apt-get update not being run on Ubuntu 16.04

Change-Id: Ic05b86c4ea9b62afbf03a2a36c4a2ef45f5c140b
Signed-off-by: Ed Warnicke <eaw@cisco.com>

c5fccc0c 18-Jan-2017 Klement Sekera <ksekera@cisco.com>

BFD: reformat code to match vpp code style

Change-Id: I40deb8b40f5d3a96d2c0dcb400f489cd05a64348
Signed-off-by: Klement Sekera <ksekera@cisco.com>

3ad7704f 04-Jan-2017 Dave Barach <dave@barachs.net>

Prep work for Coverity upload processing via Jenkins

Change-Id: I2575d780d19e12ddf8a77e5596e5d7cc3dbf4233
Signed-off-by: Dave Barach <dave@barachs.net>

e1ae29a3 27-Jan-2017 Matus Fabian <matfabia@cisco.com>

SNAT: Add outbound addresses to FIB (VPP-613)

Add the external NAT address to the FIB as receive entries.
This ensures that VPP will reply to ARP for these addresses and we don't need
to enable proxy ARP on the outside interface.

Change-Id: I1db153373c43fec4808845449a17085509ca588c
Signed-off-by: Matus Fabian <matfabia@cisco.com>

d9b74a96 30-Jan-2017 Jan Gelety <jgelety@cisco.com>

Update CSIT tests 170122 -> 170129

- update of CSIT operational branch to be used for VPP-patch test

Change-Id: I8293091fda82de587cba0b3bd2f8490d74c001a5
Signed-off-by: Jan Gelety <jgelety@cisco.com>

3b145298 31-Jan-2017 Marek Gradzki <mgradzki@cisco.com>

jvpp: fix coverity warn: reliance on default encoding

Change-Id: I8333b7d19ebdacac5445b4505750dd0a46764b36
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>

0765c6e1 28-Jan-2017 Eyal Bari <ebari@cisco.com>

VXLAN: small changes for brevity

Change-Id: I9cfff0196845c6f1161848aa49442aa4df81b20e
Signed-off-by: Eyal Bari <ebari@cisco.com>

05b2bf2e 30-Jan-2017 Neale Ranns <nranns@cisco.com>

MFIB Coverity warnings. The lock macro is functionally equivalent but more expressive (and might appease coverity)

Change-Id: Ie3c9b2896a487a0302903bfbdd6348f6f091c67d
Signed-off-by: Neale Ranns <nranns@cisco.com>

676112f8 30-Jan-2017 Steve Shin <jonshin@cisco.com>

Bump up PKG_SUFFIX to vpp3

Change-Id: Ib5e95d5e5a3da5fb395b26177f7dd17e90afd69d
Signed-off-by: Steve Shin <jonshin@cisco.com>

2b81eb83 30-Jan-2017 John Lo <loj@cisco.com>

Add vxlan-bypass feature to IP6 forwarding path

Add vxlan-bypass feature which can be enabled on the IP6 underlay
interface which receive VXLAN packets to accelerate VXLAN decap
processing. The CLI to enable/disable it is:
set interface ip6 vxlan-bypass <interface> [del]
The vxlan-bypass feature is already supported on the IP4 underlay
interface. The CLI to enable/disable it is:
set interface ip vxlan-bypass <interface> [del]

Move vxlan-bypass API/CLI support code from decap.c to vxlan.c.
Also fixed two issues in the VXLAN decap path in the vxlan-input node:
1. Add verification of VXLAN packet FIB index with the encap-vrf-id
of the VXLAN tunnel.
2. Fix checking of VXLANoIPv6 packet mcast DIP against that of the
IP6 mcast VXLAN tunnel.

Change-Id: I2bad4074a468c48fbb8bb5ac64f6437190756ed2
Signed-off-by: John Lo <loj@cisco.com>

61459c9b 28-Jan-2017 Andrew Yourtchenko <ayourtch@gmail.com>

VPP-621: ping: ICMP echo data size must be bounded by VLIB_BUFFER_DATA_SIZE minus headers.

Before the commit 878c6098 the VLIB_BUFFER_DATA_SIZE was different depending
on whether building "vpp" or "vpp_lite", resulting in an overrun in vpp_lite build.
Avoid the hardcoded value and make the upper bound for ICMP echo data size
dependent on the buffer size.

Change-Id: Id6c4d7fc73766a95af2610eb237881b5fe9ce9aa
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>

d03798c4 30-Jan-2017 Steve Shin <jonshin@cisco.com>

This patch fixes a bug in replaying MAC address to the hardware
in rte_eth_dev_config_restore() routine. Added default MAC replay as well.

Fixes: 4bdefaade6d1 ("ethdev: VMDQ enhancements")

Change-Id: I646799477e9a6f2fdeff7a52a76d216ef91115e9
Signed-off-by: Steve Shin <jonshin@cisco.com>

3f903397 30-Jan-2017 Radu Nicolau <radu.nicolau@intel.com>

Fixed set int state up for ipsec interfaces

Change-Id: I2330cb7c2ba0f5eaeb4e7a4c3de4f22283d3923d
Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>

2743cc40 30-Jan-2017 Florin Coras <fcoras@cisco.com>

Fix LISP Coverity warnings

Change-Id: Iaca2ff453872e638ee83b11fc16472e44deb9a7e
Signed-off-by: Florin Coras <fcoras@cisco.com>

5842c78b 30-Jan-2017 Gabriel Ganne <gabriel.ganne@enea.com>

add vnet/util/radix.h to nobase_include_HEADERS list

header is included by ip6.h and should therefore be made public

Change-Id: Ieb7d14bb082d821c2f77e9204ec09d884fb2cb09
Signed-off-by: Gabriel Ganne <gabriel.ganne@enea.com>

5fae99c1 17-Jan-2017 Filip Tehlar <ftehlar@cisco.com>

LISP: add dump calls for GPE entries API

Change-Id: Ie7f51643fd3522a0fa8df8d0309305481c211f5f
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>

006eb478 27-Jan-2017 Burt Silverman <burtms@gmail.com>

Add files to CLEANFILES for robust make clean.

At the least, $(BUILT_SOURCES) should be added to CLEANFILES. Also
beneficial is $(api_DATA), and in the case of Java, *.files and *.h.
Also there is a vpp/app/version.h, and some grammar and lex files in
vppapigen.

Change-Id: Ic6d3f2d40ce65e1d9a8b88217fa1f36de393ebb4
Signed-off-by: Burt Silverman <burtms@gmail.com>

d4fabb35 28-Jan-2017 Neale Ranns <nranns@cisco.com>

sh not show in the mfib flags commands

Change-Id: If10b878cb05d695eaed9416202fd19bed2e0b793
Signed-off-by: Neale Ranns <nranns@cisco.com>

d9aad294 25-Jan-2017 Pavel Kotucek <pkotucek@cisco.com>

API refactoring : policer

Change-Id: Ia7d8b557bcdf45eb8e33bb3d297bc6f7ad321c72
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>

d04b60bf 20-Jan-2017 Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>

dpdk: rework cryptodev ipsec build and setup

Build Cryptodev IPsec support by default when DPDK is enabled but only build
hardware Cryptodev PMDs.

To enable Cryptodev support, a new startup.conf option for dpdk has been
introduced 'enable-cryptodev'.

During VPP init, if Cryptodev support is not enabled or not enough cryptodev
resources are available then default to OpenSSL ipsec implementation.

Change-Id: I5aa7e0d5c2676bdb41d775ef40364536a081956d
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>

884cf26d 25-Jan-2017 Pavel Kotucek <pkotucek@cisco.com>

API refactoring : cop

Change-Id: I1596d7a130fb6d3b170b8e01f2116b323cc10c0d
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>

50132fa8 23-Jan-2017 Pavel Kotucek <pkotucek@cisco.com>

dpdk : incorrect rx filter being installed

When mac address is set prior bringing interface up incorrect rx filter
being installed into the e1000 mac.

Change-Id: If59a2bf16f732e45221b3787d271307d369e54d3
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>

4746a5d7 27-Jan-2017 Marek Gradzki <mgradzki@cisco.com>

jvpp: utilize per-message CRCs (VPP-544)

Since messages ids are no longer statically referenced,
fixes also VPP-611.

Change-Id: Ic8e6ee2b7f1142c185595347984d69350be25ac3
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>

32e1c010 22-Nov-2016 Neale Ranns <nranns@cisco.com>

IP Multicast FIB (mfib)

- IPv[46] mfib tables with support for (*,G/m), (*,G) and (S,G) exact and longest prefix match
- Replication represented via a new replicate DPO.
- RPF configuration and data-plane checking
- data-plane signals sent to listening control planes.

The functions of multicast forwarding entries differ from their unicast conterparts, so we introduce a new mfib_table_t and mfib_entry_t objects. However, we re-use the fib_path_list to resolve and build the entry's output list. the fib_path_list provides the service to construct a replicate DPO for multicast.

'make tests' is added to with two new suites; TEST=mfib, this is invocation of the CLI command 'test mfib' which deals with many path add/remove, flag set/unset scenarios, TEST=ip-mcast, data-plane forwarding tests.

Updated applications to use the new MIFB functions;
- IPv6 NS/RA.
- DHCPv6
unit tests for these are undated accordingly.

Change-Id: I49ec37b01f1b170335a5697541c8fd30e6d3a961
Signed-off-by: Neale Ranns <nranns@cisco.com>


src/scripts/vnet/mcast/ip4
src/vat/api_format.c
src/vnet.am
src/vnet/adj/adj.c
src/vnet/adj/adj.h
src/vnet/adj/adj_internal.h
src/vnet/adj/adj_mcast.c
src/vnet/adj/adj_mcast.h
src/vnet/adj/adj_nbr.c
src/vnet/adj/adj_rewrite.c
src/vnet/adj/adj_rewrite.h
src/vnet/dhcpv6/proxy_node.c
src/vnet/dpo/dpo.c
src/vnet/dpo/dpo.h
src/vnet/dpo/load_balance.c
src/vnet/dpo/load_balance.h
src/vnet/dpo/replicate_dpo.c
src/vnet/dpo/replicate_dpo.h
src/vnet/ethernet/arp.c
src/vnet/ethernet/ethernet.h
src/vnet/ethernet/interface.c
src/vnet/fib/fib_attached_export.c
src/vnet/fib/fib_entry.h
src/vnet/fib/fib_entry_delegate.c
src/vnet/fib/fib_entry_src.c
src/vnet/fib/fib_node.h
src/vnet/fib/fib_path.c
src/vnet/fib/fib_path_list.c
src/vnet/fib/fib_path_list.h
src/vnet/fib/fib_table.c
src/vnet/fib/fib_table.h
src/vnet/fib/fib_test.c
src/vnet/fib/fib_types.c
src/vnet/fib/fib_types.h
src/vnet/fib/fib_urpf_list.c
src/vnet/fib/ip4_fib.c
src/vnet/fib/ip4_fib.h
src/vnet/fib/ip6_fib.c
src/vnet/fib/ip6_fib.h
src/vnet/fib/mpls_fib.c
src/vnet/fib/mpls_fib.h
src/vnet/ip/ip.api
src/vnet/ip/ip4.h
src/vnet/ip/ip4_forward.c
src/vnet/ip/ip4_input.c
src/vnet/ip/ip6.h
src/vnet/ip/ip6_forward.c
src/vnet/ip/ip6_input.c
src/vnet/ip/ip6_neighbor.c
src/vnet/ip/ip_api.c
src/vnet/ip/lookup.c
src/vnet/ip/lookup.h
src/vnet/mcast/mcast.c
src/vnet/mcast/mcast.h
src/vnet/mcast/mcast_test.c
src/vnet/mfib/ip4_mfib.c
src/vnet/mfib/ip4_mfib.h
src/vnet/mfib/ip6_mfib.c
src/vnet/mfib/ip6_mfib.h
src/vnet/mfib/mfib_entry.c
src/vnet/mfib/mfib_entry.h
src/vnet/mfib/mfib_forward.c
src/vnet/mfib/mfib_itf.c
src/vnet/mfib/mfib_itf.h
src/vnet/mfib/mfib_signal.c
src/vnet/mfib/mfib_signal.h
src/vnet/mfib/mfib_table.c
src/vnet/mfib/mfib_table.h
src/vnet/mfib/mfib_test.c
src/vnet/mfib/mfib_types.c
src/vnet/mfib/mfib_types.h
src/vnet/misc.c
src/vnet/rewrite.h
src/vnet/sr/sr.c
src/vnet/util/radix.c
src/vnet/util/radix.h
src/vnet/vxlan/vxlan.c
src/vpp/api/api.c
src/vppinfra.am
src/vppinfra/dlist.h
src/vppinfra/format.c
src/vppinfra/format.h
src/vppinfra/unformat.c
test/test_dhcp.py
test/test_ip6.py
test/test_ip_mcast.py
test/test_mfib.py
test/vpp_interface.py
test/vpp_ip_route.py
test/vpp_papi_provider.py
6f692d6e 27-Jan-2017 Dave Wallace <dwallacelf@gmail.com>

Fix make test scapy python patch issue, VPP-615

Change-Id: I1e6798905f0049c793224a2c880f3b2cfadcf1e7
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>

ed6814b5 26-Jan-2017 Tibor <tifrank@cisco.com>

make-test: Add numbering to chapters' titles

Change-Id: I1e2aedba85caf903dd7a721841afe240a9791cac
Signed-off-by: Tibor <tifrank@cisco.com>

6a0b7e39 27-Jan-2017 Vengada <venggovi@cisco.com>

Cleanup some obfuscated code in next node handling.
The values of next node can be simply assigned by dereferencing the pointer instead of obfuscating the dereference.

Change-Id: I1f4a3d51b768960699010591410695473728d3a2
Signed-off-by: Vengada <venggovi@cisco.com>

19359429 27-Jan-2017 Dave Barach <dave@barachs.net>

drop-and-count snat out2in packets with no translations

Send dhcp server-to-client packets to the ip stack, so we can acquire
snat outside interface addresses from a dhcp server

Change-Id: I7751356fa23d9f26b503c9796bd85f96275fe978
Signed-off-by: Dave Barach <dave@barachs.net>

3d31f00c 26-Jan-2017 Ole Troan <ot@cisco.com>

Python API: event_callback not initialised.

Even when not requesting notification the VPP API
sends event notifications on certain calls. E.g.
creating interfaces.

Traceback (most recent call last):
File "/vpp/ipfix/src/vpp-api/python/vpp_papi/vpp_papi.py", line 447, in msg_handler_sync
if self.event_callback:
AttributeError: VPP instance has no attribute 'event_callback'

Change-Id: I4ca30c49df298655dc8948c5ebd68de0b3d6a592
Signed-off-by: Ole Troan <ot@cisco.com>

e7c034bf 26-Jan-2017 Klement Sekera <ksekera@cisco.com>

make test: improve documentation generation

Refactor the text to work around sphinx bug to show a proper
table of contents.

Change-Id: I546656ef77a95637ad7c6bf239f26262a4f306dc
Signed-off-by: Klement Sekera <ksekera@cisco.com>

a2ac467b 23-Jan-2017 Ed Warnicke <hagbard@gmail.com>

Add multi-vpp support back into pythonic vppctl

Back when vppctl was a shell script, you could
use -p or --prefix to set the chroot prefix to
drive multiple vpp instances. This patch adds
that capability back.

Change-Id: Iaa70a20eff13e8d7e206fcceadb7e5d06afa3fc5
Signed-off-by: Ed Warnicke <hagbard@gmail.com>

7ff11136 26-Jan-2017 Tibor <tifrank@cisco.com>

Add sphinx read the doc theme.

Change-Id: Iade7c42081378bf211b81ad29b2898518442d2ff
Signed-off-by: Tibor <tifrank@cisco.com>

3900fe53 26-Jan-2017 Jan Gelety <jgelety@cisco.com>

ipv4 vrf test doc cleaning

Change-Id: I0d3b47ce3c029d2ea01f9ff88a541affcbfd70db
Signed-off-by: Jan Gelety <jgelety@cisco.com>

adec5878 25-Jan-2017 Pavel Kotucek <pkotucek@cisco.com>

API refactoring : l2 (add)

Change-Id: I693a73ba9a5e3b0cb5d2a6c5d363f671e19c1f24
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>

714968b0 26-Jan-2017 Gabriel Ganne <gabriel.ganne@enea.com>

package only the vpp binaries (rpm)

The first install regexp of the vpp.spec file was too permissive and
included dpdk binaries.

Should fix rpm packaging error: Installed (but unpackaged) file(s) found:
/usr/bin/dpdk-pdump
/usr/bin/dpdk-pmdinfo
/usr/bin/dpdk-procinfo
/usr/bin/testpmd

Change-Id: Ic905307cf07b9eeadf8125aaa3e1922dcc6269b3
Signed-off-by: Gabriel Ganne <gabriel.ganne@enea.com>

fca0c242 13-Jan-2017 Neale Ranns <nranns@cisco.com>

DHCPv[46] proxy tests

Change-Id: I6aaf9c602cd515ed9d4416d286f9191d048c1a87
Signed-off-by: Neale Ranns <nranns@cisco.com>

dc90d423 25-Jan-2017 Tomofumi Hayashi <tohayash@redhat.com>

Change automake python macro to get python path

Previously install path for python binding is fixed, as
lib/python2.7/site-packages and other version/enironement is not
supported. This change introduces automake's python macro and gets
the install path from environment dynamically.

Change-Id: I6535107d4bde61976fbdf5392d460beb1049658e
Signed-off-by: Tomofumi Hayashi <tohayash@redhat.com>

c8d8770a 25-Jan-2017 Pavel Kotucek <pkotucek@cisco.com>

API refactoring : dhcp

Change-Id: I3829835ed2126e51e96690c907deac623dc77151
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>

ba888e46 24-Jan-2017 Florin Coras <fcoras@cisco.com>

Add option to use LISP Proxy-ETR

When enabled, destinations with negative mappings or those not reachable
via underlay have their traffic forwarded to the PETR.

Change-Id: I1056b0959736144f27fcca7b79263f921e7a8bd9
Signed-off-by: Florin Coras <fcoras@cisco.com>

2d6b2d6d 25-Jan-2017 Dave Barach <dave@barachs.net>

Repair plugin binary API message numbering

Change-Id: I422a3f168bd483e011cfaf54af022cb79b78db02
Signed-off-by: Dave Barach <dave@barachs.net>

044183fa 24-Jan-2017 Neale Ranns <nranns@cisco.com>

[re]Enable per-Adjacency/neighbour counters

Change-Id: I953b3888bbc6d8a5f53f684a5edc8742b382f323
Signed-off-by: Neale Ranns <nranns@cisco.com>

f3dc11a9 24-Jan-2017 Florin Coras <fcoras@cisco.com>

Move LISP cp cli to separate file

Change-Id: I24355c71606c047e474b2541bb274e3d183fee85
Signed-off-by: Florin Coras <fcoras@cisco.com>

eb9e666a 24-Jan-2017 Pavel Kotucek <pkotucek@cisco.com>

API refactoring : flow

Change-Id: I99e913b954f8b02f347bfeff093856a1c5e96781
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>

48bcb09b 23-Jan-2017 Jan Gelety <jgelety@cisco.com>

Update CSIT tests 170108 -> 170122

- update of CSIT operational branch to be used for VPP-patch test

Change-Id: I5abf9026318a7a8b4cd56c0044b7f0061ff41f58
Signed-off-by: Jan Gelety <jgelety@cisco.com>

5663409b 24-Jan-2017 Pavel Kotucek <pkotucek@cisco.com>

span: tx functionality

span-output (tx) was enabled on wrong arc_name

Change-Id: Ic21dfaec35c975de79abec66421b353637ac9394
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>

e0545ef8 25-Jan-2017 Klement Sekera <ksekera@cisco.com>

make test: elegantly handle expected API failures

Allow writing simple code to expect API failure when needed:

with self.vapi.expect_negative_api_retval():
do_api_call() # expected to return negative retval in response

Change-Id: Id58d91d9ce38d20ad6ff7a43a6897e79ffbd23bf
Signed-off-by: Klement Sekera <ksekera@cisco.com>

d2c97d98 24-Jan-2017 Pavel Kotucek <pkotucek@cisco.com>

API refactoring : classify

Change-Id: Ib75197ef8e5057e7f0d9361a10705c3743d05333
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>

4bce290f 15-Jan-2017 Eyal Bari <ebari@cisco.com>

test adding and removing shared mcast dst tunnels

Adds and delete 2000 multicast vxlan tunnels sharing group address
to test mcast tunnel ref count code as part of the stability stage (before starting traffic tests)

Change-Id: Ic50cedf80471e14431feb493104eff5ea7d5d429
Signed-off-by: Eyal Bari <ebari@cisco.com>

36532bda 24-Jan-2017 Matus Fabian <matfabia@cisco.com>

SNAT: static mappings for dhcp addressed interfaces (VPP-590)

updated API
added test

Change-Id: I3f6017ecf09b924cb320c1b5f323cd33f7a37447
Signed-off-by: Matus Fabian <matfabia@cisco.com>

6dbbc58b 25-Jan-2017 Vengada <venggovi@cisco.com>

Fix coverity defect.
Typo resulted in passing next0[1] instead of next1[0]. Corrected it

Change-Id: I6e863c7c23c8c014ef0fef9ea1368fbaf3bc9809
Signed-off-by: Vengada <venggovi@cisco.com>

f69ecfe0 24-Jan-2017 Andrew Yourtchenko <ayourtch@gmail.com>

ping: fix double-free crash under VMWare hypervisor

bi0 retrieval from the ping reply events vector was incorrectly done
always from the first element.

For TBD reason the sending of the ping requests under VMWare was batched,
as a result the replies arrive close enough to make the events arrive as
an array, which exposed this bug. KVM never exhibited this behavior, which
explains not seeing this issue there.

Change-Id: I485d6f983571e25baa9407c21ef604937586d8bd
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>

898171af 22-Jan-2017 Gabriel Ganne <gabriel.ganne@qosmos.com>

fix OS_ID test in root Makefile

fixup for 2ce7f9834ab55728520bff0dd15f8d82c10b95a0

redhat, centos -> rpm
debian, ubuntu -> deb

Change-Id: I0a07d3689b2bb5656d1bc688677680f83ac2e0bb
Signed-off-by: Gabriel Ganne <gabriel.ganne@qosmos.com>

1fd5d01e 24-Jan-2017 Wojciech Dec <wdec@cisco.com>

Fix PAPI async response

Previous changes forgot to return the decoded result

Change-Id: I4eb27802eb2672532d856d9b9671ef806374bcd0
Signed-off-by: Wojciech Dec <wdec@cisco.com>

cda70668 16-Jan-2017 Filip Tehlar <ftehlar@cisco.com>

LISP: add RLOC and map-notify counters

Change-Id: Ie6dd9521507cd4731f1bad99c50238310238914f
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>

fe6bdfd8 21-Jan-2017 Dave Barach <dave@barachs.net>

binary-api debug CLI works with plugins

Change-Id: I81f33f5153d5afac94b66b5a8cb91da77463af79
Signed-off-by: Dave Barach <dave@barachs.net>

675a69cd 18-Jan-2017 Matus Fabian <matfabia@cisco.com>

SNAT: Multiple inside interfaces (VPP-447)

NAT only packets aimed at outside interface and in case of hairpinning

Change-Id: Ida371380fce664b9434ca5ddd2369c980ff26beb
Signed-off-by: Matus Fabian <matfabia@cisco.com>

8b275371 16-Jan-2017 Dave Barach <dave@barachs.net>

Add static mapping support for dhcp client interfaces

Change-Id: I0412f95b71b9768d41c9c398a24adb1555bde20b
Signed-off-by: Dave Barach <dave@barachs.net>

248968be 20-Jan-2017 Damjan Marion <damarion@cisco.com>

Fix cosmetic issue in dpdk/Makefile

Change-Id: I95684396e3dad53ddf7479467a36a5b68e5703cf
Signed-off-by: Damjan Marion <damarion@cisco.com>

926c706d 20-Jan-2017 Damjan Marion <damarion@cisco.com>

Fix issue in rpm versioning for release builds

Change-Id: I562f93017ee90b0828d36624dca694c04e332a74
Signed-off-by: Damjan Marion <damarion@cisco.com>

2ce7f983 09-Jan-2017 Damjan Marion <damarion@cisco.com>

Add dpdk development packaging

Change-Id: I6aa2a6709241d99ce734c29e47487eb456907351
Signed-off-by: Damjan Marion <damarion@cisco.com>

18b28165 20-Jan-2017 Dave Barach <dave@barachs.net>

Fix coverity warning, VPP-608

Change-Id: I1086debdf90a51205af17c35e93cd9aeff598135
Signed-off-by: Dave Barach <dave@barachs.net>

0ded8518 19-Jan-2017 Eyal Bari <ebari@cisco.com>

VXLAN - Add IPv6 tunnels src ref count

and refactored hash table mem keys access
hash_set_key_dup - same as hash_set_mem but duplicates the key
hash_unset_key_free - same as hash_unset_mem but frees the key

Change-Id: I18cdcf7e41c57faa615d6337acaf8d1ad058a4c1
Signed-off-by: Eyal Bari <ebari@cisco.com>

5016f990 19-Jan-2017 Ole Troan <ot@cisco.com>

Python API: Missing locking of results data structure.

The wrong assumption that the GIL combined with CPython's "mostly"
thread safe assurance does not hold. The combination of a slow
event handler for notification and calling the API at the same
time let to contention on the results data structure.

Added suitable locking.

Also added an atexit() to attempt a VPP disconnect on shutdown.

Also: lots more comments, docstrings, duplicated code removed.
Some of the problem here was a disagreement between caller
and author as to how the API should be used; the comments should
help.

Change-Id: I0cb7d0026db660ec141425c5ad474f14bacea36e
Signed-off-by: Ole Troan <ot@cisco.com>
Co-Authored-By: Ian Wells <iawells@cisco.com>
Signed-off-by: Ole Troan <ot@cisco.com>

cf751ec7 18-Jan-2017 Mohsin KAZMI <sykazmi@cisco.com>

af_packet: multithreading support

This patch adds multithreading support for af_packet interfaces.

Change-Id: Ief5d1117e7ffeaa59dbc2831e583d5d8e8d4fa7a
Signed-off-by: Mohsin KAZMI <sykazmi@cisco.com>

07c39da5 18-Jan-2017 Marek Gradzki <mgradzki@cisco.com>

jvpp: include libjvpp_common in rpm packages

Change-Id: Idef5f036c9dc679b062931f38fcc311d00fc0017
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>

8f544964 18-Jan-2017 Dave Barach <dave@barachs.net>

Fix coverity warnings, VPP-608

Change-Id: Ib0144ba3a9a09971d3946c932e8fed6d5c1ad278
Signed-off-by: Dave Barach <dave@barachs.net>

d8e47876 17-Jan-2017 Wojciech Dec <wdec@cisco.com>

Fix crash on deleting activated vhost-user - VPP-603

Vhost-user pool getting freed prematurely

Change-Id: I952821ec85efa68923d09a643c70b6b309ea2574
Signed-off-by: Wojciech Dec <wdec@cisco.com>

7a161da3 17-Jan-2017 Klement Sekera <ksekera@cisco.com>

make test: fix text output when non-interactive

Output everything to stdout instead of mixing stdout and stderr.

Change-Id: I3146760e068fda7f1ffaaf36683d5153dcda4561
Signed-off-by: Klement Sekera <ksekera@cisco.com>

46a87adf 02-Jan-2017 Klement Sekera <ksekera@cisco.com>

BFD: IPv6 support

Change-Id: Iaa9538c7cca500c04cf2704e5bf87480543cfcdf
Signed-off-by: Klement Sekera <ksekera@cisco.com>

a18c7c0d 17-Jan-2017 Damjan Marion <damarion@cisco.com>

sample-plugin: fix build

Change-Id: I8a2c91c4148981db31317ef9d2c5c2c28942daa9
Signed-off-by: Damjan Marion <damarion@cisco.com>

8a6a3b2d 17-Jan-2017 Damjan Marion <damarion@cisco.com>

dpdk: remove duplicate code in buffers.c

Change-Id: Idc17b4a32d40012556d5d8550942db0372ebf23d
Signed-off-by: Damjan Marion <damarion@cisco.com>

72715ee4 17-Jan-2017 Klement Sekera <ksekera@cisco.com>

make test: add checkstyle target

Change-Id: I59d3c3bc77474c96e1d6fa51811c1b13fb9a6c5b
Signed-off-by: Klement Sekera <ksekera@cisco.com>

46f133d5 17-Jan-2017 Padraig Connolly <padraig.connolly@intel.com>

vagrant: stop rsync from wiping changes from /vpp

*Fixes issue where any changes to the vpp directory withing vagrant
are wiped if user reboots the vagrant vm
*Rsync will now only run if provisioning hasn't occured before

Change-Id: Ic29eb1321fba33e82df4075e7a95c96fa2e6739f
Signed-off-by: Padraig Connolly <padraig.connolly@intel.com>

f3854e9c 17-Jan-2017 Gabriel Ganne <gabriel.ganne@qosmos.com>

fix rpm warnings for defattr directory of lua/*

eg.
Processing files: vpp-api-lua-17.04-rc0~119_g3bd11d78.x86_64
warning: %defattr doesn't define directory mode so file mode defined in %defattr is used for directory: ...

Change-Id: Ifd205b6effce6160cf6f7bdbd959e484099ff619
Signed-off-by: Gabriel Ganne <gabriel.ganne@qosmos.com>

3bd11d78 16-Jan-2017 Neale Ranns <neale.ranns@cisco.com>

DHCPv6 Proxy; fix crash when DHCPv6 prxy is not configured and client packet is received

Change-Id: I0250acdee803545b8923549e2099863a95544691
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>

a9a951f8 16-Jan-2017 Damjan Marion <damarion@cisco.com>

Add --without-libssl configure parameter

This replaces --without-ipsec and --without-ipv6sr
and allows other parts of the code to be disabled if
libssl is not available.

Change-Id: Id97ff3685a7924d7f86622952e0405d94ceb5957
Signed-off-by: Damjan Marion <damarion@cisco.com>

597d3c41 16-Jan-2017 Damjan Marion <damarion@cisco.com>

dpdk: add 'show dpdk version' cli

Change-Id: Iaecebae25ee4b8df8ca919992a0433e92e82e90c
Signed-off-by: Damjan Marion <damarion@cisco.com>

42e480d6 16-Jan-2017 Florin Coras <fcoras@cisco.com>

Fix LISP coverity warning

- uninitialized field in locator pair

Change-Id: I6832eaf5217eaad8f0fa8da1801aa31465c1f37d
Signed-off-by: Florin Coras <fcoras@cisco.com>

ca800258 16-Jan-2017 Damjan Marion <damarion@cisco.com>

dpdk: register rte_delay_us callback from vnet

Change-Id: Ibf7fc9a54d3fbee431b4814fa8abc5ba29ed9eef
Signed-off-by: Damjan Marion <damarion@cisco.com>

b601f226 02-Jan-2017 Filip Tehlar <ftehlar@cisco.com>

LISP: Enhance IPx offset computing

Change-Id: I0ccb0db73bcf4e2a282cabd4ebbe49599fa8ee7c
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>

c74a86af 16-Jan-2017 Damjan Marion <damarion@cisco.com>

Define more dependencies between libs

Change-Id: Ia74699bad15c1c583571944458fc8a5c3ded574b
Signed-off-by: Damjan Marion <damarion@cisco.com>

51a7c8b7 16-Jan-2017 Damjan Marion <damarion@cisco.com>

Add 'make test' to verify job

Change-Id: Iaab9c1a1c691a613d25ea28a22ac5db5943d8892
Signed-off-by: Damjan Marion <damarion@cisco.com>

6484b3ba 15-Jan-2017 Damjan Marion <damarion@cisco.com>

Toplevel Makefile cleanup

Change-Id: I2f4cb267dbb4d6e6fc6bef908c4bb548c5f37b35
Signed-off-by: Damjan Marion <damarion@cisco.com>

cb365d89 16-Jan-2017 Marek Gradzki <mgradzki@cisco.com>

Fix linker warnings for jvpp shared libs

Change-Id: I02d01ce210d5bbe11ad2ee70f7703647f9147416
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>

2feaffcb 14-Jan-2017 Dave Barach <dave@barachs.net>

Provision linux stack ip4 and ip6 addresses for tap interfaces

To simplify system configuration. Converted existing code to use an
argument structure, instead of [one or two too many] discrete
parameters.

Change-Id: I3eddfa74eeed918c1b04a6285fba494651594332
Signed-off-by: Dave Barach <dave@barachs.net>

878c6098 04-Jan-2017 Damjan Marion <damarion@cisco.com>

vlib: add buffer and thread callbacks

Change-Id: I8e2e8f94a884ab2f9909d0c83ba00edd38cdab77
Signed-off-by: Damjan Marion <damarion@cisco.com>

eea28d78 13-Jan-2017 Matus Fabian <matfabia@cisco.com>

SNAT: IPFIX logging (VPP-445)

Change-Id: I8450217dd43a1cd9f510e40dfb22274ffc33a4c6
Signed-off-by: Matus Fabian <matfabia@cisco.com>

2d0b6e38 11-Jan-2017 Billy McFall <bmcfall@redhat.com>

VPP-279: Document changes for vnet/vnet/devices

Add doxygen documentation for netmap CLI commands.

Change-Id: I8d3ce12b1cfa5af30ddcd31cb476ca4652cfc2f3
Signed-off-by: Billy McFall <bmcfall@redhat.com>

5a3a6c09 13-Jan-2017 Damjan Marion <damarion@cisco.com>

Fix remove-rpath script, take 2

Change-Id: If0fc5adb495b243dc9d7bfb8112ffee79ca1335e
Signed-off-by: Damjan Marion <damarion@cisco.com>

3f1309df 13-Jan-2017 Damjan Marion <damarion@cisco.com>

Fix remove-rpath script

Change-Id: Ieb9ca2c5ac64dbb73de1b3dd701bb794c91aeae5
Signed-off-by: Damjan Marion <damarion@cisco.com>

69915cba 10-Jan-2017 Padraig Connolly <padraig.connolly@intel.com>

vppctl: new bash completion for vppctl commands

Bash completion for vppctl
*vppctl_completion uses generated list vppctl-cmd-list to provide bash completion
*List of commands generated using grep, then moved by vpp packaging
*Once vpp package installed restart bash to use

Change-Id: I3b25e55a432c395af421231cf7c37c2e243fee61
Signed-off-by: Padraig Connolly <padraig.connolly@intel.com>

c3af7bf1 13-Jan-2017 Filip Tehlar <ftehlar@cisco.com>

LISP: Fix gpe API

Change-Id: Iba076fc13e3f870c49fc5ca971dc7b8799188a27
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>

67e7fcb1 13-Jan-2017 Matus Fabian <matfabia@cisco.com>

SNAT: fixed crash - interface without IP address (VPP-599)

Change-Id: I7f4d0cbde3d3c4ed6537e6351d5487546daea058
Signed-off-by: Matus Fabian <matfabia@cisco.com>

35b2607f 05-Jan-2017 Billy McFall <bmcfall@redhat.com>

VPP-580: Host Interface created via Command Line Arg is misnamed

Host interfaces created via the command-line arguments are missed named
(i.e. - UnknownEthernet0 instead of af_packet0). In DPDK 16.11, they
changed the driver names from eth_xxx to net_xxx. However, looks like
the AF_PACKET driver still returns "AF_PACKET PMD" as the driver name
in the rte_eth_dev_info_get(..) call. I modified the driver name look
table in vnet/devices/dpdk/dpdk.h to revert the name back.

Change-Id: I2b0a9f6b4d5245b76548027891d40f81a56b230d
Signed-off-by: Billy McFall <bmcfall@redhat.com>

52e84f3c 13-Jan-2017 Klement Sekera <ksekera@cisco.com>

make test: improve test results printing

Accomodate longer test descriptions by increasing the headings
size.

Change-Id: I51c90b8d91feaa83b78972d0802d3054f8510f36
Signed-off-by: Klement Sekera <ksekera@cisco.com>

8bf68e85 12-Jan-2017 Matus Fabian <matfabia@cisco.com>

SNAT: add API and test for NAT pool address from interface

Change-Id: I2a868f736fae8d37b438c604a9284653ea415541
Signed-off-by: Matus Fabian <matfabia@cisco.com>

97f6edc1 12-Jan-2017 Klement Sekera <ksekera@cisco.com>

make test: fix capture handling special-case

Change-Id: I4fc5dce832f9a6162181967c5290e6d0daa4f9f0
Signed-off-by: Klement Sekera <ksekera@cisco.com>

f8fc0f60 10-Jan-2017 Neale Ranns <neale.ranns@cisco.com>

Account for pool realloc when importing FIB entries during VRF export

Change-Id: I8ec6d53fa9c0790f85802663f70a6b3630239f8d
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>

8213045f 12-Jan-2017 Klement Sekera <ksekera@cisco.com>

make test: fix typo

Change-Id: I70b4123129aab5770a45ccde4cef4452d06386b8
Signed-off-by: Klement Sekera <ksekera@cisco.com>

797235a6 09-Jan-2017 Neale Ranns <neale.ranns@cisco.com>

Fix ARP on unnumbered interfaces (VPP-583)

Change-Id: Iea1e2c31c016c3bb6344f73173d082a2c548ffee
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>

3f14e230 12-Jan-2017 Marek Gradzki <mgradzki@cisco.com>

jvpp: include jvpp_common in vpp packages

Change-Id: Idcf37fc4a031c1c95362aeadf11768103e40d0fd
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>

da505f60 03-Jan-2017 Klement Sekera <ksekera@cisco.com>

make test: improve documentation and PEP8 compliance

Change-Id: Ib4f0353aab6112fcc3c3d8f0bcbed5bc4b567b9b
Signed-off-by: Klement Sekera <ksekera@cisco.com>

a48ad282 11-Jan-2017 Thomas F Herbert <therbert@redhat.com>

Remove unnecessary build macro to fix slow builds.

JIRA: VPP-588

Change-Id: I05bcba3158edb4aee12ead82a30c611fddd29352
Signed-off-by: Thomas F Herbert <therbert@redhat.com>

10db26f7 11-Jan-2017 Klement Sekera <ksekera@cisco.com>

BFD: fix bfd_udp_add API

Fix reporting of bs_index in the return message. Enhance test suite
to cover this case.

Change-Id: I37d35b850818bc1a05abe67ca919c22aeac978b6
Signed-off-by: Klement Sekera <ksekera@cisco.com>

cab65ec8 11-Jan-2017 Dave Barach <dave@barachs.net>

Acquire SNAT pool addresses from specific interfaces

Pick up addresses added by DHCP client, or by static configuration
Needs to have binary API support added

Change-Id: I962ef89e6e5f36cdc5457b92e165c498b08b25a9
Signed-off-by: Dave Barach <dave@barachs.net>

ea4fa752 10-Jan-2017 Marek Gradzki <mgradzki@cisco.com>

jvpp: add missing dependencies on various libs

Change-Id: Ifa6845458f7249d2179a20b954fcdd49d6c68aa1
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>

d81da8c0 11-Jan-2017 Eyal Bari <ebari@cisco.com>

vxlan unit test - minor fixes

moved ip4_range and ip4n_range to util
added n_ucast_tunnels

Change-Id: I9140c4e54a0636d90a97db03da842f5183319af5
Signed-off-by: Eyal Bari <ebari@cisco.com>

724f64cc 11-Jan-2017 Damjan Marion <damarion@cisco.com>

Makefile.am cleanup

- remove unused stuff
- add --quiet flag to libtool
- avoid building some tests programs when tests are not enabled

Change-Id: Ie34aeec1a598ad811256a00354f66cfddae9d0b9
Signed-off-by: Damjan Marion <damarion@cisco.com>

1c5ee872 10-Jan-2017 Damjan Marion <damarion@cisco.com>

Remove vcgn plugin

Change-Id: I79f18ec386dedd91a8dcea2ca5726208b7b3c67c
Signed-off-by: Damjan Marion <damarion@cisco.com>


doxygen/Makefile
plugins/Makefile.am
plugins/configure.ac
plugins/vcgn-plugin/Makefile.am
plugins/vcgn-plugin/configure.ac
plugins/vcgn-plugin/vcgn/README
plugins/vcgn-plugin/vcgn/cgn_bitmap.h
plugins/vcgn-plugin/vcgn/cgse_defs.h
plugins/vcgn-plugin/vcgn/cnat_bulk_port.c
plugins/vcgn-plugin/vcgn/cnat_bulk_port.h
plugins/vcgn-plugin/vcgn/cnat_bulk_port_defs.h
plugins/vcgn-plugin/vcgn/cnat_cli.h
plugins/vcgn-plugin/vcgn/cnat_cli_handler.c
plugins/vcgn-plugin/vcgn/cnat_common_api.h
plugins/vcgn-plugin/vcgn/cnat_config.c
plugins/vcgn-plugin/vcgn/cnat_config.h
plugins/vcgn-plugin/vcgn/cnat_config_api.h
plugins/vcgn-plugin/vcgn/cnat_db.h
plugins/vcgn-plugin/vcgn/cnat_db_scanner.c
plugins/vcgn-plugin/vcgn/cnat_db_v2.c
plugins/vcgn-plugin/vcgn/cnat_debug_msg_handler.c
plugins/vcgn-plugin/vcgn/cnat_global.c
plugins/vcgn-plugin/vcgn/cnat_global.h
plugins/vcgn-plugin/vcgn/cnat_ipv4_icmp.h
plugins/vcgn-plugin/vcgn/cnat_ipv4_icmp_error_inside_input.c
plugins/vcgn-plugin/vcgn/cnat_ipv4_icmp_error_outside_input.c
plugins/vcgn-plugin/vcgn/cnat_ipv4_icmp_query_inside_input.c
plugins/vcgn-plugin/vcgn/cnat_ipv4_icmp_query_inside_input_exception.c
plugins/vcgn-plugin/vcgn/cnat_ipv4_icmp_query_outside_input.c
plugins/vcgn-plugin/vcgn/cnat_ipv4_tcp_inside_input.c
plugins/vcgn-plugin/vcgn/cnat_ipv4_tcp_inside_input_exceptions.c
plugins/vcgn-plugin/vcgn/cnat_ipv4_tcp_outside_input.c
plugins/vcgn-plugin/vcgn/cnat_ipv4_udp.h
plugins/vcgn-plugin/vcgn/cnat_ipv4_udp_inside_input.c
plugins/vcgn-plugin/vcgn/cnat_ipv4_udp_inside_input_exceptions.c
plugins/vcgn-plugin/vcgn/cnat_ipv4_udp_outside_input.c
plugins/vcgn-plugin/vcgn/cnat_log_api.h
plugins/vcgn-plugin/vcgn/cnat_log_common.h
plugins/vcgn-plugin/vcgn/cnat_logging.c
plugins/vcgn-plugin/vcgn/cnat_logging.h
plugins/vcgn-plugin/vcgn/cnat_pcp_server.h
plugins/vcgn-plugin/vcgn/cnat_ports.c
plugins/vcgn-plugin/vcgn/cnat_ports.h
plugins/vcgn-plugin/vcgn/cnat_show.c
plugins/vcgn-plugin/vcgn/cnat_show_api.h
plugins/vcgn-plugin/vcgn/cnat_show_response.h
plugins/vcgn-plugin/vcgn/cnat_syslog.c
plugins/vcgn-plugin/vcgn/cnat_syslog.h
plugins/vcgn-plugin/vcgn/cnat_util.c
plugins/vcgn-plugin/vcgn/cnat_v4_ftp_alg.h
plugins/vcgn-plugin/vcgn/cnat_v4_functions.c
plugins/vcgn-plugin/vcgn/cnat_v4_functions.h
plugins/vcgn-plugin/vcgn/cnat_v4_pptp_alg.h
plugins/vcgn-plugin/vcgn/cnat_v4_tcp_in2out_stages.c
plugins/vcgn-plugin/vcgn/cnat_va_db.c
plugins/vcgn-plugin/vcgn/cnat_va_db.h
plugins/vcgn-plugin/vcgn/dslite_db.h
plugins/vcgn-plugin/vcgn/dslite_defs.h
plugins/vcgn-plugin/vcgn/index_list.c
plugins/vcgn-plugin/vcgn/index_list.h
plugins/vcgn-plugin/vcgn/nat64_db.h
plugins/vcgn-plugin/vcgn/nat64_defs.h
plugins/vcgn-plugin/vcgn/nat64_tcp_sm.h
plugins/vcgn-plugin/vcgn/platform_common.h
plugins/vcgn-plugin/vcgn/platform_common_override.h
plugins/vcgn-plugin/vcgn/spp_ctx.h
plugins/vcgn-plugin/vcgn/spp_platform_trace_log.c
plugins/vcgn-plugin/vcgn/spp_platform_trace_log.h
plugins/vcgn-plugin/vcgn/spp_timers.h
plugins/vcgn-plugin/vcgn/tcp_header_definitions.h
plugins/vcgn-plugin/vcgn/vcgn_classify.c
plugins/vcgn-plugin/vcgn/vcgn_db.h
src/vnet/buffer.h
e546d3b0 08-Dec-2016 Jan <jgelety@cisco.com>

test: ip4 vrf instances multi-context test (CSIT-492)

- add/delete IPv4 VRF instances and verify results by parsing output
of ip_fib_dump API command and by traffic

Change-Id: I61ed5013adca29afd00b942f65be7bf964f38d85
Signed-off-by: Jan Gelety <jgelety@cisco.com>

8cb07c92 11-Jan-2017 Pavel Kotucek <pkotucek@cisco.com>

VPP-575 : Inconsistency in flag values for neighbors dump

Change-Id: Ice6861c150055d06aefff14b60dbc28e3d73769d
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>

94f8bc12 10-Jan-2017 Marek Gradzki <mgradzki@cisco.com>

jvpp: compile static Java files and include in generated jars

Most Java bindings for VPP APIs provide some tests/examples.
The patch includes them in the compilation process.

Change-Id: Icef3d061c1afd727e8544a7fe5c0204453b1c1d0
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>

655fcc47 10-Jan-2017 Florin Coras <fcoras@cisco.com>

Fix LISP Coverity warning

Change-Id: Idf58a62a5ec47bcf52ae36d00d2844a3db72273b
Signed-off-by: Florin Coras <fcoras@cisco.com>

6ebca6c0 10-Jan-2017 Marco <marco.varlese@suse.com>

Added a sub-case to take into Thunderx platform

Change-Id: Ib440414693af6fe29ffaf78fc3b2992911afbcc6
Signed-off-by: Marco <marco.varlese@suse.com>

0f971d8c 03-Jan-2017 Pavel Kotucek <pkotucek@cisco.com>

API refactoring : l2, mpls, sr

Change-Id: Ic5f273dae607a1d3902489e65734c76f027dc30f
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>

75152289 09-Jan-2017 Neale Ranns <nranns@cisco.com>

IPv6 NS RS tests and fixes

includes Fix for VPP-584 with API change to remove prefix length from LL programming

Change-Id: If860751c35e60255fb977f73bc33e8c2649e728e
Signed-off-by: Neale Ranns <nranns@cisco.com>

553a4119 10-Jan-2017 Ole Troan <ot@cisco.com>

VPP-585: vhost-user interface deletion leaks memory.

Change-Id: I69bbc447e1989adea40f052eac4550036b6e2e1e
Signed-off-by: Ole Troan <ot@cisco.com>

ffc18f5e 05-Jan-2017 Damjan Marion <damarion@cisco.com>

japi: include tests in jar files

Change-Id: Idffaafda8fac06a45edef6f3ef13379293d0faa0
Signed-off-by: Damjan Marion <damarion@cisco.com>

738f3f2a 09-Jan-2017 Pavel Kotucek <pkotucek@cisco.com>

API refactoring : dpdk

Change-Id: If2541be803a0303401b013390e117c26fd1d9739
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>

6bbf83a0 10-Jan-2017 Damjan Marion <damarion@cisco.com>

Revert "vppctl: bash completion for vppctl commands"

This patch is causing build failures

This reverts commit d995c757f05f78aa759b0a65c0a7e38088e690a9.

Change-Id: I0c8d5a4208135d77aaa3a6a470d26140f7b74733
Signed-off-by: Damjan Marion <damarion@cisco.com>

842b9c59 09-Jan-2017 Dave Barach <dave@barachs.net>

Self-service garbage collection for the API message allocator

Change-Id: Iadc08eede15fa5978e4010bbece0232aab8b0fee
Signed-off-by: Dave Barach <dave@barachs.net>

d995c757 29-Nov-2016 Padraig Connolly <padraig.connolly@intel.com>

vppctl: bash completion for vppctl commands

Added bash completion that will include all commands from build time
*Script takes list of commands generated by doxygen-siphon-list
*Configured doxygen-siphon makefile to generate just cli commands
*List of cli commands put in /usr/share/vpp
*Stopped siphon using doxygen bootstrap, uses main bootstrap instead
*Added rpm/deb check for installation of packages, separate from bootstrap
*NOTE: Once you have installed the vpp .deb/.rpm package you will have to
restart bash

Change-Id: Ie503e80d5177481f6e7dbe59378f2e0d76f29152
Signed-off-by: Padraig Connolly <padraig.connolly@intel.com>

0d3c1cc7 06-Jan-2017 Billy McFall <bmcfall@redhat.com>

VPP-279: af_packet via Command-line Arg should no longer be supported

With the CLI command 'create host-interface', no longer need to
support af_packet interface creation via Command-line Arg. However,
this is mostly implemented by passing arguments to DPDK. Instead of
blocking functionality, put a warning in the log directing the user
to the CLI.

Change-Id: I6c6fba6096f32ef232f1da0c5d39396c6d13f54f
Signed-off-by: Billy McFall <bmcfall@redhat.com>

48c1824a 09-Jan-2017 Jan Gelety <jgelety@cisco.com>

Update CSIT tests 170101 -> 170108

- update of CSIT operational branch to be used for VPP-patch test

Change-Id: I58f1ea5f05a80874a16831bc7d23875d46610daa
Signed-off-by: Jan Gelety <jgelety@cisco.com>

8d8a1da5 22-Dec-2016 Matej Klotton <mklotton@cisco.com>

make test: Loopback interface CRUD test

Change-Id: I0581da7a682bfe4dd6520ecf1b2ea6bd8c20b1b3
Signed-off-by: Matej Klotton <mklotton@cisco.com>

0120e235 08-Jan-2017 Damjan Marion <damarion@cisco.com>

papi: fix building on aarch64

Change-Id: I3983576bd4e0f197193a7d281763d545a55e7d64
Signed-off-by: Damjan Marion <damarion@cisco.com>

465a1a3a 07-Jan-2017 Neale Ranns <nranns@cisco.com>

In python tests send NS packets to the solicited mcast address with correct mcast MAC, rather than to quiered addr and broadcast MAC

Change-Id: Idb2f8ad09ccb421b7974b8a944cb411cfb4be9d5
Signed-off-by: Neale Ranns <nranns@cisco.com>

45a00c44 08-Jan-2017 Damjan Marion <damarion@cisco.com>

Multiple Autotools improvements

- Defines some dependencies between shared libraries
- updates version.h only when version changes

Updating version.h on each "make" and "make install" was causing issues with
parallel builds. "make install" was re-linking vpp binary due to "updated"
version.h and in parallel it was re-linking shared libraries as part of
installation process. That was resulting on sporadic build failures.

Change-Id: I2a27ae1aea6a7a4100822018e095a60dd48d39ca
Signed-off-by: Damjan Marion <damarion@cisco.com>

f935e336 06-Jan-2017 Damjan Marion <damarion@cisco.com>

plugin: add API to get pointer to symbol in different plugin

Change-Id: Ic2fbbd8227d5d0c033e5d7b5f43b859a4889d2f3
Signed-off-by: Damjan Marion <damarion@cisco.com>

f952692c 06-Jan-2017 Dave Barach <dave@barachs.net>

python clients can set the API rx message queue length

Change-Id: I7af1493a823747e0f7389ad6c2093e4cec6c2ce9
Signed-off-by: Dave Barach <dave@barachs.net>

a1b99dad 06-Jan-2017 Billy McFall <bmcfall@redhat.com>

VPP-279: doxygen documentation for host interface CLI commands

Change-Id: I2c6c16688be35e2e122c2377ded467c68a4c5a97
Signed-off-by: Billy McFall <bmcfall@redhat.com>

c4aaee11 20-Dec-2016 Eyal Bari <ebari@cisco.com>

Added basic tests for multicast vxlan tunnels

unicast flood test - test headend replication
multicast flood test - test flooding when a multicast vxlan tunnel is present in BD
multicast receive test - verify that multicast packet are received on their
corresponding unicast tunnels and that unmatched packets are dropped

all tests run after adding and removing 200 mcast tunnels to test stability

Change-Id: Ia05108c39ac35096a5b633cf52480a9ba87c14df
Signed-off-by: Eyal Bari <ebari@cisco.com>

ef6e54de 04-Jan-2017 Jan Srnicek <jsrnicek@cisco.com>

Added vpe.api java binding generation

added missing path for vpe.api file

Change-Id: I61f727002dd663d6a5656b0d01380e77b44c4a42
Signed-off-by: Jan Srnicek <jsrnicek@cisco.com>

0691d6e9 05-Jan-2017 Dave Barach <dave@barachs.net>

Fix uninitialized stack local, VPP-581

Sporadically messes up the client message allocation ring, by setting
c->message_bounce[msg_id] non-zero. A day-1 bug, made blatantly
obvious by the python API language binding for no particular reason.

Manually cherry-picked from stable/1701 due to the recent tree
reorganization.

Change-Id: Ifa03c5487436cbe50a6204db48fd9ce4938e32bb
Signed-off-by: Dave Barach <dave@barachs.net>

c0790cfe 05-Jan-2017 Neale Ranns <neale.ranns@cisco.com>

FIB memory leaks (VPP-578)

1) vec_free the fe_srcs of a fib_entry_t when the fib_entry_t is itself reed
2) in the load-balance fixup if a drop path is required add this to a new vector of next-hops 'fixed_nhs'. This vector is managed by the load-balance function. The caller continues to manage its own set. The function is now const implying that the caller is safe to assume the next-hops do not change.

Change-Id: I0f29203ee16b9a270f40edf237488fa99ba65320
Signed-off-by: Neale Ranns <nranns@cisco.com>
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>

ce1aae4e 04-Jan-2017 Filip Tehlar <ftehlar@cisco.com>

LISP: make data plane programming thread safe

Change-Id: I4b949e606fa3969d4c03dc6e753a2546be6329cf
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>

a90ba9d3 23-Dec-2016 AkshayaNadahalli <anadahal@cisco.com>

Merging all ioam plugin libraries to single library

Double commit from 1702 branch to master.

Change-Id: I33a646ba45848c7400df4271e4933e28e62c9ad7
Signed-off-by: AkshayaNadahalli <anadahal@cisco.com>
(cherry picked from commit e4e9fbbb7c8fa4385ae31072d60ad8621fe798a4)
Signed-off-by: AkshayaNadahalli <anadahal@cisco.com>

8db1c76e 04-Jan-2017 Damjan Marion <damarion@cisco.com>

Fix library dependency issue

Change-Id: I2b08194f4554b2c0f1e595184ef0a36bd494ad17
Signed-off-by: Damjan Marion <damarion@cisco.com>

12d93ec0 04-Jan-2017 Gabriel Ganne <gabriel.ganne@qosmos.com>

rename vpp python's api debian scripts

python's api has been renamed from *vpp-python-api* -> *vpp-api-python*
deb scripts need to follow the package name in order to be called

Change-Id: I0c9ec45cc3d478c3b90aa75bcd2b8a9f7809cbc9
Signed-off-by: Gabriel Ganne <gabriel.ganne@qosmos.com>

0eca04d8 03-Jan-2017 Damjan Marion <damarion@cisco.com>

vlib: merge libvlib_unix.so into libvlib.so

Change-Id: Iedbee427d838794c4b26db5bd07b8d27aad9fcd8
Signed-off-by: Damjan Marion <damarion@cisco.com>

99c20196 03-Jan-2017 Damjan Marion <damarion@cisco.com>

fix version.h generation for out-of-tree builds

Change-Id: Ic882f5aec74858a36533ed8cd61a7726947dceef
Signed-off-by: Damjan Marion <damarion@cisco.com>

5ac9bf53 02-Jan-2017 Eyal Bari <ebari@cisco.com>

vxlan fix mcast tunnel delete

Change-Id: I15f7ff1e957718e808bfad811895deaacb85d2a3
Signed-off-by: Eyal Bari <ebari@cisco.com>

3e0a3561 19-Dec-2016 Klement Sekera <ksekera@cisco.com>

BFD: immediately honor reduced remote_min_rx interval

Change-Id: I7f09b45c926557d2ad0e2706b38fa56ff8194a3d
Signed-off-by: Klement Sekera <ksekera@cisco.com>

0c3d467d 03-Jan-2017 Andrew Yourtchenko <ayourtch@gmail.com>

VPP-574: fix VPP hang during security group configuration on a suspended VM

The unix connect() in vhost-user driver in VPP is blocking, and
a non-expedient accept() on the other side causes the entire VPP to hang.

Solution: set the nonblocking flag for the socket fd before calling
connect(), and set the socket back to blocking after the accept() succeeds.

Change-Id: Ia5ee782037eeffabdad71db8241f476a048a4f6f
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>

ddcc99eb 03-Jan-2017 Andrew Yourtchenko <ayourtch@gmail.com>

VPP-574: fix the MACIP ACLs blocking ARP traffic

The initial assumption was that the MACIP ACL classifier tables would be applied
after the classification of the traffic based on the ethertype, it turned out
to be untrue, but the fix in the code did not happen.

Add the ethertype to the mask, and the logic to create the ACL classifier tables
permitting the ARP ethertype with the correct payload.

Change-Id: I7c05c7893f6df8258998eed8983056c77586df81
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>

66f76f28 03-Jan-2017 Filip Tehlar <ftehlar@cisco.com>

LISP: fix EID addition

Change-Id: I32f61ab89598a7911df3d0d8f45de1302af8aa6a
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>

b17402ec 02-Jan-2017 Gabriel Ganne <gabriel.ganne@qosmos.com>

preserve environment when make install-dep

for those who work behind a firewall/proxy-server

Change-Id: I099830d2da05296b2f109ca25576a1e865ddcce6
Signed-off-by: Gabriel Ganne <gabriel.ganne@qosmos.com>

b05116ef 15-Dec-2016 Filip Tehlar <ftehlar@cisco.com>

LISP: fix fwd entry addition

Change-Id: Ibdc9ad21cc53cf0a6d571a3f913038d61d9282a1
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>

da8b9a88 03-Jan-2017 Gabriel Ganne <gabriel.ganne@qosmos.com>

vlxlan-gpe - fix api registering

(was registering span api twice instead)

Change-Id: I196d520061d10872fd795c0b1115574591e8d978
Signed-off-by: Gabriel Ganne <gabriel.ganne@qosmos.com>

0be5ec30 28-Dec-2016 Damjan Marion <damarion@cisco.com>

Do not require external vppapigen when not cross-compiling

Change-Id: I80b8348ed4efd53d292c37a1ff69c13ee4741986
Signed-off-by: Damjan Marion <damarion@cisco.com>

78c3ba4f 03-Jan-2017 Matus Fabian <matfabia@cisco.com>

SNAT: fix out2in ICMP worker lookup

Change-Id: I113e7927739de876f07c3f17454ad7499a74c634
Signed-off-by: Matus Fabian <matfabia@cisco.com>

71f8742a 03-Jan-2017 Damjan Marion <damarion@cisco.com>

jvpp: install jvpp_common.h into include/

Change-Id: Iaffc619f3219239e753609f0963d396237aae378
Signed-off-by: Damjan Marion <damarion@cisco.com>

cb58b233 03-Jan-2017 Damjan Marion <damarion@cisco.com>

deb: fix issues in debian/control, silence some warnings

Change-Id: I135646dbc641b1ff517fc137f8c653f7f3fe60fe
Signed-off-by: Damjan Marion <damarion@cisco.com>

2fbd1ae1 03-Jan-2017 Damjan Marion <damarion@cisco.com>

Improve Java 8 detection m4 script to deal with pre-set JAVA_HOME

Change-Id: I38685530634fd43d0a46ff43e5ef7d62b9ee4d9b
Signed-off-by: Damjan Marion <damarion@cisco.com>

5a68debd 13-Dec-2016 root <root@intel-rd.labo>

vpp-python-api deb packaging - use easy_install to install the python api

Change-Id: I67963d5a6ec324b13c50f8f6c51ed3c715b4c145
Signed-off-by: Gabriel Ganne <gabriel.ganne@qosmos.com>

3cd9eed6 03-Jan-2017 Wojciech Dec <wdec@cisco.com>

Fix crash on null vhost-user socket - VPP-573

Fix for VPP-573.

Change-Id: If7d9690901efebf62fdf28219097153d98c79c0c
Signed-off-by: Wojciech Dec <wdec@cisco.com>

d63370cc 03-Jan-2017 Wojciech Dec <wdec@cisco.com>

Fix crash on vhost-user deletion - VPP-571

Fixes VPP-571.
VPP crashes when deleting created vhost interfaces
which have not been configured with L3 or
bridge-domain.

Change-Id: I7fe6f2e52d4d5d77ec3c122758aa4bf43250b1d1
Signed-off-by: Wojciech Dec <wdec@cisco.com>

b12794e1 02-Jan-2017 Klement Sekera <ksekera@cisco.com>

make test: fix debug print

Change-Id: Id31a1a3644bdc245f12f3c9bce211099c5ef48f8
Signed-off-by: Klement Sekera <ksekera@cisco.com>

a9135348 02-Jan-2017 Klement Sekera <ksekera@cisco.com>

make test: rotate capture files after consuming arp/ndp

Change-Id: I512dc07638b4539d4a75e2ac40d3acee77f0bba6
Signed-off-by: Klement Sekera <ksekera@cisco.com>

c86fa022 02-Jan-2017 Klement Sekera <ksekera@cisco.com>

make test: fix assert_nothing_captured api

Change-Id: I5cd11adcbd90a018deb3cd7cf157f72d9ab76e1c
Signed-off-by: Klement Sekera <ksekera@cisco.com>

8372ff4f 02-Jan-2017 Jan Gelety <jgelety@cisco.com>

Update CSIT tests 161218 -> 170101

- update of CSIT operational branch to be used for VPP-patch test

Change-Id: I58f631e9319e55e5dd23516776fcbb9e9798a489
Signed-off-by: Jan Gelety <jgelety@cisco.com>

605c6367 02-Jan-2017 Dave Barach <dave@barachs.net>

Update emacs plugin generator skeleton

Generated code compiles with the new build scheme, works, etc.

Change-Id: I147aa5fa580a71ef25615b02277870867e475042
Signed-off-by: Dave Barach <dave@barachs.net>

5e6b9580 12-Dec-2016 Dave Barach <dave@barachs.net>

Handle execessive hash collisions, VPP-555

Change-Id: I55dad7b5cfb3d38c22b1105f7d2d61e7449410ea
Signed-off-by: Dave Barach <dave@barachs.net>

77fabdbc 02-Jan-2017 Klement Sekera <ksekera@cisco.com>

make test: improve test_flowperpkt

Change-Id: Id1b2bef2a93ac931a420d7a3c322d65c1fbce055
Signed-off-by: Klement Sekera <ksekera@cisco.com>

5d224489 02-Jan-2017 Matus Fabian <matfabia@cisco.com>

fix run-vat path

Change-Id: Idfe5050b2db35794687da797afdca60a707aa42c
Signed-off-by: Matus Fab