aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet/tcp
AgeCommit message (Collapse)AuthorFilesLines
2020-10-12tcp: use 100us timer resolutionFlorin Coras1-4/+4
Experimental reduction of tcp timer resolution from 100ms that allows for finer grained timers, if needed. Please report issues if any encountered. Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I4050f7691aa7365b77298b4427408a4a447834fa
2020-10-12tcp: fix connection reuse with no listenerFlorin Coras1-0/+6
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I674872f68406ac778779a68d3ad991f41765d4e2
2020-10-08tcp: treat pending timers as activeFlorin Coras3-3/+4
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ic63af51fab8dbefe79439554ea563f20e3788afa
2020-10-08tcp: custom geometry for timer wheelFlorin Coras4-25/+82
Type: refactor Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I04f992e5d91d21f1e5bbafef070478cfe268d94a
2020-09-24session tcp udp tls quic: improve cli formattingFlorin Coras2-4/+6
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Iae5dbb8aaaf82d8e95c2ee8bbbe6844c9dd49f80
2020-09-16tcp: make max gso packet size configurableSimon Zhang3-2/+8
Type: improvement Signed-off-by: Simon Zhang <yuwei1.zhang@intel.com> Change-Id: I14de90f07d825c5c99023996a88173ee855e9a6f
2020-09-02tcp: fix connection refused errorFlorin Coras1-1/+1
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I436741e061f11685980a71fb3989befc7af1e081
2020-08-20tcp: track reorder with sacksFlorin Coras6-38/+61
Type: feature Change-Id: I041bff2e8d589c171661de286fa1503531dff891 Signed-off-by: Florin Coras <fcoras@cisco.com>
2020-08-06misc: harmonize namesDave Barach1-14/+15
Type: fix Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: Ibad744788e200ce012ad88ff59c2c34920742454
2020-08-03tcp: improve timestamp rtt accuracyFlorin Coras6-43/+38
- switch to using vlib_time as reference for timestamps - use us precision ticks for tcp but keep using ms precision for timestamps. As a result, srtt, rttvar and rto are now measured in us instead of ms. MRTT samples from timestamps are converted from ms to us (not accurate under ms) while high precision samples are used with us precision, i.e., they're no longer converted to ms precision samples. Type: improvement Change-Id: Ibda559575d9b4fdc85b0985264f7c865ff367e34 Signed-off-by: Florin Coras <fcoras@cisco.com>
2020-07-30tcp: process syn in fin-wait-2Florin Coras1-0/+1
Type: improvement Change-Id: I379ba4270dad56fb0a06427a43e97bed36bdaa13 Signed-off-by: Florin Coras <fcoras@cisco.com>
2020-07-29tcp: fix skipping RSTs in SYN_SENT stateIvan Shvedunov1-0/+1
Type: fix Signed-off-by: Ivan Shvedunov <ivan4th@gmail.com> Change-Id: Ieddf8f03fdd14e71efaf4c78fe5b7f0d15c5cf5a
2020-07-29tcp: process syn in close-waitFlorin Coras1-0/+1
Type: improvement Change-Id: I0cafe08d21e02094dda203c5eb60601b5953425d Signed-off-by: Florin Coras <fcoras@cisco.com>
2020-07-27tcp: fix tcp_connection_cleanup() with uninitialized elogIvan Shvedunov1-3/+7
This fixes TCP connection cleanup crash when TCP debugging is enabled. It could happen if session_stream_accept() returned an error. Type: fix Signed-off-by: Ivan Shvedunov <ivan4th@gmail.com> Change-Id: I0df08969d82bb0f44def81b9e47195bd15502831
2020-07-24tcp: fix synack elog crashFlorin Coras1-2/+3
The elog track, if enabled, must be initalized before synack is sent. Type: fix Signed-off-by: Ivan Shvedunov <ivan4th@gmail.com> Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I0c585f466c9a5cbc13af971ae4951b93f9913c5f
2020-07-23tcp: track pending timersFlorin Coras6-42/+10
Also removes delack timer and reuses the u32 for the pending timers list. Type: fix Ticket: VPP-1923 Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I4edbb72d5b2aa5e14f87659f49e675af1e834aca
2020-07-07tcp: round down rcv wnd even if avoiding retractionFlorin Coras1-13/+9
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I7fb3a4a2ffc4c5f42aa043e3a317b52d7767fb81
2020-07-02tcp: fix coverity warningFlorin Coras1-2/+2
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I60828bc084b9adbb925c306d26060412c410c516
2020-07-02tcp: cli to dump half-open connectionsFlorin Coras1-0/+104
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Idf7e483de0afc95a7579145fb16689e1853b10f9
2020-06-30tcp: avoid rcv wnd more than RX fifo can enqueueRyujiro Shibuya1-7/+6
Type: fix Signed-off-by: Ryujiro Shibuya <ryujiro.shibuya@owmobility.com> Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ie358b731f8ecb1fcaebd6e79f5ce5c10802c2814
2020-06-08tcp: improve rtt estimation with rate samplingFlorin Coras1-18/+29
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I25043da84b2f2b3f37024ecfedac535df3004ea5
2020-05-25tcp: fix sack block validation on wrapFlorin Coras1-1/+3
Type: fix Fixes: 487507f Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ia9813ae09d14111dc8edac0fa6ab082e13ab6e2e
2020-05-24tcp: track buffer alloc failuresFlorin Coras2-3/+21
Reported as part of "show tcp stats" Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I499ab4e41d13aaf1a0d060e37f09087e63d09567
2020-05-15misc: removed executable bits from source filesRay Kinsella2-0/+0
Identified and removed executable bit from source files in the tree. find . -perm 755 -name *.[ch] -exec chmod a-x {} \; Type: improvement Signed-off-by: Ray Kinsella <mdr@ashroe.eu> Change-Id: I00710d59fcc46ce5be5233109af4c8077daff74b
2020-05-14tcp: fix bogus time update due to missing castFlorin Coras1-1/+2
Type: fix Seems clang needs explicit casting to u64 of u64 and f64 multiplication before truncating to u32 Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ib0d7a33d4c5e68577e401e854fc3e55e0723da93
2020-05-12tcp: avoid rcv wnd less than mssFlorin Coras1-6/+4
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I84ec1c91a3a7b2195aad58923fa6f17f551444cb
2020-05-04tcp: fix max tx sack blocks upper boundFlorin Coras1-1/+1
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I70c63db91c3512fb724bba4762e3ca1e369ca421
2020-04-30tcp: fix v6 ll lookup fibFlorin Coras1-1/+1
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ie4b2bca3b6b0ca6097152aab232991ca7935e442
2020-04-28vlib: add ASSERT to vlib_time_now(...)Dave Barach1-1/+2
Calling vlib_time_now (&vlib_global_main) from a worker thread is a bad mistake. ASSERT (vm->thread_index == __os_thread_index) will catch it. Type: improvement Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I55af6de84e06143f8f43adc62103b77267a7a441
2020-04-28tcp: remove sack reneging verbose loggingFlorin Coras1-2/+0
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I4dbbf8456d0ed2350459fcdc0664bbae024072fc
2020-04-22tcp: avoid bt sample access after possible pool reallocFlorin Coras1-6/+6
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I98f943c8862fa74fb576f9ec1fb9186289b1216b
2020-04-22tcp: fix use-after-freeBenoît Ganne1-1/+5
bts can be freed by the call to bt_fix_overlapped(). Save flags for later use. Type: fix Change-Id: If8b48c96ce39e38f2ed7f4db2815122523eb2e05 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2020-04-17tcp: cubic as default cc algorithmFlorin Coras1-1/+1
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I48ce827966667a767440149769eb1b24616ce4c1
2020-04-17session tcp: track half open in app wrkFlorin Coras2-10/+26
Type: improvement Do extra checks when establishing an active connect and cleanup pending connects if application detaches. Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ibe9349db57b313ba2aa5ea3960ef5cf755f5098a
2020-04-15tcp: allow local port sharing if 5-tuple availableFlorin Coras1-1/+14
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Id0c4b46247e7419a328387678a4753cfb1e42d75
2020-04-09tcp: avoid regrabing error node in input and outputFlorin Coras2-23/+16
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I2dd0187d069783ac8bc445a70f99934d91ae0e63
2020-04-07tcp: fix conf mtu parsingFlorin Coras1-3/+3
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I4f0628b0484e32facbeb163993cc25d637167936
2020-04-04session tls: support tls deschedulingFlorin Coras2-7/+6
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ieb8bb9c6deb92479fdd3e045778fe5ae4782d1ea
2020-04-03session: improve error reportingFlorin Coras3-8/+7
Type: improvement Change-Id: I9dd850a1ce85b0adb5136233f176117e0ee38817 Signed-off-by: Florin Coras <fcoras@cisco.com>
2020-04-02tcp: explicit use of timer wheel in timer apisFlorin Coras6-171/+190
Type: refactor Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I06120d43c15b2fa3f437ef235bf5f83ec2beb45e
2020-04-02tcp: move features to separate filesFlorin Coras16-2945/+3119
Type: refactor Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ia477b8dba9266f47907967e363c11048e5cd95ab
2020-04-02tcp: count zero wnd enqueue attemptsFlorin Coras1-0/+4
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: If22bad96a9102bc4058d52fc8565bd6a14c3c66c
2020-03-30tcp: reuse session infra for syns and resetsFlorin Coras3-73/+38
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I71df27049ef0193578f0c42f8f8bbd5c54e4d53e
2020-03-25session: api to add new transport typesFlorin Coras1-0/+2
Type: feature Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: If4dee6dba1ea942daa921d566b35cdecdda680ee
2020-03-25tcp: avoid updating rcv wnd in resetsFlorin Coras1-3/+1
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I0884bf63db57b4b4dbccf41ab64c030b3fe4dde2
2020-03-23tcp: add lost and in flight to byte trackerFlorin Coras2-2/+15
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I3b0041d72d835cbb11e803cc56ac4c68a68238a0
2020-03-20tcp: avoid spurious retransmit attemptFlorin Coras1-4/+2
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I6ce6fb0fe0ceb8a70b6a13e6a72fdb842bfded7a
2020-03-19tcp: move accept init to separate reusable functionFlorin Coras3-102/+107
Type: refactor Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I5120eb321e9e2050eb64dca9e2dfb6256ff2b62d
2020-03-19tcp: force deschedule if no send space availableFlorin Coras4-11/+25
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Iae9f118f710153b6c0e390265039db7434e67ed8
2020-03-19session tcp udp: consolidate transport snd apisFlorin Coras4-40/+41
Type: improvement Use only one api to retrieve transport send parameters. Additionally, allow transports to request postponing and descheduling of events. With this, tcp now requests descheduling of sessions when the connections are stuck probing for zero snd_wnd Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I722c974f3e68fa15424c519a1fffacda43af050c