summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2019-09-20session: add explicit reset apiFlorin Coras6-6/+72
Type: feature This can be used to forcefully close a session. It's only available to builtin applications for now. Transports must support the reset api otherwise normal close is used. Change-Id: I5e6d681cbc4c8045385e293e0e9d86fa2bf45849 Signed-off-by: Florin Coras <fcoras@cisco.com> (cherry picked from commit dfb3b8771292e4c863ca266856aa2b5eb7cc7518)
2019-09-20tcp: set cc_algo on connection allocFlorin Coras3-6/+19
Type: feature Change-Id: Ie00329b11e26cab5db64b9c006171d283854c8ef Signed-off-by: Florin Coras <fcoras@cisco.com> (cherry picked from commit 12f6936cd8f69f17820ef749515fcf4d50001c60)
2019-09-20tcp: allow cc algos to set pacing rateFlorin Coras2-8/+15
Type: feature Change-Id: Ie7f0f5d2a476d401ede567e422abb953b2bb4a78 Signed-off-by: Florin Coras <fcoras@cisco.com> (cherry picked from commit d206724e78d99aee5d91d43fb0832d51d70eb57a)
2019-09-20vppapigen: fix missing vla check for union classOle Troan2-48/+111
Type: fix Signed-off-by: Ole Troan <ot@cisco.com> Change-Id: Ie775cf3469d761847ac39cf0d80a3ec6463b7928 (cherry picked from commit d5a78a5310ff25c0c34ce5773acd8211d48f59f6) Signed-off-by: Ole Troan <ot@cisco.com>
2019-09-20bonding lacp: deleting virtual interface which was enslaved may cause crashSteven Luong5-46/+66
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-20devices: vhost-user crashes displaying show trace for deleted interfaceSteven Luong1-6/+10
After the trace is collected and if the interface is then deleted, show trace may crash for the debug image. This is due to the additional check in pool_elt_at_index() to make sure that the block is not free. The fix is to do the check in vhost format trace and return "interface deleted" Type: fix Signed-off-by: Steven Luong <sluong@cisco.com> Change-Id: I0744f913ba6146609663443f408d784067880f93 (cherry picked from commit 5cd987dda679fe50b9cd7a834bb9162db39ade78)
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-19misc: fix pcap rx/tx status commandDave Barach1-1/+1
Type: fix Ticket: VPP-1775 Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I48a1c385ccfabca84dfb61aac526c7f67d9822d3
2019-09-19ipsec: fix missed IPSEC_INTEG_ALG_MD5_96Dmitry Vakhrushev2-3/+8
This algorithm was missed in last improvements. Type:fix Signed-off-by: Dmitry Vakhrushev <dmitry@netgate.com> Change-Id: Ib818cbdcdd1a6f298e8b0086dac4189cc201baa3 (cherry picked from commit 77cc14a2b29a65073539e6e3f4683a380875b3dc)
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-19stats: refactor header filesDave Barach5-82/+104
Performant stat segment scraping involves caching the results of stat_segment_ls (...) and directly fishing counter data from the shared-memory segment. To do that, we need to publish several things previously hidden, declared in stat_client.c: o stat_client_main_t typedef o stat_segment_access_t typedef o stat_segment_access_start inline function o stat_segment_access_end inline function Type: refactor Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I3175e3d1f1fd8ea816336a584565179d1972115c (cherry picked from commit 531969ef614bdc15c45dae0f1b5e90afaf86eb7b)
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-18ip: allow addrs from the same prefix on intfMatthew Smith6-109/+532
Type: feature Adding a prefix to an interface was not permitted if it overlapped with another prefix on an interface which used the same FIB. Loosen the restriction. Allow 2 or more addresses from the same prefix on a single interface. Reference count the prefix to figure out when a glean/connected route for the prefix needs to be added or removed. Added unit tests to check that the route is only removed when all addresses in the prefix are removed from the interface. Change-Id: I1a962ecb5e1ee65fc6d41f98a4cc097a51a55321 Signed-off-by: Matthew Smith <mgsmith@netgate.com> (cherry picked from commit 6c92f5babdc3c52cf343509fc9cf9d8a9a3df390)
2019-09-18misc: 19.08.1 Release Notesv19.08.1Andrew Yourtchenko1-0/+69
NB: due to a API-breaking fix (https://gerrit.fd.io/r/#/c/vpp/+/21762/) for a critical issue that was necessary, we are deferring the artifacts for 19.08 Change-Id: If4f73dd7bc2964cb0a765ee6006b944f075a423b Type: docs Signed-off-by: Dave Wallace <dwallacelf@gmail.com> Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.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-18build: fix rpm python 3 dependsEd Kern1-1/+1
Type: fix Change-Id: Ie6eaccb27779bb14c0a23764a16cd22f0a72e379 Signed-off-by: Ed Kern <ejk@cisco.com> (cherry picked from commit c63c0166ee5a4e23cb286a97ae4f196f2020e3fa)
2019-09-12api: split vl_api_prefix into twoOle Troan14-46/+241
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-10misc: clean up "pcap [rx|tx] trace" debug CLIDave Barach4-168/+196
Separate debug CLI arg parsing from the underlying action function. Fixes a number of subtle ordering dependencies, and will allow us to add a binary API to control the feature at some point in the future. Type: refactor Ticket: VPP-1770 Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: Id0dbeda06dad20e756c941c691e2088ce3c50ec7 (cherry picked from commit b97641c79f4aaf0069268c550f263167ddea2b34)
2019-09-09dpdk: initialize rte_mbuf during mempool dequeueDamjan Marion2-1/+47
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-09vlib: clean up the "pcap dispatch trace" debug CLIDave Barach3-136/+186
Separate debug CLI arg parsing from the underlying action function. Fixes a number of subtle ordering dependencies, and will allow us to add a binary API to control the feature at some point in the future. Type: refactor Ticket: VPP-1762 Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I1240fe3f61a0acf5ee9faed60d6ad3386e72e569 (cherry picked from commit e5948fb49a6eeaf437323cc1043a350cd33bcd47)
2019-09-09api: enforce vla is last and fixed string typeOle Troan22-270/+266
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 Barach13-5/+1311
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-05tap: revert clean-up when linux will delete the tap interfaceMohsin Kazmi2-43/+0
Type: fix Ticket: VPP-1766 revert e4ac48e792f4eebfce296cfde844ee73b1abd62f Change-Id: I03feea4008a47859d570ad8d1d08ff3f30d139ef Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
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-04ethernet: fix dmac check avx2 loop conditionMatthew Smith1-1/+1
In eth_input_process_frame(), a loop which checks the destination MAC address of received packets had a different condition for avx2 than it did for the non-avx2 version of the loop. It could result in one unnecessary execution of the loop body after all packets had been processed. Type: fix Fixes: 8d6f34e2b1cbfde5702e88686631527d5e1e10a0 Change-Id: Ib673f45917a0dea461987fdc8f0ca318b749fb1a Signed-off-by: Matthew Smith <mgsmith@netgate.com> (cherry picked from commit a6d4e3135b70db1b1df3f8852e1e229d13c24e72)
2019-09-03vppinfra: add bihash_init2Dave Barach2-20/+53
Add controls to list / not list a specific bihash in clib_all_bihashes, to immediately initialize a bihash. clib_bihash_init2 is now the primary API. It takes a typical args_t structure. clib_bihash_init becomes a compatibility widget. It fabricates an args_t and calls init2... Type: refactor Ticket: VPP-1758 Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: Ib3e1304884997cf7025af20bdc67a7dda290f15b (cherry picked from commit bdf9b97774f02458ede6b7c7ae2d5728bddba000)
2019-09-03tap: interface rx counter not increment correctSteven 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-1759 Signed-off-by: Steven Luong <sluong@cisco.com> Change-Id: I6db042186eeeacf32250f7ef261af8cd6f5ce56e (cherry picked from commit efa119db3910e77f79eb005c67f8c01b473b40a1)
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-09-02ip: ip6_preflen_to_mask incorrect result for prefix len > 64Andrew Yourtchenko1-0/+1
The as_u64[0] in the result was not correctly filled in for longer prefix lengths. Type: fix Fixes: 1c7104514c Change-Id: I871772c618475396d1c1c4c699ff77e35097f07e Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com> (cherry picked from commit 59ac9c23c47962fbbd935e7075ff7ee89e955847)
2019-09-02gso: fix segmentation when gso_size greater than vlib buffer sizeMohsin Kazmi2-1/+36
Type: fix Ticket: VPP-1751 Change-Id: I5ffb078492adc97374290de404f2ec0102b75184 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com> (cherry picked from commit 3f1964d2d2847c5307694fe8daea0a7eef1e2733)
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 Wallace34-1/+10
- 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 Barach17-410/+794
Type: refactor Ticket: VPP-1752 Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: Ieaec721056531ba0c70538c9bf97769a0e80aefd
2019-08-21misc: 19.08 new featuresv19.08Andrew Yourtchenko2-0/+141
The full RELEASE.md diff is b610f2022c9f4e10a922e7b57c80ec77cd45d021 Change-Id: Ide6d85d41bdc836a03390a50ab94f6ebbaae0b28 Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2019-08-20devices: skip checksum calculation if guest supports checksum offloadSteven Luong1-3/+7
Set VNET_HW_INTERFACE_FLAG_SUPPORTS_TX_L4_CKSUM_OFFLOAD for the interface to skip checksum calculation if guest supports checksum offload. Type: fix Ticket: VPP-1750 Signed-off-by: Steven Luong <sluong@cisco.com> Change-Id: Ie933c3462394f07580ef7f2bec1d2eb3b075bd0c (cherry picked from commit a75ad876401a700127ebf234fc422e76fcd57b4c)
2019-08-20tcp: default to debug disabledFlorin Coras1-1/+1
Type:fix Ticket:VPP-1737 Change-Id: Ib5c33f0bdb3a8b1c2585135fcc8c07b151e47df3 Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-08-20dns: handle multiple replies for single requestsDave Barach4-59/+126
The world is a mess. A single DNS request may yield multiple, subtly different responses; all with the same DNS protocol-level ID. Last response wins in terms of what ends up in the cache. First response wins in terms of the response sent to the client. Hard to do otherwise since we have no clue that more than one answer will be forthcoming. Type: fix Ticket: VPP-1749 Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I3175a40eb1fea237048d16b852a430f5ab51eaef (cherry picked from commit e8d2dcb6a619f0884ece2284a286f21b3aa77e5a)
2019-08-20misc: VPP 19.08 Release NotesAndrew Yourtchenko1-1/+688
Change-Id: I81c7ad50c66b4b8d690e87aad1f3c16af065fc85 Type: docs Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2019-08-19dhcp: resolver process node index in main_tDave Barach4-5/+3
Remove the (unused) node_registration_t, don't try to use it to signal resolution events. Type: fix Ticket: VPP-1746 Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: Ice975e32152892ac4100b9e758412d48a43f09f1 (cherry picked from commit 018c14b7dbc5a910693f150045bfa803c4ae4eec)
2019-08-19gso: fix l3 and l4 header offset in case of tagged interfaceMohsin Kazmi2-0/+28
previously, PG and virtio interfaces calculate wrong l3 and l4 header offset. This patch fixes this issue. Type: fix Ticket: VPP-1739 Change-Id: I5ba978e464babeb65e0711e1027320d46b3b9932 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com> (cherry picked from commit 14bea1bb6505c0134dd5d2a18bcc436ce72cd149)
2019-08-18gso: fix the segmentation to use current_data offsetMohsin Kazmi1-15/+16
Type: fix Ticket: VPP-1740 Change-Id: If3e34b5b8260e4c50af338895066c2c96f4603af Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com> (cherry picked from commit 0a5734372d7176146126f83f51b0b9062f90fe94)
2019-08-17gso: remove the ip checksum flag in case of ipv6Mohsin Kazmi2-2/+0
Type: fix Ticket: VPP-1727 Change-Id: Icfee35c5ab5e1c65079d1ca7bb514162319113e5 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com> (cherry picked from commit 7dfcf7f1f504f5e8283c54a428805cc3a4aa8da9)