summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2019-05-24rdma: add support for promiscuous modeBenoît Ganne2-71/+145
rdma interfaces filter packets per MAC by default to share the physical interface between multiple users (eg. VPP and Linux). When configured in promiscuous mode, all packets will go to this interface, regardless of the MAC. All other interface will not receive anymore packet while it is in promiscuous mode. Promiscuous mode is needed (and automatically turned on) for L2 path (l2patch, xconnect, bridge...). Change-Id: I4c0eb4421f51d116e635e7828d00f202f4a97ded Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-05-24Remove historical ip4 icmp OAM codeDave Barach9-1026/+7
Add a registration overwritten warning to ip4_icmp_register_type(...) Change-Id: I6c2aabdb979b54ec49e827225acc74559ac4caab Signed-off-by: Dave Barach <dave@barachs.net>
2019-05-23stats: fix memory leak in statseg configDave Wallace1-12/+18
Type: fix Change-Id: I383d5b189efc90ad418725b7e52888138dee0f75 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2019-05-23vpp_papi: Do not raise before find_api_dir()Vratko Polak1-4/+1
The change https://gerrit.fd.io/r/18352 has introduced a check which raises when neither apifiles nor apidir are set. This change removes that check, as it broke CSIT. If such a check is intended, find_api_dir() should be removed. Also, make sure you do not break CSIT next time. Change-Id: I0faab7c41d199e3aa5d5bc6aab0defd1ab9e10da Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-05-23rpm: VPP-1674: exclude external headers from rpmBenoît Ganne2-2/+2
External libraries headers such as DPDK, libibverb, quicly, etc. should not be packaged in vpp-dev RPM. Only package headers from vpp/ and vom/ subdirs. Change-Id: Ief1454bd1261c8cf4dcd3b105e28f6852439e896 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-05-23fix rte_eth_dev_info’ has no member named ‘pci_dev’ when run ↵cohu1-5/+9
show_dpdk_hqos_queue_stats Change-Id: Ic1a900e0fb85ee016af21535764dfca2e6282194 Signed-off-by: cohu <cong.hu@tieto.com>
2019-05-23crypto_ia32: multiarchDamjan Marion5-58/+70
Change-Id: Iead43a2b524b735a2069e611d899cd41d3a8efdc Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-05-23Fix vpp crash bug while deleting dhcp clientjackiechen19852-1/+2
We must do lock fib while vrf id ~0, otherwise it crashes while unlocking fib. Change-Id: Iec9754ccd67634a132bc5384a4f796d4a65943ae Signed-off-by: jackiechen1985 <xiaobo.chen@tieto.com>
2019-05-23Optimize codejackiechen19851-9/+4
Replace enqueue code with marcro vlib_validate_buffer_enqueue_x1 Change-Id: I4b454b1d73fa5adbaf5f40cf45dc8975878ac93b Signed-off-by: jackiechen1985 <xiaobo.chen@tieto.com>
2019-05-23fix show session verbose crash with quic transportDave Wallace1-2/+48
Type: fix Change-Id: I8199c233f6968ac147fb1867a4f10ef04d67642f Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2019-05-22fix show session verbose crash with udp transportDave Wallace1-0/+2
Type: fix Change-Id: Ib3a2777317f8c57e91ce43820ad7ca5d10ac8677 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2019-05-22new_log2_pages may increase 2dongjuan1-1/+0
when try_resplit Signed-off-by: dongjuan <dong.juan1@zte.com.cn> Change-Id: I3ebbe7d2d11453700503df7f3be549781d8b73a7
2019-05-22gtpu: don't register udp ports unless a tunnel is createdJakub Grajciar1-5/+11
Change-Id: I2945c2a2062ee5eda78f783c55cf16c2d60f959c Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2019-05-22vxlan-gpe: fix CLI document errorZhiyong Yang1-3/+3
Change-Id: Id95fd604ed181a2f70c24e2c8cc4321755b7ba7f Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
2019-05-22make test: fix bug due to concurrent commitsKlement Sekera1-4/+4
Change-Id: I912745950fe6e3f1688ef66b430ef86cdddd04cd Signed-off-by: Klement Sekera <ksekera@cisco.com>
2019-05-22make test: Fix QUIC External apps transfer testDave Wallace1-3/+9
Change-Id: Idc4cd1d3b29d4656f2df998162e6f99116518a58 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2019-05-22Fix Diffie-Hellman exchange with newer openssl APIChristian E. Hopps1-21/+16
Change-Id: Id42a597c130d0053d074446e552a81c7264549e7 Signed-off-by: Christian E. Hopps <chopps@chopps.org>
2019-05-22stats: support multiple works for error countersOle Troan24-183/+223
The current code only allowed access to the main thread error counters. That is not so useful for a multi worker instance. No return a vector indexed by thread of counter_t values. Type: fix Change-Id: Ie322c8889c0c8175e1116e71de04a2cf453b9ed7 Signed-off-by: Ole Troan <ot@cisco.com>
2019-05-21svm_queue_timedwait_inline: lock after waitVratko Polak1-1/+1
This fixes a typo introduced in https://gerrit.fd.io/r/18198 Change-Id: I634a06be95154d3e1c5e5711ea69f19c9c4cca44 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-05-21docs: add quic subpage to user docsVratko Polak2-2/+3
+ Sort subpage list. + Fix copypaste error in quic doc label. Change-Id: Id8bdb4ad0d744f9886db3631ddad0e29bbb3c938 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-05-21vmxnet3: gso_l4_hdr_sz is not set correctlySteven Luong1-16/+24
vnet_buffer2 -> gso_l4_hdr_sz is not set correctly because vnet_buffer->l4_hdr_offset is not set yet at the top. Move the code to set vnet_buffer->gso_l4_hdr_sz further down. Change-Id: I0110e4687572bb93cb593d7d4d14a3d5083af13a Signed-off-by: Steven Luong <sluong@cisco.com>
2019-05-21geneve_input: leverage vlib_get_buffersZhiyong Yang1-12/+11
vlib_get_buffers helps save 1.4 clocks/pkt from 34.6 to 33.2 clocks/pkt on Skylake. Change-Id: I741d10d20373f12d30ec8b04ad8c7444ffb42246 Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
2019-05-21QUIC: Add initial documentationAloys Augustin1-0/+38
Change-Id: Ic00f8827f572e13b07d55c6c2f10fb6cdebf7e72 Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
2019-05-20openssl plugin 3des routine iv_len fixVladimir Ratnikov2-3/+17
Since 3DES has 8 bytes of initialization vector and code contains hardcode for 16 bytes, check added to determine if crypto algorythm is 3DES_CBC and set corresponding iv_len param Change-Id: Iac50c8a8241e321e3b4d576c88f2496852bd905c Signed-off-by: Vladimir Ratnikov <vratnikov@netgate.com>
2019-05-20IPSEC: rename default backendNeale Ranns1-2/+2
Change-Id: I3a4883426b558476040af5b89bb7ccc8f151c5cc Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-05-20reassembly: prevent long chain attackKlement Sekera11-13/+181
limit max # of fragments to 3 per packet by default add API option to configure the limit at runtime Change-Id: Ie4b9507bf5c6095b9a5925972b37fe0032f4f9e8 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2019-05-20bonding: clean up redundant codeZhiyong Yang1-55/+44
1. remove unnecessary cast for void * pointer. 2. remove the unused input parameter. Change-Id: Ic0324364fc0c772200d30fb18a0ba959ed4f7ea4 Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
2019-05-20consolidate all mutux opertionPing Yu1-17/+17
replace all pthread_mutex_lock/unlock to be svm_queue_lock/unlock So there all operation is based on defined mutux, and it can help us to debug or replace mutux locking method Change-Id: I9aeeb03bbbbf3d7a824c06a535e5d6a6b463b42c Signed-off-by: Ping Yu <ping.yu@intel.com>
2019-05-18api: export ip_types.api for out-of-tree pluginsBenoît Ganne1-1/+5
Out-of-tree plugins can refer to IP types in their API. The .api and associated headers must be exported. Change-Id: I75004343b040defd9eebac6a8a95c2ecf3c8079a Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-05-18emacs-lisp: add missing '\' in templateDave Barach1-8/+7
Fixes the generated setup_message_id_table(...) implementation. Without a level of quoting in the emacs lisp skeleton, the underscore macro used to generate calls to vl_msg_api_add_msg_name_crc produces "fooCRC" instead of "foo_CRC". That confuses the Python language binding. Punctuation saves lives: "Let's eat Grandma" vs. "Let's eat, Grandma." Or some such. Change-Id: Ibecc20337092199d6757165ac96b70c830511bb3 Signed-off-by: Dave Barach <dave@barachs.net>
2019-05-17Add a debug-CLI leak-checkerDave Barach7-116/+87
leak-check { <any-debug-cli-command-and-args> } Hint: "set term history off" or you'll have to sort through a bunch of bogus leaks related to the debug cli history mechanism. Cleaned up a set of reported leaks in the "show interface" command. At some point, we thought about making a per-thread vlib_mains vector, but we never did that. Several interface-related CLI's maintained local static cache vectors. Not a bad idea, but not useful as things shook out. Removed the static vectors. Change-Id: I756bf2721a0d91993ecfded34c79da406f30a548 Signed-off-by: Dave Barach <dave@barachs.net>
2019-05-17Trivial typo. punt_node.cPaul Vinciguerra1-1/+1
Change-Id: I1455cb507f6ecffbb053b0e3e2de833dd40fa5f5 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-05-17Tests: Refactor. Remove copies of enums.Paul Vinciguerra4-62/+69
Use the enums provided from the api definitions instead. Change-Id: I43b7591df920c984e439efc4b3ec3c4121c539d8 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-05-17make test: Add QUIC serial transfer testDave Wallace1-2/+38
Change-Id: I7ed68dd199daa31269d45d67e0a4fa632e1a08d1 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2019-05-17Tests: Raise exception if API cli_inband command fails.Paul Vinciguerra8-19/+31
* Configure tests to raise exception if cli_inband fails. * Fix failing tests. * Add filename detail to pcap.stat clib_error_return for debugging. Note: this change identifies spurious issues with packet-generator such as: CliFailedCommandError: packet-generator capture: pcap file '/tmp/vpp-unittest-Test6RD-v09RPA/pg0_out.pcap' does not exist. These issues resolve themselves on remaining test passes. Change-Id: Iecbd09daee954d892306d11baff3864a43c5b603 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-05-17docs: Fix Versions and Titlesjdenisco4-7/+7
Change-Id: I131e33a570bff8b22c767585d03e2eb281dd7184 Signed-off-by: jdenisco <jdenisco@cisco.com>
2019-05-17Fix punctuation fails in 2x pluginsDave Barach2-2/+2
More to the point: fix the Python API binding for the plugins. The http_static and ct6 plugin setup_message_id_table calls didn't have "_"'s between message names and CRCs. I would have expected this to originate in the emacs skeleton, but the skeleton is correct. Punctuation saves lives: "Let's eat Grandma..." != "Let's eat, Grandma..." More or less. Change-Id: Icd87813308701d203cf6f147b2bb90d39d51ddeb Signed-off-by: Dave Barach <dave@barachs.net>
2019-05-17Load vat plugins late in the init sequenceDave Barach1-1/+1
After the related data-plane plugins have initialized their message IDs. Change-Id: I4202a9e46ef6cdb12a5186be0f2370e2f9ccbb78 Signed-off-by: Dave Barach <dave@barachs.net>
2019-05-1719.01.2 Release NotesAndrew Yourtchenko1-0/+9
Change-Id: Ia68372d397504ede789e40e9f7e1b939d09bc81a Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2019-05-17UDP-Local: fix unregistered portsNeale Ranns1-64/+51
- if the port is unregistered then write ~0 into the sparse vec, this allows the DP to send packets to ICMP - remove the v6 arcs from the v4 node and vice-versa (since they're never taken) - i have tests for this in a pending change for the punt socket Change-Id: Icbd97de2c2fc38490c16afc2e0b414d8436593c4 Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-05-17Fix 'terminal history off' crasherChris Luke1-7/+14
- 'set terminal history off' or '... limit 0' has an incorrect terminal condition and tries to vec_delete one-too-many times causing a crash. - Changing >= to > fixes this. - In any case, a single vec_delete is more efficient, so do that instead. Change-Id: Ia0db63b6c5c7891d75b302e793b4e4985dd86ebb Signed-off-by: Chris Luke <chrisy@flirble.org>
2019-05-17dpdk-ipsec: fix encrypt/decrypt single queueSergio Gonzalez Monroy6-39/+58
When the same worker thread processes packet for encrypt and decrypt, ie. single worker with bi-directional traffic, given that the queue is shared results in packets to be decrypted being dropped as the encrypt always happens first for each main loop. With this change, each crypto device queue is logically split into two queues, each half the real size, avoiding the described problem. Change-Id: Ifd3f15e316c92fbd6ca05802456b10a7f73f85da Signed-off-by: Sergio Gonzalez Monroy <sgmonroy@gmail.com>
2019-05-17gbp: Add unit tests for contractsMohsin Kazmi1-1/+224
Change-Id: Ib6615739b1db44b7788f462196cd477b6e23d67e Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2019-05-16tests: refactor. Replace literal constant w/ named constant.Paul Vinciguerra14-216/+257
* change literal packet count vlaues from 65 to a named constant of 67. (This value was recommended to exercise single, dual, and quad loops) Change-Id: Ieb1738dddacb8b6ea7fa25883032ac01a98399e1 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-05-16Add transport_opts to connect_sock bapiNathan Skrzypczak7-6/+28
Needed by QUIC to distinguish Q/Ssessions Change-Id: Idcc9e46f86f54a7d06ce6d870edec1766e95c82d Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-05-16docs: Update sphinx, requirements, support markdown tablesjdenisco9-30/+50
Change-Id: Ie7c546f5720b10fe5423397204e1ab5c22d7a2ba Signed-off-by: jdenisco <jdenisco@cisco.com>
2019-05-16DOC ONLY: document VLIB_INIT_FUNCTION schemeDave Barach1-4/+49
Change-Id: I15c4256621da6c8d47b1a7c41755ee6587996757 Signed-off-by: Dave Barach <dave@barachs.net>
2019-05-16init / exit function orderingDave Barach62-476/+959
The vlib init function subsystem now supports a mix of procedural and formally-specified ordering constraints. We should eliminate procedural knowledge wherever possible. The following schemes are *roughly* equivalent: static clib_error_t *init_runs_first (vlib_main_t *vm) { clib_error_t *error; ... do some stuff... if ((error = vlib_call_init_function (init_runs_next))) return error; ... } VLIB_INIT_FUNCTION (init_runs_first); and static clib_error_t *init_runs_first (vlib_main_t *vm) { ... do some stuff... } VLIB_INIT_FUNCTION (init_runs_first) = { .runs_before = VLIB_INITS("init_runs_next"), }; The first form will [most likely] call "init_runs_next" on the spot. The second form means that "init_runs_first" runs before "init_runs_next," possibly much earlier in the sequence. Please DO NOT construct sets of init functions where A before B actually means A *right before* B. It's not necessary - simply combine A and B - and it leads to hugely annoying debugging exercises when trying to switch from ad-hoc procedural ordering constraints to formal ordering constraints. Change-Id: I5e4353503bf43b4acb11a45fb33c79a5ade8426c Signed-off-by: Dave Barach <dave@barachs.net>
2019-05-16Add default value for API Nat flagsMichal Cmarada1-0/+1
Change-Id: I4f1b83ae1c746b8f67f2d12a02081702b9553b44 Signed-off-by: Michal Cmarada <mcmarada@cisco.com>
2019-05-15Add QUIC human readable error logsNathan Skrzypczak1-7/+56
Change-Id: I01cf5074b5a8b0018de5c3f59c9266d350c22f37 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>