summaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2019-07-02gbp: add anonymous l3-out subnetsBenoît Ganne4-22/+63
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-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-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-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-01gbp: VRF scoped contractsNeale Ranns15-36/+148
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 Ranns1-13/+19
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 Vinciguerra1-1/+1
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 Skrzypczak4-787/+916
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-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 Coras2-21/+79
Type: feature By default sctp is disabled to avoid wasting cycles. Change-Id: I1e2f764c7168b5c15062efbe5895de93dcc2614e Signed-off-by: Florin Coras <fcoras@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-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-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-26papi: prevent message_table inconsistenciesVratko Polak1-0/+2
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-26fib: default flow hash config for each DPO protocol typeNeale Ranns3-2/+24
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 Ganne1-6/+15
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 Vinciguerra10-40/+38
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>
2019-06-26api: Remove the inlines file and replace with library functionsNeale Ranns11-67/+55
using inlines exposes the users to the internal data types used by VPP, namely vec.h. This file does not compile with a C++ compiler. Type: feature Change-Id: I1544fdd9eae998309f865df61df78571bdb96903 Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-06-26api: initialize sw_if_index earlier in vxlan_gbp_tunnel_add_delPaul Vinciguerra1-1/+1
In the case of an error, it is uninitialized. Type: fix Change-Id: Ib88fb997e5eef410c1cd970674d9385575f30366 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-06-26misc: add bond_dump, slave_dump, and rx_placement_dumpSteven Luong1-6/+6
Fixed the missing bond_dump, slave_dump, and rx_placement_dump in custom_dump.c Type: fix Change-Id: I9bf9ce071db175543edb383768c5915b939758ae Signed-off-by: Steven Luong <sluong@cisco.com>
2019-06-26vmxnet3: custom dump and debug cli fixSteven Luong3-27/+84
Add missing custom dump for vmxnet3_create, vmxnet3_delete, and vmxnet3_dump. Fix vmxnet3_create debug cli which may not parse all parameters correctly due to passing address of u16 to unformat(). The fix is to use a u32 local variable to receive the correct value from unformat(). Type: fix Change-Id: I04251c9ed0ab397ed4b1b5843a73880aec98b9f6 Signed-off-by: Steven Luong <sluong@cisco.com>
2019-06-26fib: adj cover refinement check changeNeale Ranns1-1/+3
Usually the adj cover refinement check which ensures that for any adj sourced prefix its cover is connected, is satified by the presence of the interface source. The interface source has a high priority hence during the adj refinement check get_flags() which uses the best source, usually returns the flags for the interface source. However, in the presence of higher priority sources that interpose get_flags does not return connected and the check fails. With this change add a specific check for the interface source if the best is not connected. Type: feature Change-Id: Iabc3e29fe7c447fc3ef313e40b00d48fab09fba4 Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-06-26hsa: move vcl test apps to hsaFlorin Coras11-31/+37
Type: refactor Change-Id: I352975585c1091bfc5b85d7f8fe985f9059820a7 Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-06-26misc: fix sctp test with debug imagesFlorin Coras1-1/+2
Type:fix Change-Id: I6bf938d8c71b0fac6e093278132b00fc1ab951bb Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-06-25tcp: window update ackVladimir Kropylev2-0/+33
Type: feature Provide interface for sending Window Update ACK, ensuring it will be sent only once, if RWND became non-zero, after zero RWND has been advertised before. Change-Id: I7f0d8af76d7763208625df68ab4ac3727fdaf449 Signed-off-by: Vladimir Kropylev <vladimir.kropylev@enea.com>
2019-06-25vppinfra: fix tw_timer_first_expires_in_ticks for multiple wheelsAndreas Schultz1-0/+13
When only the fast in wheel is in use, the next expiring has to be within the fast_slot_bitmap. With mutliple wheels, the next expiring timer could be in the slow wheel. The timers on the slow wheel are only moved into the fast wheel when the fast wheel index reaches TW_SLOTS_PER_RING. When calculating the next expiring timer we therefor need to consider the timers on the slow wheel as well. When there are no more before reaching TW_SLOTS_PER_RING, instead of scanning the slow wheel, return the number of ticks until TW_SLOTS_PER_RING is reached. Type: fix Change-Id: I847031f8efc015c888d082f0b0c1bd500aa65704 Signed-off-by: Andreas Schultz <andreas.schultz@travelping.com> Signed-off-by: Dave Barach <dave@barachs.net>
2019-06-25tcp: delivery rate estimatorFlorin Coras11-28/+1100
Type: feature First cut implementation with limited testing. The feature is not enabled by default and the expectation is that cc algorithms will enable it on demand. Change-Id: I92b70cb4dabcff0e9ccd1d725952c4880af394da Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-06-25lisp: move cp tests to unittestFlorin Coras6-1351/+1433
Type: refactor Also reformats and fixes some of the tests. Change-Id: I074c677fd9b28e192f72a2db32f6f2dbda9a314f Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-06-25hsa: move external echo apps to hsaFlorin Coras5-26/+22
Type: refactor Change-Id: I9a5c2abfd0c5444b31d9020cea918f9cd28f1ac2 Signed-off-by: Florin Coras <fcoras@cisco.com>