summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2019-10-11papi: harden socket handlingVratko Polak2-19/+24
In the previous implementation of socket transport for PAPI, socket methods .send and .recv_into were used. But they are not guaranteed to send/receive all the data for the full message. The receive part contained a loop, but it handled only the main message, not the header. This patch replaces .send with .sendall and uses newly defined _read_fixed method. Also, removed Paul from maintainers, as he is not active much, lately. Type: fix Change-Id: Iae1a68bf8f9e666856b7c7d62ebfe22defc5dfe1 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-10-11lisp: fix dangling references to bihash tablesDave Barach1-6/+26
gid_ip4_table_t's and gid_ip6_table_t's are allocated from pools. They MUST NOT be listed on the clib_all_bihash list to avoid dangling references. Switch to the clib_bihash_init2 API, which has the required knob. Type: fix Ticket: VPP-1788 Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I49a17e937922c3af2e1c46b24e20883af51584a8
2019-10-11tcp: refactor flags into cfg and conn flagsFlorin Coras4-31/+89
Type: refactor Change-Id: Ib5e2ecf55732599e1322736e3662178c9da49c7d Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-10-11tests: explicitly wait for the PG to finish before looking for capture fileAndrew Yourtchenko1-0/+15
Rather than only using time-based method of periodically checking whether the pcap file appeared, first check that the packet generator has stopped. To make this change fail-safe, have a 5-minute timeout on this activity, just in case the things go terribly wrong. Type: test Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com> Change-Id: Id16b2802b2de8a4cafb5d9f0a8c9ba62ec89dc32
2019-10-11vppinfra: fix page boundary crossing bug in hash_memory64Dave Barach2-4/+109
Fix a day-1 bug, possibly dating back as far as 2002. The zap64() game involves fetching 8 byte chunks, and clearing octets not to be included in the key. That's fine *unless* the 8-byte fetch happens to cross a page boundary into unmapped or no-access space. Type: fix Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I4607e9840032257c96ba7387f86c931c0921749d
2019-10-11ip: reassembly: trace ip headers over worker handoffsKlement Sekera5-27/+87
This change adds tracing of IP headers when doing a handoff between worker threads. This eases debugging. Type: feature Change-Id: I2195b070a364cba13a658ec1cee5154fc4c3a8b0 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2019-10-11tests: extra logging in reassembly testsKlement Sekera1-0/+10
Type: test Change-Id: Ia09c3149490e47e49e59544ab1680a8160e60ac8 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2019-10-11ip: RD-CP API incorrect reply codeNeale Ranns1-1/+1
Type: fix Change-Id: Ie436d51999dc1384a0db492f28a7e66620e14551 Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-10-11bonding: feature arc may not be enabled for the slave interfaceSteven Luong1-2/+2
vnet_feature_enable_disable takes sw_if_index, not hw_if_index. If there is a subinterface created prior to the slave interface is created, sw_if_index and hw_if_index start to diverge and the problem will happen. Type: fix Signed-off-by: Steven Luong <sluong@cisco.com> Change-Id: I11e1f099378832f83b748526c6cbeb56960fad3c
2019-10-10tcp: improve pacing after idle send periodsFlorin Coras6-76/+124
Rest pacer on ack reception if we haven't recently sent anything. Type: feature Change-Id: I820bacd81b65130052dfafbfcbe6ca4553069fbc Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-10-10http_static: add .json contentDave Barach2-2/+55
Type: feature Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: Ibf8583175c181dc12a589b3e6c11a10ee77fc160
2019-10-10tcp: retry lost retransmitsFlorin Coras7-155/+205
Add heuristic that detects lost retransmitted segments and retries sending them. Type: feature Change-Id: I34d1bb16799e1993779222eb2bfad4b40704159e Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-10-10ip: fix clang debug compilationBenoît Ganne1-3/+1
The non-extern declaration confuses clang linker in debug mode. The function is defined as inline above anyway. Type: fix Fixes: c6215d902f Change-Id: Ic7e4477631cf0bcfb31ab3f81effe3642dd4223e Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-10-10session: fix typos & cert_key store initNathan Skrzypczak2-6/+4
Type: fix Change-Id: I865534de9f16bff586106e0850f131de1e9cbf24 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-10-10tcp: custom checksum calculations for Ipv4/Ipv6Srikanth A6-122/+194
Type: feature Based on the configuration, we can disable checksum offload capability and calculate checksum while pushing the TCP & IP header. This saves some cycles when VPP stack is used in legacy hardware devices. Signed-off-by: Srikanth A <srakula@cisco.com> Change-Id: Ic1b3fcf3040917e47ee65263694ebf7437ac5668 (cherry picked from commit 3642782a2748503f5b5ccf89d1575c1d489948ef)
2019-10-10tcp: fix tso not work in single buffer issueSimon Zhang2-6/+9
Type: fix Signed-off-by: Simon Zhang <yuwei1.zhang@intel.com> Change-Id: Iddb6fd41812e8c97af58859ef43279cfc0f9d1df Signed-off-by: Simon Zhang <yuwei1.zhang@intel.com>
2019-10-10tests: add cli_return_response to vpp_papi_providerDave Barach2-3/+19
To improve gcov/lcov code coverage stats, it's necessary to send incorrect debug CLI commands; to force vpp into debug CLI error paths. cli_return_response() sends commands and returns the response object, so test vectors can handle failures. Type: feature Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I4fab591c9d2e30c996f016e18e4fd69b9c5bed06
2019-10-10sr: fix deleting an SR l2 steering policyAhmed Abdelsalam1-3/+7
Type: fix Signed-off-by: Ahmed Abdelsalam <ahabdels@cisco.com> Change-Id: I9e98b1622785e58484bf316ef491e44cfb06bcb7
2019-10-10acl: remove api boilerplateOle Troan6-172/+47
Type: refactor Signed-off-by: Ole Troan <ot@cisco.com> Change-Id: Idc9c508eb0e3d4b0c3908360fb0771012a8e2bc0
2019-10-10mactime: fix undefined symbol in mactime_testOle Troan1-1/+2
undefined symbol format_macaddress Type: fix Signed-off-by: Ole Troan <ot@cisco.com> Change-Id: I5549173ef758e965cf7d9d4f6aa9457d135318f5
2019-10-10geneve: API cleanupJakub Grajciar6-63/+78
Use consistent API types. Type: fix Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com> Change-Id: I1964e4f0afe6f030ae9c8e28fcba5fd81aa1f130
2019-10-10memif: remove api boilerplateOle Troan7-252/+17
Type: refactor Signed-off-by: Ole Troan <ot@cisco.com> Change-Id: Icab769607c4a5890dc80b8f2661faa7e297c2a27
2019-10-09ikev2: fix dangling pointerFilip Tehlar2-14/+28
Type: fix Change-Id: I8aa9029e0a5cf21aa24a90b39eb2787653f65abb Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-10-09session: avoid old io dispatch if no slots left to sendRyujiro Shibuya1-2/+3
Type: fix Signed-off-by: Ryujiro Shibuya <Ryujiro.Shibuya@owmobility.com> Change-Id: I8e1f6cbd905ad5c21aed1b2e358540d0fbd7fc47
2019-10-09docs: Add macos build documentationNathan Skrzypczak5-0/+152
Type: docs Change-Id: Iee03aacab2cfcb4e87190302dc641e8273b7f096 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-10-09map: use ip6-full-reassembly instead of own codeKlement Sekera10-978/+100
Remove map's implementation of reassembly and use common ip6-full-reassembly functionality. This makes it easier to maintain by removing duplicate code/functionality. Type: refactor Change-Id: I430e888b704e28c100a9ce075d1460cb529e4676 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2019-10-09dhcp: dhcp6_pd_client_cp API cleanupJakub Grajciar5-63/+53
Use consistent API types. Type: fix Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com> Change-Id: If6c102a53d074cba7eca6b6af9855aa4486f38cc
2019-10-09interface: dump the interface device typeMohsin Kazmi4-3/+14
Type: feature Change-Id: I22e2ef34631c9432311ff6457504e0649e0512b4 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2019-10-09ip: fix coverity warningKlement Sekera1-3/+7
Type: fix Fixes: 0eb75d0e9c7624a4e8ac69fea7dbe12d39b75096 Change-Id: I8bcdc06b33bf4e12752b90dc3445fa51af552a46 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2019-10-09build: clean up make help outputDave Wallace2-52/+52
This change is designed to help the uninformed find the right way to run extended tests by using the test-all[-debug] targets. 'make test EXTENDED_TESTS=y' fails to build as it has a dependency on 'vom-install' which is conveniently included in test-all[-debug]. - clarify test-all[-debug] description and make test-help description - Also align indentation of make help output Type: style Signed-off-by: Dave Wallace <dwallacelf@gmail.com> Change-Id: Ief54cc8a5af68c052aacb0d660237c5eb63451b5
2019-10-09interface: callback to manage extra MAC addressesMatthew Smith7-1/+308
Type: feature New callback vnet_hw_interface_add_del_mac_address(). Add or delete secondary MAC addresses on a hardware interface. This will allow packets to be processed which have a destination MAC address other than the primary programmed MAC address without needing to put the device into promiscuous mode. Change-Id: I6beecbcb8932fc1fe45b567f76fa3706feefae2c Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2019-10-09api: comment, simplify and fix api socket readVratko Polak1-48/+80
The function vl_socket_read_ready did contain some comments already, but as they stated, the logic has to be tricky to cover multiple cases. Comment: + Add function-level comment + Add comments to describe some of local variables + Add many comments to describe internal state at particular lines. Simplify: + Remov mbp_set as it is never needed. + Replace msg_len with msgbuf_len to save "+ sizeof (msgbuf_t)". Improve: + Early exit on EAGAIN. Fix: + "n" now only tracks input_buffer. Previously, it was entering the detection of additional messages even for unprocessed_input. + Set up msg_buffer (including appending to unprocessed_input) outside full-message-detection loop now, so it cannot be executed multiple times as before. Type: fix Ticket: VPP-1785 Change-Id: I256e34b435be06844458744a13ea37a0e86a96f9 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-10-09papi: introduce read_blockingVratko Polak1-3/+29
Previously, self.transport.q got the messages (at least for socket transport), stored in the encoded (packed) form. In order to avoid accessing internals for async reads, a new method is introduced, to perform blocking reads of decoded (unpacked) messages. The method is also used in _call_vpp(), so sync and async reads are kept compatible. Type: feature Change-Id: Id49792dfa57c00b1a14a198031c5398d09a9ba20 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-10-09mpls: support fragmentation of mpls output packetRajesh Goel7-16/+176
Type: fix Signed-off-by: Rajesh Goel <rajegoel@cisco.com> Change-Id: Ie4372c5cf58ab215cdec5ce56f8a994daaba2844
2019-10-09ioam: remove api boilerplateOle Troan29-974/+80
Note: The VAT _test.c plugins need some more adjustments. Type: refactor Change-Id: Ifa150683d7d68db7950f66ef85eea73c8281ba14 Signed-off-by: Ole Troan <ot@cisco.com>
2019-10-09api: autogenerate event handler functions for *_test.cOle Troan2-106/+67
Type: fix Signed-off-by: Ole Troan <ot@cisco.com> Change-Id: If75f63244f37ae3312832ca015f738c51ee7da1f Signed-off-by: Ole Troan <ot@cisco.com>
2019-10-09ip: only install IPv6 prefixes in FIB when the interface is upNeale Ranns1-39/+36
otherwise they get installed twice and the reference counting means they are not removed. This is the same behaviour as IPv4. Type: fix Change-Id: I9266e04ccff6ff06a577e85973a2ddbeb9dfc52b Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-10-09fib: P2P interfaces do not need specific multicast adjacenciesNeale Ranns1-3/+18
they can use the 'auto' adj for all traffic Type: fix Change-Id: Id2b9557683252a94badc8f9dfab5f7b2ae26f1ee Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-10-09hsa: use crypto_engine_type_t for TLSNathan Skrzypczak14-36/+36
Type: refactor This patch does the following conversions TLS_ENGINE_X -> CRYPTO_ENGINE_X tls_engine_type_t -> crypto_engine_t It does not change numbering of engines Change-Id: I872dfaec3a6713bf4229c84d1ffd98b8b2419995 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-10-09session: Add certificate storeNathan Skrzypczak13-84/+330
Type: feature This changes the behavior of both API calls APPLICATION_TLS_CERT_ADD & APPLICATION_TLS_KEY_ADD certificates and keys aren't bound to an app, they are passed to it via connect / listen using the message queue. This should be followed by a per protocol (QUIC/TLS) crypto_context store to save devrived structs Change-Id: I36873bc8b63b5c72776c69e8cd9febc9cae31882 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-10-09hsa: fix vpp_echo session closeDave Wallace6-115/+268
- Convert asserts in vpp_echo to conditional checks - Refactor error logging for session creation/deletion - Fix session close anomalies - Fix ECHO_* macros - Add rx/tx results different cmdline options to specify pass when counters are different - Update close tests to send more than the fifo sizes of data - Specify rx/tx results diff options for early close tests - Set listen session state to closed on handling unlisten reply Type: fix Signed-off-by: Dave Wallace <dwallacelf@gmail.com> Change-Id: I9d0075fcb18e20829f420da104d69523897b0552
2019-10-08vlib: fix cli process stack overflowChenmin Sun1-1/+1
Type: fix Some cli processes, including configuring an test flow on an i40e interface consume more than the currently available stack space. Signed-off-by: Chenmin Sun <chenmin.sun@intel.com> Change-Id: I3df53d251cd43286f94647384d6e50a463bad15c
2019-10-08tcp: rate sample for persist segmentsFlorin Coras1-0/+6
Type: fix Change-Id: I7c38d2ad6364f098529f51c15b533eb234b82716 Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-10-08api: add bapi thread handle to api main structure.IJsbrand Wijnands2-1/+12
Adding the thread handle to the api main structure allows the client process of the bin api to manage the thread, like setting the thread name for example. Type: feature Change-Id: I38b58ddc83d5958c4bda76eadd371eee1545724b Signed-off-by: IJsbrand Wijnands <ice@cisco.com>
2019-10-08tests: handle unicode charactes in cli outputKlement Sekera1-1/+2
Type: fix Change-Id: Ic4fb53e6d10a1de155a3088be81d53d9efeb0c0f Signed-off-by: Klement Sekera <ksekera@cisco.com>
2019-10-08hsa: make vpp_echo use mq instead of bapiNathan Skrzypczak10-193/+288
Type: refactor Change-Id: I4f370b09e22dbbc8920272df9a042dae04825bfc Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-10-08session: add is_migrating flagNathan Skrzypczak4-49/+40
Type: fix Add SESSION_F_IS_MIGRATING flag for session. It is set by the session layer before poking the transport for migration. It's the transport responsibility to unset the flag & act apropriatly if RX happens on a migrating session. Change-Id: Ie722917f1cf9344d8f041cad4ed8b064fb5853b6 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-10-07api: Add API support for marvell PP2 pluginJianlin Lv7-1/+336
Support create/delete interface with PP2 api Type: feature Signed-off-by: Jianlin Lv <Jianlin.Lv@arm.com> Change-Id: Ia9c0ac0f237fd9f71f5480d736d6bcabee763fff
2019-10-07ip: remove dead code in ip6-svrKlement Sekera1-27/+0
Type: fix Fixes: de34c35fc73226943538149fae9dbc5cfbdc6e75 Change-Id: Ia714c2e46627864091d3f686dbced4cdd9c1a773 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2019-10-07docs: change VPP_WITH_SAMPLE_PLUGIN to SAMPLE_PLUGIN in sample plugin ↵Haggai Eran1-4/+4
documentation The sample_plugin_doc.md file refers to VPP_WITH_SAMPLE_PLUGIN make parameter, while the VPP makefile uses SAMPLE_PLUGIN instead. Type: docs Signed-off-by: Haggai Eran <haggai.eran@gmail.com> Change-Id: Id11090fcdc78b77e246da48d0d890865011f1132