aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins
AgeCommit message (Collapse)AuthorFilesLines
2019-09-21rdma: add support for input feature arcsBenoît Ganne1-29/+35
Input feature arcs enable functions such as l2patch or bonding. Type: feature Change-Id: Ie333c9b8f7ea20f8a3a409a9a06367807e215a57 Signed-off-by: Benoît Ganne <bganne@cisco.com> (cherry picked from commit 74eba446b1e71f7fe5bac29cf30d4363a9b8b0cd)
2019-09-20bonding lacp: deleting virtual interface which was enslaved may cause crashSteven Luong2-20/+27
Virtual interfaces may be part of the bonding like physical interfaces. The difference is virtual interfaces may disappear dynamically. As an example, the following CLI sequence may crash the debug image create vhost-user socket /tmp/sock1 create bond mode lacp bond add BondEthernet0 VirtualEthernet0/0/0 delete vhost-user VirtualEhernet0/0/0 Notice the virtual interface is deleted without first doing bond delete. The proper order is to first remove the slave interface from the bond prior to deleting the virtual interface as shown below. But we should handle it anyway. create vhost-user socket /tmp/sock1 create bond mode lacp bond add BondEthernet0 VirtualEthernet0/0/0 bond del VirtualEthernet0/0/0 <----- delete vhost-user VirtualEhernet0/0/0 The fix is to register for VNET_SW_INTERFACE_ADD_DEL_FUNCTION and remove the slave interface from the bond if the to-be-deleted interface is part of the bond. We check the interface that it is actually up before we send the lacp pdu. Up means both hw and sw admin up. Type: fix Signed-off-by: Steven Luong <sluong@cisco.com> Change-Id: If4d2da074338b16aab0df54e00d719e55c45221a (cherry picked from commit bac326cb7c5f8856786ca046df8cfa3be9f53926)
2019-09-20hsa: Refactor quic_echo to allow other protocolsNathan Skrzypczak10-2324/+2886
Type: refactor Change-Id: Iaef9091e1d057110530255e644fad1c298418966 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-09-20quic: quic_app_rx_callback refactor.Mathias Raoul1-117/+167
Add quic_process_one_rx_packet() function Type: refactor Change-Id: Iecaec3f7fed9f95a25ea55d0251626beb79181fd Signed-off-by: Mathias Raoul <mathias.raoul@gmail.com> (cherry picked from commit f85770c4a190babdb47cb1cdc87467eaccac1f0b)
2019-09-19dpdk: ipsec tunnel support for ip6-in-ip4Matthew G Smith2-23/+10
Type: feature If an attempt was made to send an IPv6 packet over an IPv4 tunnel, the DPDK esp_encrypt did not complete setting up the crypto operation for a buffer, but still queued the crypto operations that were allocated. This results in a SEGV when attempting to dequeue them in dpdk-crypto-input. Allow IPv6 packets to be sent over a v4 tunnel when using the DPDK plugin esp crypto nodes. Change-Id: Ic9a4cd69b7fc06a17ab2f64ae806ec2ceacfef27 Signed-off-by: Matthew Smith <mgsmith@netgate.com> (cherry picked from commit 5025d40a1134272ab57c3c3f10311e31a65cd63c)
2019-09-19gbp: add local l3out redirect to local SEP unit testBenoît Ganne1-3/+36
Type: test Change-Id: Ia6dad86d02f6f665a3e6960812b2527eaabb65f1 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-09-18memif: always enable zero-copy when creating memif using APIJakub Grajciar1-0/+3
Type: fix Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com> Change-Id: I823b6297e1d2bdd438633ec7b877960e6d8423fa (cherry picked from commit 63882357549a39c7be4b23b48418b8febb5b0e12)
2019-09-12api: split vl_api_prefix into twoOle Troan2-6/+6
One type for address with prefix and one type for prefix. Ticket: VPP-1769 Type: fix Signed-off-by: Ole Troan <ot@cisco.com> Change-Id: Icfec51d9b7d5cde1d69fbecdd97498688ab7b295 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2019-09-09dpdk: initialize rte_mbuf during mempool dequeueDamjan Marion1-1/+44
In some cases it may happen that buffer is allocated by DPDK, and freed by VPP native code. In such cases dpdk metadata is not reset, so we need to do that during mempool dequeue. Template approach is taken to reduce cost of that operation. Type: fix Fixes: 910d369 Change-Id: Ic239007cfc8fbceb965021c56963cda9d53f63be Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-09-09dpdk: fix extended statsFilip Tehlar1-1/+1
Extended stats are not displayed due to incorrect condition. Type: fix Change-Id: Ie04664e6274137462dce832bf7ee06204cd77be5 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-09-09api: enforce vla is last and fixed string typeOle Troan7-144/+56
Enforce that variable length fields are the last element of API messages. Add a 'fixed' version of string type, since dealing with multiple variable length strings turned out too painful for the C language bindings. The string type is now: { string name[64]; // NUL terminated C-string. Essentially decays to u8 name[64] string name[]; // Variable length string with embedded len field (vl_api_string_t) }; The latter notation could be made available to other types as well. e.g. { vl_api_address_t addresses[]; } instead of { u32 n_addr; vl_api_address_t addresses[n_addr]; }; Type: fix Change-Id: I18fa17ef47227633752ab50453e8d20a652a9f9b Signed-off-by: Ole Troan <ot@cisco.com> (cherry picked from commit e5ff5a36dd126ee57dca4e0b03da2f7704e0a4f5) Signed-off-by: Ole Troan <ot@cisco.com>
2019-09-07ip: fix udp/tcp checksum corner casesDave Barach9-0/+987
When checksumming chained buffers with odd lengths: insert a NULL byte, or the calculation fails. Type: fix Signed-off-by: Dave Barach <dave@barachs.net> Signed-off-by: John Lo <loj@cisco.com> Change-Id: I380f7c42897bdb28c8c29aa1c4cdaaa849cc9ecc (cherry picked from commit c4abafd83df38051765352785b146277734701f4)
2019-09-05crypto: add '-maes' compile switchBenoît Ganne2-2/+2
AES intrinsics use builtins available only with the -maes and GCC 9 just started to enforce it. Type: fix Change-Id: Ia6825ea3eae7191a4bfee47f9fa93fad16ccf76c Signed-off-by: Benoît Ganne <bganne@cisco.com> (cherry picked from commit 561be280feb6a10834bf50e0813cc0ad3c635067)
2019-09-05gbp: add unknown remote EP redirect unit testBenoît Ganne1-6/+27
Type: test Change-Id: I1dfbeef08a4f112551450682fc4040820251485b Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-09-05gbp: add remote EP redirect to remote SEP unit testBenoît Ganne1-1/+94
Type: test Change-Id: I4dd685f9acd4d467e0967e6fdd428558ffc8b209 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-09-04quic: handle session migration notificationsAloys Augustin1-63/+38
Rely on the migrate callback to move quic connections to follow the underlying udp connection placement. Change-Id: Ia1cf3a16187bbe48f5afb3d1f444427f288ff79c Type: fix Signed-off-by: Aloys Augustin <aloaugus@cisco.com> (cherry picked from commit 243e1933bbecce0a251a5ff71c12dced9e30823f)
2019-09-03vmxnet3: interface rx counter not increment correctlySteven Luong1-1/+1
vlib_increment_combined_counter takes sw_if_index, not hw_if_index. Using hw_if_index may work as long as there is no subinterface created to cause hw_if_index and sw_if_index to differ. Type: fix Ticket: VPP-1760 Signed-off-by: Steven Luong <sluong@cisco.com> Change-Id: If50412dc1e84c4f1f5b977b58d0e1aeb5ab8ebe6 (cherry picked from commit ddf625d6035d9e472bcb1a2b0197f6fd30278583)
2019-09-03nat: handoff traffic matching for dynamic NATFilip Varga9-222/+493
Type: feature Change-Id: I5c5af6f9acb340cc674323305104b8ce23e6d21d Signed-off-by: Filip Varga <fivarga@cisco.com> (cherry picked from commit 22bb417e91c7bdf639b24b5edd321028f56ea04a)
2019-09-02acl: perform a sanity check of ACL rules before creating ACLAndrew Yourtchenko1-0/+65
Adding acl with incorrect arguments like 1.1.1.1/24 (instead of 1.1.1.0/24) don't cause a disaster, but doesn't match either, as some might expect. Add an explicit sanity check which returns an error. Type: fix Change-Id: Id1601f4b9c9887d3e7e70aac419d1f1de0c0e012 Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2019-08-30dpdk: enable checksum offload for Intel SRIOV NIC driversJohn Lo1-0/+8
Type: fix Signed-off-by: John Lo <loj@cisco.com> Change-Id: I3ee59106ba45164a4ee3788bf4dcf5bf4c2dc1c2 (cherry picked from commit 03598c4bcc639cbfc9afa13c5b4e52440f9eae2b)
2019-08-26avf: properly set irq queue masksDamjan Marion1-1/+2
Type: fix Fixes: ae91180 Change-Id: I9c55c3fdf41089d337b998e2e28abb23d81525ef Signed-off-by: Damjan Marion <damarion@cisco.com> (cherry picked from commit 2ca9a84bd00f2aee642d0147c1b99d4be5725a70)
2019-08-23tests: move plugin tests to src/plugins/*/testDave Wallace33-0/+30016
- Relocate plugin tests for 'make test' into src/plugins/*/test so that plugin test cases are co-located with the plugin source code. Type: refactor Ticket: VPP-1754 Signed-off-by: Dave Wallace <dwallacelf@gmail.com> Change-Id: I503e6a43528e14981799b735fa65674155713f67 (cherry picked from commit a43c93f8554ad7418e31be3791b3fb71232f60ac)
2019-08-23dns: cherry-pick 21444, 21468 from masterDave Barach12-0/+5143
Type: refactor Ticket: VPP-1752 Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: Ieaec721056531ba0c70538c9bf97769a0e80aefd
2019-08-15acl: fix stats-segment counters validation on acl updateAndrew Yourtchenko2-8/+46
The stats-segment validation/clear logic for acl counters was wrong, fix it. Also add the code to the unittests to cover that case, add a vat command to enable/disable counters, clean up the unnecessary endian conversion and remove the stray clib_warning() Change-Id: I421297a92e4aeb885c468c72a97cec25981df615 Type: fix Ticket: VPP-1744 Fixes: f995c7122ba0d024b17bc3232e8edd18d5e25088 Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2019-08-14gbp: do not scan gbp bihash if not instantiatedBenoît Ganne1-0/+6
Type: fix Fixes: 32dcd3b2f227dec638c39ade0c58d6741d83ec30 Change-Id: I42550fcc5b3fa486a05770d3e220d7a86315628e Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-08-12http_static: manual cherry-pick 21231,21246Dave Barach1-51/+94
Type: fix Ticket: VPP-1736 Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: Ie34d1b7d7030c160972f3173a4401ef632e38633
2019-08-12http_static: tls supportDave Barach1-100/+356
Type: refactor Ticket: VPP-1736 Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I45745e568cd943293d0015a61f67ec799b6804d8 (cherry picked from commit 6b53fd5163de7d1f452b472ec3ad945f4dbd694c)
2019-08-09tls: mark as no lookup transportFlorin Coras1-14/+24
Type:fix Also fix transport close while handshake is ongoing. Change-Id: I004c56d2297d0847c2cb77202f8fba3edaacad29 Signed-off-by: Florin Coras <fcoras@cisco.com> (cherry picked from commit d09236d17d86a5d50166b2017f8f30a560c6e1b8)
2019-08-09tls: fix close with dataFlorin Coras1-12/+43
Type:fix Also changes the way the ctx is freed. TLS now waits for tcp delete notification before freeing the ctx. Change-Id: I2f606a9ce7b3755ae9d11d6fe714fe11b65dcb98 Signed-off-by: Florin Coras <fcoras@cisco.com> (cherry picked from commit ef2b3357b4b2a682ef81ffa2c71cec14f83101d6)
2019-08-07rdma: add missing symbolsBenoît Ganne1-2/+4
rdma-core-25.0 move some symbol to another library, make sure we link to it. Type: fix Fixes: ec757593859bd8c16839ea8a81a2ef4eb8b29539 Change-Id: I6b8a56ea5fc7787d3de0982015ed47b767557c06 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-08-06gbp: update gbp endpoint cliBenoît Ganne1-5/+6
Type: feature Change-Id: I0afc6eb4765029dc28859c9ac2b0578749a38d3d Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-08-06quic: Add missing session_migrate_callbackNathan Skrzypczak1-0/+7
Change-Id: Ibbec53e07852f1b8987696fddbc3bf83f75705ce Type: fix Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-08-06rdma: fix double-free in rdma-txBenoît Ganne2-9/+10
In case of tx success after multiple retries, the last buffers to be enqueued will be both enqueued for tx and freed. Type: fix Fixes: 211ef2eb24 Change-Id: I57d218cff58b74c1f3d6dc5722624327f0821758 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-08-06dpdk: remove SFP eeprom dump from 'show hardware-interfaces' and 'show ↵Lijian.Zhang1-2/+5
hardware-interfaces verbose' Type: fix It's time-consuming to execute 'show hardware-interfaces detail' in CSIT script. 'show hardware-interfaces' dumps SFP eeprom, via a software emulated I2C bus. Currently 'show hardware-interfaces', 'show hardware-interfaces verbose' and 'show hardware-interfaces detail' give exactly the same output, and they all will dump SFP eeprom. Will move the SFP eeprom dump to 'show hardware-interfaces detail' only, and use “show hardware-interfaces verbose” in CSIT script to save time. Change-Id: I1a6e5a0ca5fce5b4f0b9a6eb4e9dfd76d45b2487 Signed-off-by: Lijian Zhang <Lijian.Zhang@arm.com>
2019-08-05docs: Add more quic plugin documentationNathan Skrzypczak2-38/+127
Type: docs Change-Id: I0209769f73a46ddad7c2625ad0f774ee2eef43dd Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-08-05quic: fix memset 0 picotls depends onNathan Skrzypczak1-0/+1
Type: fix Change-Id: Id03cc839662179f8543b0b3f540932e1d87f1cea Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-08-02quic: Improve quic echo connect threadingNathan Skrzypczak4-732/+870
Type: fix Change-Id: I64f90139ad70e722f1ecbc4e0c6c1e723ec0f054 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-08-02vmxnet3: don't bypass ethernet_inputSteven Luong2-15/+6
Queue everything to ethernet_input to not break pcap rx trace. Fix a minor typo in vmxnet3_api.c Type: fix Signed-off-by: Steven Luong <sluong@cisco.com> Change-Id: I7df7b3e20b525e3d6f7421c8e213b6541cdd15b6
2019-08-02lb: fix usage of lb_main in testFlorin Coras1-2/+18
Type: fix Change-Id: I9f8a8da31624637c060a9757256589c8f372f192 Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-08-02quic: fix connection move with multiple workersAloys Augustin1-13/+35
Change-Id: Ibd1012c2c1382de442ed294dd9e8a0ec89349fa1 Type: fix Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
2019-08-01quic: Improve quicly_ctx handling & crypto ctxNathan Skrzypczak2-135/+148
Type: fix Change-Id: I898de67c017c3a45bed123d81041b32b43f749d0 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-08-01nat: handoff rewrite & fixes for multi-workerFilip Varga2-60/+163
Type: fix Change-Id: Ib9164d8f6c681e8900e645306f3a2dc0ac0e40a8 Signed-off-by: Filip Varga <filipvarga89@gmail.com>
2019-07-31lb: vip and as dump/detail api'sHongjun Ni7-75/+441
- lb_vip_dump/lb_vip_details - get all vip. - lb_as_dump/lb_as_details - get all as list per vip. - adds api unit test. - adds vpp_lb to test framework. Ticket: Type: feature Change-Id: I24be50d62c5234f3535cc840603ddd9df7eb3f07 Signed-off-by: Hongjun Ni <hongjun.ni@intel.com> Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com> Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2019-07-31nat: elog rewrite for multi-worker supportFilip Varga17-142/+340
Type: fix Change-Id: I04f136a04bc022d223e4bcb5c59920bd1f1fd560 Signed-off-by: Filip Varga <filipvarga89@gmail.com>
2019-07-31vppinfra: refactor test_and_set spinlocks to use clib_spinlock_tjaszha038-69/+54
Spinlock performance improved when implemented with compare_and_exchange instead of test_and_set. All instances of test_and_set locks were refactored to use clib_spinlock_t when possible. Some locks e.g. ssvm synchronize between processes rather than threads, so they cannot directly use clib_spinlock_t. Type: refactor Change-Id: Ia16b5d4cd49209b2b57b8df6c94615c28b11bb60 Signed-off-by: Jason Zhang <jason.zhang2@arm.com> Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> Reviewed-by: Lijian Zhang <Lijian.Zhang@arm.com>
2019-07-31fib: fix calls to unformat_fib_pathNeale Ranns2-4/+5
Type: fix Ticket: 1728 Change-Id: I679c2b8c5b0f751c9476db3669ab3f6c26dcdd28 Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-07-30quic: fix cert loadingNathan Skrzypczak3-12/+17
Type: fix Change-Id: I29d24c8ec7b8e0613d4fbf5eedc72384326dc284 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-07-30quic: cleanup and refactorisationAloys Augustin7-525/+634
Change-Id: I031a60ac010b55110f32f0a08e19b1156aeda268 Type: refactor Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
2019-07-30vppinfra: refactor use of CLIB_MEMORY_BARRIER ()jaszha031-2/+2
All instances of test_and_set locks used the following sequence to release the locks: CLIB_MEMORY_BARRIER (); p->lock = 0; // p is a generic struct with a TAS lock Use clib_atomic_release to generate more efficient assembly code. Type: refactor Change-Id: Idca3a38b1cf43578108bdd1afe83b6ebc17a4c68 Signed-off-by: Jason Zhang <jason.zhang2@arm.com> Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> Reviewed-by: Lijian Zhang <Lijian.Zhang@arm.com>
2019-07-30vppinfra: conformed spinlocks to use CLIB_PAUSEjaszha031-2/+3
Modified test-and-set spin locks to call CLIB_PAUSE () when spinning for code consistency. Decreases the memory bandwidth consumed. Type: fix Change-Id: I1cca4f87f44f23f257c7a35466cd2e7767072f51 Signed-off-by: Jason Zhang <jason.zhang2@arm.com> Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> Reviewed-by: Lijian Zhang <Lijian.Zhang@arm.com>