summaryrefslogtreecommitdiffstats
path: root/src/vnet/tcp/tcp_output.c
AgeCommit message (Expand)AuthorFilesLines
2020-08-20tcp: track reorder with sacksFlorin Coras1-0/+1
2020-07-23tcp: track pending timersFlorin Coras1-11/+0
2020-07-07tcp: round down rcv wnd even if avoiding retractionFlorin Coras1-13/+9
2020-06-30tcp: avoid rcv wnd more than RX fifo can enqueueRyujiro Shibuya1-7/+6
2020-05-24tcp: track buffer alloc failuresFlorin Coras1-3/+20
2020-05-12tcp: avoid rcv wnd less than mssFlorin Coras1-6/+4
2020-04-09tcp: avoid regrabing error node in input and outputFlorin Coras1-13/+8
2020-04-04session tls: support tls deschedulingFlorin Coras1-6/+5
2020-04-03session: improve error reportingFlorin Coras1-1/+1
2020-04-02tcp: explicit use of timer wheel in timer apisFlorin Coras1-23/+21
2020-04-02tcp: move features to separate filesFlorin Coras1-86/+3
2020-03-30tcp: reuse session infra for syns and resetsFlorin Coras1-43/+11
2020-03-25tcp: avoid updating rcv wnd in resetsFlorin Coras1-3/+1
2020-03-19tcp: force deschedule if no send space availableFlorin Coras1-1/+3
2020-03-19session tcp udp: consolidate transport snd apisFlorin Coras1-2/+8
2020-03-19tcp: count dupacks with no sacksFlorin Coras1-0/+1
2020-02-25tcp: handle cleanups without timersFlorin Coras1-2/+2
2020-02-18tcp: pace timer handlingFlorin Coras1-49/+10
2020-02-14tcp: improve reset generation in reset nodeFlorin Coras1-52/+40
2020-02-14tcp: minimal set of worker statsFlorin Coras1-0/+4
2020-01-28session tcp: fix packet tracingFlorin Coras1-6/+7
2020-01-09tcp: fix persist assertFlorin Coras1-4/+1
2019-12-06tcp: fix tail rescue with sacksFlorin Coras1-5/+7
2019-11-25tcp: invalidate expired timer handles before dispatchingFlorin Coras1-16/+4
2019-11-21tcp: add no csum offload config optionFlorin Coras1-25/+11
2019-11-20session tcp: support pacer idle timeoutsFlorin Coras1-20/+5
2019-11-16tcp: close session on retransmit failureFlorin Coras1-0/+1
2019-11-11tcp: improve lost rxt heuristicFlorin Coras1-0/+5
2019-11-10tcp: avoid retransmits post resetFlorin Coras1-0/+3
2019-11-07tcp: fix retransmit with no sacksFlorin Coras1-7/+11
2019-11-06tcp: IPv6 flow label supportTarun Gupta1-6/+10
2019-11-05session tcp: refactor pacer timeFlorin Coras1-11/+3
2019-10-23tcp: improve rate samples for retansmitted segmentsFlorin Coras1-8/+19
2019-10-23tcp: fix sack retransmit beyond snd_nxtFlorin Coras1-2/+7
2019-10-17session tcp: infra for transports to send buffersFlorin Coras1-56/+7
2019-10-17tcp: avoid sending acks when data availableFlorin Coras1-4/+19
2019-10-16tcp: avoid head retransmit if scoreboard has no holesFlorin Coras1-1/+2
2019-10-11tcp: refactor flags into cfg and conn flagsFlorin Coras1-9/+9
2019-10-10tcp: improve pacing after idle send periodsFlorin Coras1-48/+65
2019-10-10tcp: retry lost retransmitsFlorin Coras1-5/+39
2019-10-10tcp: custom checksum calculations for Ipv4/Ipv6Srikanth A1-22/+94
2019-10-10tcp: fix tso not work in single buffer issueSimon Zhang1-5/+8
2019-10-08tcp: rate sample for persist segmentsFlorin Coras1-0/+6
2019-09-25tcp: use sacks for timer based recoveryFlorin Coras1-70/+118
2019-09-10tcp: enable gso in tcp hoststackSimon Zhang1-0/+28
2019-09-10tcp: validate connections in outputFlorin Coras1-9/+46
2019-09-03tcp: send rwnd update only if wnd is large enoughFlorin Coras1-7/+7
2019-08-30tcp: force zero window on full rx fifoFlorin Coras1-1/+4
2019-08-30tcp: improve mss computationFlorin Coras1-41/+5
2019-08-21tcp: add option for always on event loggingFlorin Coras1-19/+19
pan>}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology | | And Add PCI devices to DUTs in 3-node single link topology | | ${get_framesize}= | Get Frame Size | ${framesize} | | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs | | And Apply startup configuration on all VPP DUTs | | ${ip_nr}= | Set Variable | 100 | | When Initialize IPv4 routing for '${ip_nr}' addresses with IPv4 ACLs on DUT1 in 3-node circular topology | | ${traffic_profile}= | Set Variable | trex-sl-3n-ethip4udp-100u1000p-conc | | Set Test Variable | ${traffic_profile} | | Then Run Keyword If | '${search_type}' == 'NDR' | | ... | Find NDR using binary search and pps | | ... | ${framesize} | ${binary_min} | ${binary_max} | ${traffic_profile} | | ... | ${min_rate} | ${max_rate} | ${threshold} | | ... | ELSE IF | '${search_type}' == 'PDR' | | ... | Find PDR using binary search and pps | | ... | ${framesize} | ${binary_min} | ${binary_max} | ${traffic_profile} | | ... | ${min_rate} | ${max_rate} | ${threshold} | | ... | ${perf_pdr_loss_acceptance} | ${perf_pdr_loss_acceptance_type} *** Test Cases *** | tc01-64B-1t1c-ethip4udp-ip4base-iacl10-stateless-flows100k-ndrdisc | | [Documentation] | | ... | [Cfg] DUT runs IPv4 routing config with ACL with\ | | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. | | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\ | | ... | linerate, step 50kpps. | | ... | | [Tags] | 64B | 1T1C | STHREAD | NDRDISC | | ... | | [Template] | Discover NDR or PDR for IPv4 routing with ACLs | | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR | tc02-64B-1t1c-ethip4udp-ip4base-iacl10-stateless-flows100k-pdrdisc | | [Documentation] | | ... | [Cfg] DUT runs IPv4 routing config with ACL with\ | | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. | | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\ | | ... | linerate, step 50kpps, LT=0.5%. | | ... | | [Tags] | 64B | 1T1C | STHREAD | PDRDISC | SKIP_PATCH | | ... | | [Template] | Discover NDR or PDR for IPv4 routing with ACLs | | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR | tc03-64B-2t2c-ethip4udp-ip4base-iacl10-stateless-flows100k-ndrdisc | | [Documentation] | | ... | [Cfg] DUT runs IPv4 routing config with ACL with\ | | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. | | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\ | | ... | linerate, step 50kpps. | | ... | | [Tags] | 64B | 2T2C | MTHREAD | NDRDISC | | ... | | [Template] | Discover NDR or PDR for IPv4 routing with ACLs | | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR | tc04-64B-2t2c-ethip4udp-ip4base-iacl10-stateless-flows100k-pdrdisc | | [Documentation] | | ... | [Cfg] DUT runs IPv4 routing config with ACL with\ | | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. | | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\ | | ... | linerate, step 50kpps, LT=0.5%. | | ... | | [Tags] | 64B | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH | | ... | | [Template] | Discover NDR or PDR for IPv4 routing with ACLs | | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR | tc05-64B-4t4c-ethip4udp-ip4base-iacl10-stateless-flows100k-ndrdisc | | [Documentation] | | ... | [Cfg] DUT runs IPv4 routing config with ACL with\ | | ... | 4 threads, 4 phy cores, 2 receive queues per NIC port. | | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\ | | ... | linerate, step 50kpps. | | ... | | [Tags] | 64B | 4T4C | MTHREAD | NDRDISC | | ... | | [Template] | Discover NDR or PDR for IPv4 routing with ACLs | | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR | tc06-64B-4t4c-ethip4udp-ip4base-iacl10-stateless-flows100k-pdrdisc | | [Documentation] | | ... | [Cfg] DUT runs IPv4 routing config with ACL with\ | | ... | 4 threads, 4 phy cores, 2 receive queues per NIC port. | | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\ | | ... | linerate, step 50kpps, LT=0.5%. | | ... | | [Tags] | 64B | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH | | ... | | [Template] | Discover NDR or PDR for IPv4 routing with ACLs | | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR