aboutsummaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2018-10-01Add adjacency counters to the stats segmentNeale Ranns5-8/+40
Change-Id: I6b59df939c9daf40e261d73d19f500bd90abe6ff Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2018-10-01vat: fix coverity warning for show_threadsMohsin Kazmi1-3/+7
Change-Id: I8c226b91cc45f6f345444afd8d168e1292371582 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2018-10-01API / CLI event-log tracingDave Barach15-3659/+164
Add an "elog trace [api][cli][barrier]" debug CLI command. Removed the barrier elog test command. Remove unused reliable multicast code. Change-Id: Ib3ecde901b7c49fe92b313d0087cd7e776adcdce Signed-off-by: Dave Barach <dave@barachs.net>
2018-10-01thread: Add show threads apiMohsin Kazmi11-63/+239
Change-Id: I3124238ab4d43bcef5590bad33a4ff0b5d8b7d15 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2018-10-01mroute routers in the stats segmentNeale Ranns6-26/+67
Change-Id: I798e4fb6470ae9e763f8de1c290ff0fc3c0b7f9e Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-10-01IGMP: handle (*,G) report with no source addressesNeale Ranns1-8/+14
Change-Id: I363370b9d4a27b992bad55c48fc930a2fbea2165 Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-10-01SCTP: fix overflow issue with timestampMarco Varlese5-23/+29
Change-Id: I03bb47a2baa4375b7bf9347d95c4cc8de37fe510 Signed-off-by: Marco Varlese <marco.varlese@suse.com>
2018-10-01Support dynamic dual/quad loop selection on aarch64Lijian Zhang4-0/+251
Currently, there are three variants available on aarch64, qdf24xx, thunderx2t99, and cortex-a72. -DCLIB_N_PREFETCHES is passed to source code to select dual/quad implementation. Besides, different compiler options are applied on these critical functions. gcc-7.3.0 reports ICE(internal compiler error) with -mtune=thunderx2t99, so -mtune=thunderx2t99 is enabled only when gcc version is greater than 7.3.0 Cavium ThunderX2, Impermenter 0x43, Part 0x0af -march=armv8-a+crc+crypto -mtune=thunderx2t99 Qualcomm Centriq 2400, Impermenter 0x51, Part 0xc00 -march=armv8.1-a+crc+crypto -mtune=qdf24xx Cortex-A72, Impermenter 0x41, Part 0xd08 -march=armv8-a+crc+crypto -mtune=cortex-a72 Change-Id: Id5649c6325c1e642d0fd42535e3908793b13e02a 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>
2018-09-30vlib: barrier sync elog tracing improvementsDave Barach4-135/+114
Change-Id: I2d3b8d5a7192ff68bee443a99346ecb807b2d833 Signed-off-by: Damjan Marion <damarion@cisco.com> Signed-off-by: Dave Barach <dave@barachs.net>
2018-09-29vom: Fix the l2 port type in bridge domainMohsin Kazmi1-4/+5
Change-Id: I8aba11142daeacce892ec529c2229ec54ee427e2 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2018-09-29vcl: handle old events before blocking in epollFlorin Coras2-3/+14
Change-Id: I3e62c787882d93c3bfb398ed0d04ef56b3a60b2b Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-09-29session: lock msg queues while generating control eventsFlorin Coras2-13/+10
Change-Id: I229ce9c306a97956c87ccb8f7a1c5c9dac94ab31 Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-09-28bond: tx performance enhancement part deuxSteven3-124/+106
- Reduce per packet cost by buffering the output packet buffer indexes in the queue and process the queue outside the packet processing loop. - Move unnecessary variable initialization outside of the while loop. - There is no need to save the old interface if tracing is not enabled. Test result for 256 bytes packet comparison. Other packet size shows similar improvement. With the patch -------------- BondEthernet0-output active 52836 13526016 0 1.71e1 256.00 BondEthernet0-tx active 52836 13526016 0 2.68e1 256.00 TenGigabitEthernet6/0/0-output active 52836 6762896 0 9.17e0 127.99 TenGigabitEthernet6/0/0-tx active 52836 6762896 0 6.97e1 127.99 TenGigabitEthernet6/0/1-output active 52836 6763120 0 9.40e0 128.00 TenGigabitEthernet6/0/1-tx active 52836 6763120 0 7.00e1 128.00 bond-input active 52836 13526016 0 1.76e1 256.00 Without the patch ----------------- BondEthernet0-output active 60858 15579648 0 1.73e1 256.00 BondEthernet0-tx active 60858 15579648 0 2.94e1 256.00 TenGigabitEthernet6/0/0-output active 60858 7789626 0 9.29e0 127.99 TenGigabitEthernet6/0/0-tx active 60858 7789626 0 7.01e1 127.99 TenGigabitEthernet6/0/1-output active 60858 7790022 0 9.31e0 128.00 TenGigabitEthernet6/0/1-tx active 60858 7790022 0 7.10e1 128.00 bond-input active 60858 15579648 0 1.77e1 256.00 Change-Id: Ib6d73a63ceeaa2f1397ceaf4c5391c57fd865b04 Signed-off-by: Steven <sluong@cisco.com>
2018-09-28MAP: Add check for well known ports.Ole Troan1-0/+8
And more unit-tests. Change-Id: I4667d82d928b7ba8d96b5a5648d464115b3ed216 Signed-off-by: Ole Troan <ot@cisco.com>
2018-09-28IP ttl check in ip4-input missing for single packet path.Ole Troan1-0/+3
Change-Id: Idc17b2f8794d37cd3242a97395ab56bd633ca575 Signed-off-by: Ole Troan <ot@cisco.com>
2018-09-28stats: Split stat_segment and stats code in preparation for deprecation.Ole Troan9-111/+147
Split the stat_segment.c code from stats.c. Rename stats.[ch] to prepare for removing (19.01?) In addition stats.api can be removed. Since the stats aggregation for the stat segment does not use the API, that part is now done on the main thread. (Old stats aggregator is also left in place). Change-Id: I9867429f4fc547b1a7ab7f88bc4f3625428d681b Signed-off-by: Ole Troan <ot@cisco.com>
2018-09-27MAP: Correctly print ea-bits-len in map commands.Ole Troan1-1/+1
Change-Id: I17b19875547cd6056aaf8f8fde439caa8e42d274 Signed-off-by: Ole Troan <ot@cisco.com>
2018-09-27MAP: 64-bit DMROle Troan2-17/+15
Change-Id: I261e11f1006039e4a4019fec2fd3271763ae476a Signed-off-by: Ole Troan <ot@cisco.com>
2018-09-27Trivial: Cleanup some typos.Paul Vinciguerra32-54/+54
This is a new commit for code under a different maintainer. Change-Id: I79fa403fec6a312238a9a4b18b35dbcafaa05439 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2018-09-27Add logging to vfio codeDamjan Marion2-3/+23
Change-Id: Iacdff0a5006a0617e3c9559ce7b258f26e256abb Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-09-27dpdk_plugin: fix mlx5 build and runtime issuesSirshak Das1-2/+10
There are issues with VPP finding and linking the mlx5 shared glue library which was built by default if mlx5 was enabled. Runtime Errors this patch fixes: net_mlx5: cannot load glue library: librte_pmd_mlx5_glue.so.18.05.0: cannot open shared object file: No such file or directory net_mlx5: cannot initialize PMD due to missing run-time dependency on rdma-core libraries (libibverbs, libmlx5) This patch introduces additional config parameter to disable glue library building and instead statically link ibverbs and mlx5 libraries to the PMD and dpdk_plugin. Change-Id: I0b2f67652a57854c778e991780903fb15706ace8 Signed-off-by: Sirshak Das <sirshak.das@arm.com> Reviewed-by: Lijian Zhang <Lijian.Zhang@arm.com>
2018-09-27"show log": print wall-clock timeDave Barach1-1/+14
Change-Id: I36f42c03f778955dd543da6c878be090d0443922 Signed-off-by: Dave Barach <dave@barachs.net>
2018-09-27tcp: use scaled window for new connectsFlorin Coras3-5/+12
Change-Id: Idf83fce8ca176e57b323e3741034e3223f1d195a Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-09-27add cmake build option to build openssl asyncPing Yu1-0/+11
This code is orignally in automake, but it is missing in cmake. Thus add it to make openssl async work in cmake build system Change-Id: Ie69ee9c2099273e51ce13ccab27bdd2619db4814 Signed-off-by: Ping Yu <ping.yu@intel.com>
2018-09-27avf: may crash if failed to allocate buffers to ringSteven1-1/+1
In avf_rxq_refill, we invoke vlib_buffer_alloc_to_ring which may fill buffers from the end of the ring and continue to the beginning of the ring. If we fill some in the end and continue to fill some in the beginning, but does not have enough buffers to fill the whole request, n_alloc returns a value which is not equal to n_refill to indicate partial refill. We don't like partial refill and invoke vlib_buffer_free to get rid of the buffers that just got refilled. However, vlib_buffer_free API is to free the buffers from the slot continuously. It does not know how to free some from rxq->bufs[slot], and then continue to free the rest when it reaches the end of the ring. The fix is to use vlib_buffer_free_from_ring which is smart enough to figure that stuff out. Change-Id: I93c28e0b0d8d8f22c321d1a5912e00c27b4e2e8d Signed-off-by: Steven <sluong@cisco.com>
2018-09-27SCTP: fix advanced debug outputMarco Varlese1-2/+2
Change-Id: Ied63ebaec8e19189f8b1ab2a7f6d7474c3f2ad6e Signed-off-by: Marco Varlese <marco.varlese@suse.com>
2018-09-27IPIP and IPv6 fragmentationOle Troan13-307/+224
- Error where ICMPv6 error code doesn't reset VLIB_TX = -1 Leading to crash for ICMP generated on tunnelled packets - Missed setting VNET_BUFFER_F_LOCALLY_ORIGINATED, so IP in IPv6 packets never got fragmented. - Add support for fragmentation of buffer chains. - Remove support for inner fragmentation in frag code itself. Change-Id: If9a97301b7e35ca97ffa5c0fada2b9e7e7dbfb27 Signed-off-by: Ole Troan <ot@cisco.com>
2018-09-26vnet: show interface rx-placement may display garbage charactersSteven1-1/+1
Before ------ DBGvpp# sh int rx-mode sh int rx-mode Thread 1 (vpp_wk_0^@): node vmxnet3-input: vmxnet3-0/b/0/0 queue 0 (polling) Thread 2 (vpp_wk_1^@): node vmxnet3-input: vmxnet3-0/13/0/0 queue 0 (polling) DBGvpp# After ----- DBGvpp# sh int rx-placement sh int rx-placement Thread 1 (vpp_wk_0): node vmxnet3-input: vmxnet3-0/b/0/0 queue 0 (polling) Thread 2 (vpp_wk_1): node vmxnet3-input: vmxnet3-0/13/0/0 queue 0 (polling) DBGvpp# Change-Id: I5910d502757054c3942fac9d20c5104e95fc6b56 Signed-off-by: Steven <sluong@cisco.com>
2018-09-26vmxnet3: delete interface causes a crashSteven1-9/+4
Need to free the buffers starting from ring->consume+1, not ring->consume Make use of the cool API vlib_buffer_free_from_ring Fix a memory leak in vmxnet3_txq_init Change-Id: I0a539ea75211408d84ce433d97a0a0aec5a9618d Signed-off-by: Steven <sluong@cisco.com>
2018-09-26acl-plugin: fix the stateful ICMP handling and add testcasesAndrew Yourtchenko1-39/+40
The stateful ICMP/ICMPv6 handling got broken. Fix that and introduce testcases to catch in the future. Change-Id: Ie602e72d6ac613d64ab0bf6693b6d75afb1a9552 Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2018-09-26MPLS tunnel dump: use sw_if_index not tunnel_indexNeale Ranns6-25/+39
Change-Id: I6c0d5aec6ee96a0d40358f0e09a0901b22265063 Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2018-09-26perftool: fix c2cpelFlorin Coras1-0/+2
Change-Id: I0f39477bbf88d490409fdcd5f58df55cfe2ec531 Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-09-26forget to assign spd_index to configKingwel Xie1-0/+2
Change-Id: I35dcb987edf11097f34a633ac36d87cecd12088f Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
2018-09-26mismatch bi0 and b0 when finalizing ip reassembly.Kingwel Xie2-0/+2
bi0 always points to the first buffer in chain but b0 could be any fragment in a ip packet. It causes a vnet_feature_next function call to the wrong buffer and crashes sometime when there is >1 feature nodes under ip-unicast. The fix is simple, makes b0 and bi0 both pointed to the first buffer Change-Id: I7de36e68fb42b050fa63201abd98aeb6ba2e0cd3 Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
2018-09-26dpdk: fix QSFP+ module infoDamjan Marion1-1/+2
Change-Id: I89c7df778e66a5d2147190dc99445405d81964e5 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-09-26Modify return values of L2 bridge API handlersAlexander Chernavin2-1/+23
Change-Id: Ie6a6dde1fdc0e4fa8560682072a69876867a88d3 Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
2018-09-26NAT44: endpoint-dependent mode session timeout improvement (VPP-1423)Matus Fabian2-0/+28
Change-Id: Ib62e503f4eb5d72431288de32f417a4553df4e0c Signed-off-by: Matus Fabian <matfabia@cisco.com>
2018-09-26bond: tx perf improvementsDamjan Marion4-220/+173
Change-Id: I0c3f2add35ad9fc11308b7a2a2c69ffd8472dd2e Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-09-26itf: dump interface rx-placementMohsin Kazmi4-1/+228
Change-Id: I7dd48c8a2c77f82a2c1aa8311b062f5f0bc4e3fd Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2018-09-25FIB: recusrive paths must lock the table to prevent its deletionNeale Ranns2-0/+9
Change-Id: I958bf057be751dc7b3a0d93080021b3addc405b7 Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2018-09-25L2 BD: introduce a BD interface on which to send UU packetsNeale Ranns21-93/+496
Change-Id: I21ad6b04c19c8735d057174b1f260a59f2812241 Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-09-25MPLS tunnel dump fixNeale Ranns3-4/+8
Change-Id: I9d3d5243841d5b888f079e3ea5dc1e2e8befd1dc Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2018-09-25dpdk: show pluggable info in 'show hardware'Damjan Marion4-21/+78
module: id SFP/SFP+/SFP28, compatibility: 40g_active_cable vendor: Amphenol, part NDCCGF-I202 revision: C, serial: APF1711202351C, date code: 170318 cable length: 2m Change-Id: Ife35607b4f078f7b56737fe066ad4cbd247a7504 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-09-25BIER; bi-dir to/from underlayNeale Ranns7-59/+110
set and check a special RX interface value as the packet enters and exits a BIER domain Change-Id: I5ff2f0e2d1b3ce0f3598b935f518fc11eb0896ee Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2018-09-25acl-plugin: optimize session idle timer checksAndrew Yourtchenko5-32/+93
This commit adds explicit signaling from a non-owning thread to the owning thread to restart the session timer as necessary. Consequently, we now can sweep the session lists at their respective timeouts, rather than sweeping all the lists at the pace of the shortest timeout value, just taking care to wake up if the session requeue to a different list results in needing to wake up earlier. Change-Id: Ifc8c500f6988748f4cd3dc184dd7824321aaaaca Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2018-09-25UDP-Encap: fix coverity found errorNeale Ranns1-0/+1
Change-Id: Idbe5f4d7f37dbe4dbf8d2679c3d816aeaed148d8 Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-09-25tcp: accept rst+ack in syn-rcvd stateFlorin Coras1-0/+2
Change-Id: I49da8be88dd033aae1b190e8e2163069ef480442 Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-09-25tcp: add option to cfg max rx fifo sizeFlorin Coras4-11/+23
Change-Id: Icff3d688506e7658330db004c58bcfcac273fcec Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-09-25bond: crash when deleting bond interface [VPP-1427]Steven1-2/+5
After the slave interface is removed from bond, bond input node still receives traffic for the slave interface. We have to disable feature arc for the corresponding slave interface. Change-Id: I44e7001e6685e290b032c48147d02911a55d547b Signed-off-by: Steven <sluong@cisco.com>
2018-09-25vmxnet3: guard against array overflowSteven1-2/+3
Under extreme condition, it is possible for input node to have more than 256 packets available to process. Add a check to the while loop to prevent overrun buffer_indices and nexts. Change-Id: Id9830e5c254f04216eb79e864a5460e08cf2e4e5 Signed-off-by: Steven <sluong@cisco.com>