summaryrefslogtreecommitdiffstats
path: root/src/vnet
AgeCommit message (Collapse)AuthorFilesLines
2018-11-05tcp: send unsent data in fast recoveryFlorin Coras5-121/+196
Allows sending of unsent data in fast recovery and consolidates logic in tcp, instead of splitting it between tcp fast retransmit and tcp output path called by the session layer. Change-Id: I9b12cdf2aa2ac50b9f25e46856fed037163501fe Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-11-02tcp: coverity fixesFlorin Coras3-9/+9
Change-Id: Ib15d629c5fde7849bfa3307f42659e920eb0f463 Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-11-02vnet: ping: rewrite for maintainability and multicore supportAndrew Yourtchenko2-450/+737
Refactor most of the ping code to be address-family agnostic, and add support for chained buffers (thus, sending the payloads bigger than 2K). Change-Id: I749c302ca2f3390e0d1f84046fc72da5cf13e3ef Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2018-11-02vlib: define minimum chained buffer segment sizeDamjan Marion3-5/+4
Change-Id: I9b5f7b264f9978e3dd97b2d1eb103b7d10ac3170 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-11-02session: measure dispatch period only if under loadFlorin Coras9-22/+51
Also reset pacer on tcp retransmit timeout Change-Id: I5a9edee4c00d1d169248d79587a9b10437c2bd87 Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-11-02tcp: minimize use of tlsFlorin Coras4-198/+195
Also propagate tcp worker context instead of retrieving it multiple times. Change-Id: I7b273b981826b37783566d0172a64cd6957f3b33 Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-11-02arp:add error counters for all failure casesEyal Bari2-101/+85
Change-Id: Ided6c661edc9e2035fd7b472c312e2380d3f9c0b Signed-off-by: Eyal Bari <ebari@cisco.com>
2018-11-01tcp: fast retransmit pacingFlorin Coras8-66/+129
Force pacing for fast retransmit to avoid bursts of retransmitted packets. Change-Id: I2ff42c328899b36322c4de557b1f7d853dba8fe2 Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-10-31session: fix sh session cliFlorin Coras1-1/+1
Change-Id: Idbc7b61393c6d0e3b8ea950397a89d21b1cf3a42 Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-10-31l2fib:remove unused bucket arg in lookup functionsEyal Bari3-33/+7
Change-Id: Ib138b6e2eac47acc16e81bc88358ae7947420134 Signed-off-by: Eyal Bari <ebari@cisco.com>
2018-10-31session: prioritize postponed sessionsFlorin Coras3-45/+33
If sessions cannot be handled during the current dispatch loop iteration, ensure that they are first to be handled in the next. Change-Id: Ifc6215900f8cfd530d4886b58641189f0ccf9bb7 Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-10-31session: add wrk contextFlorin Coras6-158/+167
Change-Id: I66ca0ddea872948507d078e405eb90f9f3a0e897 Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-10-30ADJ: init MTU to interface defaultNeale Ranns2-1/+4
Change-Id: Iaecf8c060e1337d8c362ad9a9be2bb9701664397 Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-10-30change mac address functions take const macNeale Ranns2-3/+3
Change-Id: Ia68db22b917e9af1394c00e5a6b3df134bfd1568 Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-10-29migrate ipsec to new multiarch infraKlement Sekera8-73/+49
Change-Id: Ibef46e068cd72415af28920b0146adf48105bf68 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2018-10-29Use throttle_t for ND throttlingNeale Ranns6-48/+36
Change-Id: I93c6b7bccd1a1ab71625ae29c99c974581186c4d Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-10-29interface-flags; fix coverity error found in conversionNeale Ranns2-4/+30
Change-Id: I2eafac4ce810fe53454b729d81161ec80d036db7 Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-10-29Fixing Exclusive dpo path issues added when via rpathVijayabhaskar Katamreddy1-4/+18
Change-Id: I7531a64d7072d85514ca579827b6ea0e9cef6f08 Signed-off-by: Vijayabhaskar Katamreddy <vkatamre@cisco.com>
2018-10-28session: move test to unittest pluginFlorin Coras2-1757/+0
Change-Id: I4921054b4e42bac3442d399681b21b613ce8b681 Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-10-29bond: problem switching from l2 to l3Steven1-0/+11
when the last interface is removed from l2 in the bonding group, we should invoke ethernet_set_rx_direct to allow ip packets to go directly to ip4-input. Change-Id: I43b3cd64e2c119762edd0c295bb9348732adab45 Signed-off-by: Steven <sluong@cisco.com>
2018-10-28session: extend connect api for internal appsFlorin Coras16-137/+409
Change-Id: Ie4c5cfc4c97acb321a46b4df589dc44de1b616ba Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-10-27FIB: Sources must be keep in priority order, so re-sort after a vec_delNeale Ranns1-0/+2
Change-Id: I77af4f3a7e826ea5c1a23ee8b348faefe9f2facc Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-10-27pg: icmp4 & tcp4 ip length issueKingwel Xie2-2/+12
length in ip4 header could be 0, when the length edit is fixed this happens if length is not specified or size is specified as, f.g., 100-100 As a result, tcp and icmp would get a negative value for checksum calculation Change-Id: I55fa1f5e95717ea4149cb3b8c9b73caf88ae7f98 Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
2018-10-27pg: incrementing len should be truncated byKingwel Xie1-12/+15
stream->max_packet_bytes This length is the payload length, and will impact the ip length when ip length is not specified. iplen = header_len + payload_len SO, better to make it comply with max_packet_bytes Change-Id: I8b0f7485e29fcaccae656f2d03b3b5e614300fb8 Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
2018-10-27pg: allow creating pg for udp based protocolsKingwel Xie2-1/+13
f.g., gtpu4/6 Change-Id: I8bb1dc5fd2fba89ff17ec069a9816bafb9684190 Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
2018-10-27Enumify interface flagsNeale Ranns3-42/+62
clang will emit a warning when the wrong enum type is passed to a function whose arguments are an enum type. free bug finding... Change-Id: I62215d8ef22c7527a31272e31f5d190e4e762e53 Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-10-27virtio: remove the extra return callMohsin Kazmi1-2/+0
Change-Id: I6e43953a6ad1bd672e69d8377d18bd9614b469d8 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2018-10-26vxlan-gbp: On demand udp ports registrationMohsin Kazmi2-5/+44
Change-Id: I3a47c71ad3e35df47d11fed6db95019a45f3015f Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2018-10-25vnet/tcp/tcp.c: address a corner case.Paul Vinciguerra1-4/+7
Avoid possible null pointer dereference Change-Id: If8023edb43aaf037234f4a7b5f191cb23b09c74d Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2018-10-25Trivial: Cleanup missing va_ends.Paul Vinciguerra3-7/+11
Change-Id: Ie7827b6a31968a355687d27325c0f30cab1bc890 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2018-10-25session/tcp: improve cliFlorin Coras5-61/+128
Change-Id: I91c9d040fc9b9b63f7109eeaac334c47fb1226cf Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-10-25ACL: Fix next_table_index classifiers consistancyGregory Thiemonge1-5/+17
Fixed consistancy between the first classifier match and the next_table_index classifier matches: - CLASSIFY_ACTION_SET_METADATA was applied only for the first classifier, but it was not applied for the other classifiers - Actions should be performed only for input ACLs - Payload should point at the IP header for output ACLs Change-Id: Ifbd7791756320ae3198520c41902f5e99e3d40b4 Signed-off-by: Gregory Thiemonge <gregory.thiemonge@enea.com>
2018-10-25ipsec_gre.c: Remove redundant assignments.Paul Vinciguerra1-13/+6
Change-Id: I010528055b9d0597b087882146496eacc13b7daa Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2018-10-25tcp/session: add tx pacerFlorin Coras10-21/+305
Adds tx pacing infrastructure for transport protocols that want to use it. Particularly useful for connections with non-negligible rtt and constrained network throughput as it avoids large tx bursts that lead to local interface tx or network drops. By default the pacer is disabled. To enabled it for tcp, add tx-pacing to tcp's startup conf. We are still slightly inefficient in the handling of incoming packets in established state so the pacer slightly affect maximum throughput in low lacency scenarios. Change-Id: Id445b2ffcd64cce015f75b773f7d722faa0f7ca9 Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-10-25buffer trace is broken in ipsec-output. copy it from node->flags to ↵Kingwel Xie1-0/+5
frame->frame_flags Change-Id: I56b573b5da04a27766bcbcafbd5438555424f2e7 Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
2018-10-25SCTP: DATA chunk padding fix and hardeningMarco Varlese3-7/+37
According to the RFC 4096 (section 3.3.1) the DATA chunk needs to be padded to a boundary of 4 bytes with zeros. This patch addresses that requirement. At the same time, this patch takes care of adding some hardening for corner-cases where the transmitted tag could be wrong. Change-Id: I3b653926e9933d0d3d46bc5f37eaceefd932e874 Signed-off-by: Marco Varlese <marco.varlese@suse.com>
2018-10-24L2-fwd trace show the lookup resultNeale Ranns3-48/+81
Change-Id: I09cf6ee7b4874d71f293f8f1a426d3a5e9651749 Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-10-24L2-input/output: use feature enum type in flag update functionNeale Ranns4-4/+10
Change-Id: I1f58f441c65fbca101bee2e864bfa6ae2306b475 Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-10-23dns, dhcp: on-demand udp port registrationDave Barach5-16/+54
Change-Id: I8bf411adc6c5f4caa349d161174b544d2de3ad1d Signed-off-by: Dave Barach <dave@barachs.net>
2018-10-23tcp: fast retransmit improvementsFlorin Coras5-107/+279
Patch is too large to be ported to 18.10 just days before release. - handle fast retransmits outside of established node and limit the retransmit burst size to avoid tx losses and worsening congestion. - in the absance of a tx pacer, use slow start after fast retransmit exists - add fast retransmit heuristic that re-retries sending the first segment if everything else fails - fine tuning Change-Id: I84a2ab8fbba8b97f1d2b26584dc11a1e2c33c8d2 Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-10-23lisp: register cp port only if enabledFlorin Coras1-2/+0
Change-Id: I7030951215f0cf7d00c037892ac92d9c304cb5a1 Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-10-23pg: udp length & checsum issueKingwel Xie1-4/+4
if udp length is specified, then use this length to calculate udp checksum otherwise, use length from vlib_buffer Change-Id: I5304a60d5d429993d0524b864b65ec503775412d Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
2018-10-23c11 safe string handling supportDave Barach219-781/+785
Change-Id: Ied34720ca5a6e6e717eea4e86003e854031b6eab Signed-off-by: Dave Barach <dave@barachs.net>
2018-10-23ipsec: fix wrong counter bumpKlement Sekera1-1/+1
Change-Id: I5105b688ef3df2c949ba09e1e90c1b8913502388 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2018-10-22ipsec fix missing node renamesKlement Sekera1-1/+1
Change-Id: I70bc5af646894811d373456ec66aa83f2d75a477 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2018-10-22Fix buffer overflow when fragmenting packets (VPP-1383)Juraj Sloboda1-2/+3
Change-Id: Idcda9ae55fa2efb0b2e928bac3e8e86ff8d19eba Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
2018-10-22ipsec: split ipsec nodes into ip4/ip6 nodesKlement Sekera12-319/+510
Change-Id: Ic6b27659f1fe9e8df39e80a0441305e4e952195a Signed-off-by: Klement Sekera <ksekera@cisco.com>
2018-10-22lisp-gpe: register udp port only if enabled (VPP-1468)Florin Coras1-5/+7
Change-Id: I7d0930a19d927bbd7ba3fc879d5a0c8064827629 Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-10-21tcp: count first lost hole (VPP-1465)Florin Coras1-14/+17
Change-Id: I3ac136e2a10796d8fa86ddb6f0d6cabe5fa749f8 Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-10-20pipes: fix the l2.l2_len and the l[23]_hdr_offset setting behavior of ↵Andrew Yourtchenko1-29/+30
pipe-rx node to match that of ethernet-input node Since pipe-rx is a sibling node of ethernet-input, it ought to perform similarly: set l2/l3 header offsets, and l2.l2_len value if the interface is in the l2 mode. The use cases of pipes do not assume the tagged traffic, so assume the simple ethernet header. Change-Id: I7c9b5f4f2b1402cfbd10513f76cdd59b2db7a7a6 Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>