summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2019-07-02gbp: add anonymous l3-out subnetsBenoît Ganne6-28/+83
An anonymous l3-out subnet is a locally attached l3-out subnet, and differs from regular l3-out subnets in the way adjacencies are managed. It is required for the anonymous l3-out external interfaces to correctly classify locally attached l3-out hosts. Type: feature Change-Id: Ie7bc88b1f22abc4d0b46db5f3cfbf208bc53ba5f Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-07-02gbp: add anonymous l3-out external interfacesBenoît Ganne14-156/+483
So far, GBP l3-out packets classification & policy relied on programmed EP. All traffic to/from l3-out must go through a known EP. This patch introduces a new feature where l3-out next-hops are only known by their subnets (l3-out prefixes). As there are no longer known EPs to program, an interface must be configured as external anonymous l3-out. Packets classification & policy on this interface will rely on the external subnets programmed in the BD VRF. Note that contrary to all other interfaces in a GBP BD, external anonymous l3-out interfaces have BD L2 learning turned on and rely on ARP/ND. Type: feature Change-Id: Ieedb29dff4e967d08c4301e82d06bff450a63e5f Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-07-02gbp: disable L2 BD learning per-interfaceBenoît Ganne4-37/+51
Disable L2 BD learning for each GBP interface instead of at the bridge level. This does not change the current behavior (learning is disabled for all GBP interfaces) but enables turning it on selectively for future features such as anonymous l3-out. Type: refactor Change-Id: Id88644277941d703600acf97d49cbc3332ae3f68 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-07-02libmemif: version 3.0Jakub Grajciar12-339/+423
Add support for multi-thread connection establishment. - control_fd_update() callback now passes private context associated with updated file descriptor. File descriptor can belong to memif socket, memif connection or timerfd. In case of timerfd the context is NULL. - memif_create_socket() new API. Creates memif socket handle to be passed to memif_create() in memif_conn_args_t. This API allows to pass private context whenever the file descriptor is updated. - memif_delete_socket() new API. Deletes memif socket. Socket must not be in use by any interface. Type: feature Change-Id: I7ca4e4349595d4477195f1c32403d3e3a6eb5361 Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2019-07-02fib: Coverity fix to remove dead codeNeale Ranns1-2/+0
Type: fix Change-Id: I678f523f058165030572d9cd395802b772db9ed7 Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-07-02lisp: init locator probed field in parserFlorin Coras1-0/+1
Type: fix Reported by coverity. Change-Id: Ic84ac8c373c4c834bfddbf3ca08e2cfa2152e2ae Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-07-02vcl: handle fd rcv msg errorFlorin Coras1-4/+12
Type:fix Also cleanup worker fds on error. Reported by coverity Change-Id: I52cf77ca90e9ba1cc8ee9ddb3edaeabdc073beda Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-07-02vcl: fix sock client and server testsFlorin Coras2-5/+4
Type:fix Reported by coverity. Change-Id: Ie623c5aa3ef54b649039c5ffa10476373c532825 Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-07-02lisp: fix unitialized ip prefix in cp unit testFlorin Coras1-0/+1
Type: fix Found by coverity. Change-Id: Ibfc753d2c42219d275e3722d6ce1ef0cec189adf Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-07-02vom: Fix [m]route dumpNeale Ranns1-36/+2
Type: fix Fixes: 097fa66b Change-Id: I4ada76982c680ee9b0af5828c7268b9b2098ce6b Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-07-02ip: check all fib src for a connected dst entryBenoît Ganne1-25/+53
When looking for a connected fib entry matching the ARP destination, there can be other DPO interposed prior to the connected one. Type: fix Change-Id: I9b4ab387fb08acf9879d5fda3791e6572a099492 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-07-01build: vpp-ext-deps .rpm may not be installedDave Barach1-1/+1
It's fine to remove the old .rpm, but don't stop the parade if there wasn't an old .rpm to remove. Type: fix Change-Id: I500c740cc4ded16d3345c1e98462a1e8533f1028 Signed-off-by: Dave Barach <dave@barachs.net>
2019-07-01ip: fix ip lookup for armFlorin Coras1-27/+10
Type:fix Fixes: cb54e3c Change-Id: I3120eaabdc00a6c1248cf7eb81f2075983836dfd Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-07-01libmemif: icmp-responder example buffer management fixJakub Grajciar1-5/+8
Type: fix Change-Id: Ieeb763f282ee929a121585747119f458c00056ae Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2019-07-01gbp: VRF scoped contractsNeale Ranns33-173/+413
Type: feature Change-Id: I01772cfc3a0118a5c49bf346339788824e6931b2 Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-07-01papi: refactor set_errors_strPaul Vinciguerra1-3/+3
Assuming 2500 50 char lines: string_concat elapsed: 5.919933e-04 string_join elapsed: 2.830029e-04 string_concat size: 156,312,500 string_join size: 125,000 Type: refactor Change-Id: I0a400265426bde492e9a651d24996ddcfe954aa1 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-06-30igmp: accept packets that have more on the wire data than IGMP reports.Neale Ranns2-16/+38
IGMPv3 sends a variable length of sources in a query. Today if the amount of data on the wire does not exactly match that required for the number of sources the packet is dropped. Relax this check and instead accept the packet is the amount of wire data is equal or greater than the number of sources. Some devices on the wild internet pad small packets. Type: feature Change-Id: I102682814b38c0a0614d71816c9a286d90b834df Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-06-29pg: format_pg_input_trace - reorder fieldsPaul Vinciguerra2-1/+6
00:00:00:814640: pg-input stream pcap0-sw_if_index-1, 42 bytes, 1 sw_if_index is changed to: 00:00:00:814640: pg-input stream pcap0-sw_if_index-1, 42 bytes, sw_if_index 1 Type: style Change-Id: I9bb32494c9c1d08bc7588f088ed67a60ed3236dd Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-06-29devices: virtio pci leaking spinlockSteven Luong1-0/+1
Memory is dirt cheap. But there is no need to throw it away. Type: fix Change-Id: I155130ab3c435b1c04d7c0e9f54795b8de9383d9 Signed-off-by: Steven Luong <sluong@cisco.com>
2019-06-29svm: rename fifo tx notifications to reflect useFlorin Coras7-63/+63
Type: refactor Change-Id: I651db44acdcb666a9c63e1037352cf88c68795b5 Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-06-28interface: fixes for buliding for 32bit targetsVijayabhaskar Katamreddy1-1/+1
* structure alignment and padding issues Type: fix Change-Id: Ic7c2a8cb5a5526902463f3b4d2d93284b454ab6f Signed-off-by: Vijayabhaskar Katamreddy <vkatamre@cisco.com>
2019-06-28ip: ip-lookup - remove the dead codeNeale Ranns2-65/+27
Type: refactor Change-Id: I791cc63e989df049104420faf74fc28f965b6648 Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-06-28vppinfra: add dummy/noop f32/f64 endian swap fnsDave Barach1-0/+8
Makes life easier for binary API language bindings Type: fix Change-Id: Ib459274fda05153d01cbb7bc328a8407e3ee5027 Signed-off-by: Dave Barach <dave@barachs.net>
2019-06-28quic : Use TX event for app read notificationNathan Skrzypczak5-803/+926
Type: feature Change-Id: I1846cdeb35f079249f66a0351aa244c540923a43 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-06-28tcp: reject out-of-order finsFlorin Coras1-0/+4
Type:fix Change-Id: Iab2c308739f7733dbf70953e0ea87dcc404c60da Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-06-28tcp: fix close-waiting check for outstanding tx dataFlorin Coras1-1/+2
Type: fix Change-Id: I9e0e1bb933c38b17ac9fb8bf11b81e2fed021bf8 Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-06-28session: add half_open_has_fifos for UDPCNathan Skrzypczak5-6/+32
Type: fix Change-Id: Iede83a4e72b88fd55bf56ec0ca71c9196ce743cd Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-06-28tests: handle TypeErrors in calls to VppDiedErrorPaul Vinciguerra1-5/+4
Type: test Change-Id: I869768ed25efa3350f025fba329466db69805803 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-06-28tap: fix memory errors in create/deleteBenoît Ganne1-1/+5
If the host interface name is not specified at creation, host_if_name was wrongly set to a stack-allocated variable. Make sure it always points to a heap allocated vector. At deletion time, we must free all allocated vectors. Type:fix Change-Id: I17751f38e95097998d51225fdccbf3ce3c365593 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-06-28igmp: Trace more data form input packetsNeale Ranns2-7/+16
Type: feature Change-Id: I40ecc0da1281115f6e540064224538fe9472887e Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-06-27tcp: Setup initial CWND as configuredVladimir Kropylev2-0/+11
Type: feature Change-Id: I7f476f4f81994c9c6cc2e8091de08adff4bcbc77 Signed-off-by: Vladimir Kropylev <vladimir.kropylev@enea.com>
2019-06-27sctp: add option to enable/disableFlorin Coras4-21/+84
Type: feature By default sctp is disabled to avoid wasting cycles. Change-Id: I1e2f764c7168b5c15062efbe5895de93dcc2614e Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-06-27tests: pin python dependenciesAloys Augustin5-17/+352
This commit ensures that the tests always run with the exact same version for all the Python dependencies. It uses pip-tools to achieve that. Our top-level dependencies are specified in the requirements.txt file. From this file, pip-tools generates the requirements-{2,3}.txt file, which pins all the versions of all the recursive dependencies, and is used to install the packages in the test virtualenv. To change or add a top-level dependency, update requirements.txt and run make test as usual with python2 and python3. The requirements-{2,3}.txt file will be updated and you can verify that nothing breaks. Then add all requirements* files in your commit. To refresh the python packages (i.e. get new versions of the recursive dependencies, or of the dependencies that are not pinned in requirements.txt), just run: PYTHON=python2.7 make test-refresh-deps PYTHON=python3.6 make test-refresh-deps and this will update the requirements-{2,3}.txt files. Ideally we should run this after each release. Type: make Change-Id: Ic533de3d06ec4019ff38f5231208da6f1025bfc7 Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
2019-06-27session: Add transport vft protocol optionsNathan Skrzypczak10-33/+57
Type: refactor Change-Id: I4e0afc206e4871596c2ed8a6ca00914a379f1526 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-06-27quic: fix testsAloys Augustin1-6/+6
Reduce the amount of data sent to avoid a hang in the QUIC stack when the fifos get full. This fixes the QUIC tests in debug mode while https://gerrit.fd.io/r/c/19823/ is not merged. Change-Id: I1ed4c5dc3d41c09bc674de808f3778a074b15454 Type: test Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
2019-06-27svm: improve fifo segment testFlorin Coras1-1/+13
Type: feature Try to also catch weirdness when running tests on arm cpus. Change-Id: I45ab7c225f43623447271e67ebf37f94236a288f Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-06-27tests: rename stream name in testsPaul Vinciguerra1-1/+2
PacketGenerator streams were named based on their sw_if_index but without knowing that, it looked like it was paired with the interface instance value. Reencode the name to encode the data in a clearer way. 20:48:12,859 CLI: packet-generator new pcap /tmp/vpp-unittest-TestClassifierPBR-6DVQW2/pg0_in.pcap source pg0 name pcap0-sw_if_index-1 Change-Id: I5b82193943fee0cf060900d73aaaaecca1247105 Type: style Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-06-27docs: Update the vhost sectionjdenisco4-8/+11
Change-Id: Ic7a144ffda0d0a3e0f6f9bc1a4790ab36fdf002e Signed-off-by: jdenisco <jdenisco@cisco.com>
2019-06-27build: remove japi-install from MakefileNeale Ranns1-1/+1
Type: fix Change-Id: I63245280a0939d07f495b11005596ffdfe1d85c8 Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-06-27lacp: custom dump for sw_interface_lacp_dumpSteven Luong1-3/+30
Add custom dump code for sw_interface_lacp_dump Type: fix Change-Id: Ifa76192ec65f596391c07b151d2a7fceed502665 Signed-off-by: Steven Luong <sluong@cisco.com>
2019-06-27vom: get the tests working againNeale Ranns1-0/+5
Type: fix Fixes: 097fa66b Change-Id: Ib73714665e3325c7e1e8f939275933a4d219f96b Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-06-26papi: prevent message_table inconsistenciesVratko Polak2-7/+15
Socket transport is maintaining message_table to map message name to index. After disconnect and re-connect, the VPP may have been restarted with different set of plugins, so message_table has to be wiped. + Edited MAINTAINERS to recognize "papi" as a separate component. Type: fix Change-Id: I1f16ad7ee0886e03bbc6a17bcddbfcaa322354e5 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-06-26tcp session: improvement to testsFlorin Coras2-12/+29
Type: fix Attempt at fixing a random failing tcp test Change-Id: I73aa31e26dd2df77d8b975e4fc88df16d8991863 Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-06-26bonding: fix comment typoZhiyong Yang1-1/+1
Type: style Change-Id: I28908756019f8ca54c50334c470d8eded5621ade Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
2019-06-26svm: fix fifo segment free chunk bytes accountingFlorin Coras3-21/+121
Type:fix Change-Id: Icab89337eb3dbdc93d0fb453cfd34090026072b7 Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-06-26tests: fix test-checkstyle failure in test_memif.pyPaul Vinciguerra1-2/+2
Type: style Change-Id: Ifea1fed5a6943605a6111afb33c54a8ff852d087 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-06-26fib: default flow hash config for each DPO protocol typeNeale Ranns4-2/+29
Type: fix Fixes: 59fa121f Change-Id: I9eb4fe1612734e54932228527c37bf33b705dbdb Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-06-26vppinfra: add u64x2_scatter/u32x4_scatterLijian.Zhang1-0/+16
Add u64x2_scatter/u32x4_scatter in vector_neon.h. u64x2_scatter/u32x4_scatter scatters data from SIMD register to scattered memory locations. Type: feature Change-Id: I298d5478c7ba6935ab7402a6d467c7ee00f17e9f Signed-off-by: Lijian Zhang <Lijian.Zhang@arm.com> Reviewed-by: Sirshak Das <Sirshak.Das@arm.com> Reviewed-by: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>
2019-06-26gbp: enforce same endpoint mac and ip srcBenoît Ganne2-9/+28
During packet classification, make sure packets coming from an EP also matches this specific EP IP address and vice-versa. This prevents and EP to send a packet on behalf of another EP. Type: fix Change-Id: I30287644ec73b90d9b6913952a82b2baedf6a5ff Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-06-26api: refactor format_vl_api_prefix_t return keysPaul Vinciguerra14-70/+72
format_vl_api_prefix_t returns a dict with keys 'address' and 'address_length', but other format_vl_api_prefix functions return a dict with 'prefix', and 'len'. Refactor all format_vl_api_prefix_t to return consistent keys 'address' and 'len'. Type: refactor Change-Id: I5f9558fc2da8742a303266e011102f5b2db80aad Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>