summaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2019-10-27tcp: retry lost retransmitsFlorin Coras7-155/+205
Add heuristic that detects lost retransmitted segments and retries sending them. Type: feature Change-Id: I34d1bb16799e1993779222eb2bfad4b40704159e Signed-off-by: Florin Coras <fcoras@cisco.com> (cherry picked from commit be237bf02382854118986e8ea84c7544e42023f2)
2019-10-27sr: fix deleting an SR l2 steering policyAhmed Abdelsalam1-3/+7
Type: fix Signed-off-by: Ahmed Abdelsalam <ahabdels@cisco.com> Change-Id: I9e98b1622785e58484bf316ef491e44cfb06bcb7 (cherry picked from commit a6b93eac5979f1f1166cdf6f8bfa216b243b2662)
2019-10-27ikev2: fix dangling pointerFilip Tehlar2-14/+28
Type: fix Change-Id: I8aa9029e0a5cf21aa24a90b39eb2787653f65abb Signed-off-by: Filip Tehlar <ftehlar@cisco.com> (cherry picked from commit 1890e9ce57a4b6dbc732f8f11d78001bea7c5855)
2019-10-27vlib: fix cli process stack overflowChenmin Sun1-1/+1
Type: fix Some cli processes, including configuring an test flow on an i40e interface consume more than the currently available stack space. Signed-off-by: Chenmin Sun <chenmin.sun@intel.com> Change-Id: I3df53d251cd43286f94647384d6e50a463bad15c (cherry picked from commit 2fd44a00aa26188ca75f0accd734f21758c199bf)
2019-10-27quic: fix wrong condition in update_fifo_sizeMathiasRaoul1-1/+1
Type: fix Signed-off-by: MathiasRaoul <mathias.raoul@gmail.com> Change-Id: If371cde9412be29634164830c58634da248ad0ae (cherry picked from commit cc702410c18b5c54ec8686b02a0d208c9bc80421)
2019-10-23vppinfra: fix page boundary crossing bug in hash_memory64Dave Barach2-4/+109
Fix a day-1 bug, possibly dating back as far as 2002. The zap64() game involves fetching 8 byte chunks, and clearing octets not to be included in the key. That's fine *unless* the 8-byte fetch happens to cross a page boundary into unmapped or no-access space. Type: fix Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I4607e9840032257c96ba7387f86c931c0921749d (cherry picked from commit 7e2cea3d26701ff1d80fda7d8ca907890e3e7baa)
2019-10-22gbp: use correct dst mac for RD-UU forwardBenoît Ganne1-1/+1
Type: fix Change-Id: Ifdd193fab24796346b11a5df81740880f9a50ee8 Signed-off-by: Benoît Ganne <bganne@cisco.com> (cherry picked from commit db056acca08900d05ef806a6bab74ea30b262f0f)
2019-10-22bonding: feature arc may not be enabled for the slave interfaceSteven Luong1-2/+2
vnet_feature_enable_disable takes sw_if_index, not hw_if_index. If there is a subinterface created prior to the slave interface is created, sw_if_index and hw_if_index start to diverge and the problem will happen. Type: fix Signed-off-by: Steven Luong <sluong@cisco.com> Change-Id: I11e1f099378832f83b748526c6cbeb56960fad3c (cherry picked from commit 1a41a35b27da6921d6d86a9f1ad5f1b46e1185f7)
2019-10-22ip: fix clang debug compilationBenoît Ganne1-3/+1
The non-extern declaration confuses clang linker in debug mode. The function is defined as inline above anyway. Type: fix Fixes: c6215d902f Change-Id: Ic7e4477631cf0bcfb31ab3f81effe3642dd4223e Signed-off-by: Benoît Ganne <bganne@cisco.com> (cherry picked from commit 5b1379be3e25df096d97dcd217965169fc6bb1b2)
2019-10-22tcp: fix tso not work in single buffer issueSimon Zhang2-6/+9
Type: fix Signed-off-by: Simon Zhang <yuwei1.zhang@intel.com> Change-Id: Iddb6fd41812e8c97af58859ef43279cfc0f9d1df Signed-off-by: Simon Zhang <yuwei1.zhang@intel.com> (cherry picked from commit 8a047ed741072bdb8d93b0841473eae06ae3c9d0)
2019-10-22mpls: support fragmentation of mpls output packetRajesh Goel6-16/+120
Type: fix Signed-off-by: Rajesh Goel <rajegoel@cisco.com> Change-Id: Ie4372c5cf58ab215cdec5ce56f8a994daaba2844 (cherry picked from commit d6f1c9c5141c177a14d011a514e392a9357398fb)
2019-10-22ip: only install IPv6 prefixes in FIB when the interface is upNeale Ranns1-39/+36
otherwise they get installed twice and the reference counting means they are not removed. This is the same behaviour as IPv4. Type: fix Change-Id: I9266e04ccff6ff06a577e85973a2ddbeb9dfc52b Signed-off-by: Neale Ranns <nranns@cisco.com> (cherry picked from commit 1ff3c15b3c7607c9b590ad44d18dea5eb1cb8c4e)
2019-10-22fib: P2P interfaces do not need specific multicast adjacenciesNeale Ranns1-3/+18
they can use the 'auto' adj for all traffic Type: fix Change-Id: Id2b9557683252a94badc8f9dfab5f7b2ae26f1ee Signed-off-by: Neale Ranns <nranns@cisco.com> (cherry picked from commit da0e7497ca972f3219352d884b5c51e455503dbb)
2019-10-18tcp: rate sample for persist segmentsFlorin Coras1-0/+6
Type: fix Change-Id: I7c38d2ad6364f098529f51c15b533eb234b82716 Signed-off-by: Florin Coras <fcoras@cisco.com> (cherry picked from commit dd60b1b128d8d6c07dc8b8bcbf932b808cedbaab)
2019-10-18vlib: move thread barrier around mod of global node next dataChristian E. Hopps1-6/+5
The old code modified the node next array prior to obtaining the thread barrier. Then it updated the runtime node data, and upon barrier release caused reforking of each worker thread. The reforking clones the main thread nodes and reconstructs the runtime node structure. This cloning is not 100% "deep" in the sense that the node next array is shared (i.e., only the pointer is copied). So prior to the barrier being obtained the node's next array is being changed while workers are actively using it (bad). Treating the node next array as read-only in the workers and sharing it is a decent optimization so instead of trying to fix that just move the barrier a little earlier in the process to protect the node next array as well. This was tripping an assert in next frame ownership change by way of the ip4-arp node. The assert verifies that the node's next array length is equal to the runtime next node count. The race above was lost and the node next array data was updated in the main thread while the arp code was still executing in a worker. This was being hit when many arp requests were being sent from both ends of a tunnel during which the add next node function was called, which often led to an assert b/c the next node array was out of sync with the runtime next node count. - PS#2 update - move barrier sync to just above code that modifies state. Ticket: VPP-1783 Type: fix Signed-off-by: Christian E. Hopps <chopps@chopps.org> Change-Id: I868784e28f994ee0922aaaae11c4894a3f4f1fe7 Signed-off-by: Christian E. Hopps <chopps@chopps.org> (cherry picked from commit d3122ef4ecfa9a515cc39c1632d29e43fa771b2a)
2019-10-18dhcp: API return code fixNeale Ranns1-2/+2
Type: fix Change-Id: Ifcbfeecd6ca1215ec473eec4cce736ab4eacde80 Signed-off-by: Neale Ranns <nranns@cisco.com> (cherry picked from commit d751746af9ca1130202d19bddd96a5f6af2ecc5c)
2019-10-18ip: Fix IP unnumbered dump of one interfaceNeale Ranns1-1/+1
Type: fix Change-Id: I35fb6fdfba50c4a59cf1ffb94cb51487bcf5afc9 Signed-off-by: Neale Ranns <nranns@cisco.com> (cherry picked from commit ac3e72cb9765f78f1cf03ff5d5ccd9ff944668b6)
2019-10-18misc: add "show run summary"Dave Barach1-11/+19
Prints the interior node vector rate, rx / tx / drop rates Type: feature Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I57130db0f99e852a8498aa90d01e52f7ac33dcc9 (cherry picked from commit ac78f8a902fc61465edf657f7c7da7ff575210c8)
2019-10-18hsa: make APP_OPTIONS_PREALLOC_FIFO_PAIRS configurableMathiasRaoul3-1/+5
-add prealloc_fifo_pairs member in echo_main_t -new cli parameter in vpp_echo Type: feature Signed-off-by: MathiasRaoul <mathias.raoul@gmail.com> Change-Id: I6bb1214ee93e06421cd0a3721420278c51cd59c4 (cherry picked from commit 7028a0157e28066696fba7d9978f7ab474f4d4f8)
2019-10-18quic: make quic fifo size configurable via cliMathiasRaoul2-6/+83
Type: feature Depends-On: I8d71078a9ed42326e19453ea10008c6bb6992c52 Change-Id: I6d6ac649094ef4bee2aed311915dd58f11972e79 Signed-off-by: MathiasRaoul <mathias.raoul@gmail.com> (cherry picked from commit 00078b991365db97edf919567ca8b169ffd9b3e4)
2019-10-17fib: fix use-after-free for interface adj removalBenoît Ganne1-0/+3
Type: fix Change-Id: I82308e368d14d84f5970dad229bdcf2de7d1839d Signed-off-by: Benoît Ganne <bganne@cisco.com> (cherry picked from commit 7391156ce68a81f258d65f498ec6161d694fae47)
2019-10-17bonding: graph node running after bond-input in feature arc may crashSteven Luong2-3/+42
In bond RX quad loop, when all packets within the frame have the same incoming interface, we cannot skip calling bond_update_next because that function calls vnet_feature_next() to update the b->current_config_index. The next node needs the correct b->current_config_index to work with. Type: fix Signed-off-by: Steven Luong <sluong@cisco.com> Change-Id: I3d8b3d4e0f95490f406fae7638f0c43c301ce664 (cherry picked from commit 71e5b4710258376873c62428cb4a81b2a650fc26)
2019-10-17ip: RD-CP API incorrect reply codeNeale Ranns1-1/+1
Type: fix Change-Id: Ie436d51999dc1384a0db492f28a7e66620e14551 Signed-off-by: Neale Ranns <nranns@cisco.com> (cherry picked from commit be01e635bcc942395c581eeb5a108edaaa82e36f)
2019-10-17fib: recursive calculation leads to delegate pool reallocNeale Ranns1-4/+14
Type: fix Change-Id: Ib7ac53d1b59b641ccd3b1d733107d7f1ba174314 Signed-off-by: Neale Ranns <nranns@cisco.com> (cherry picked from commit a66020becd7d01eefea55244cbcf5df9679a9443)
2019-10-16vppinfra: create unformat function for data size parsingMathiasRaoul2-0/+26
Type: feature Signed-off-by: MathiasRaoul <mathias.raoul@gmail.com> Change-Id: I8d71078a9ed42326e19453ea10008c6bb6992c52 (cherry picked from commit 579b165069e7c14392cded3a76e5cc1964ad13a9)
2019-10-16misc: add "maxframe" and "rate" to packet-generator cli.Christian E. Hopps3-5/+13
Allow for setting the maximum number of generated packets to be included in the frame passed to next nodes. This is very important for testing code which may be susceptible to multi-frame vs single-frame bugs (e.g., code that is doing re-ordering where packets may be buffered between frames). Update: - remove redundant packet "rate" option. - reduce n_max_frame to u32 as that's what pulled from the CLI. Type: feature Signed-off-by: Christian E. Hopps <chopps@chopps.org> Change-Id: Ie362bbb110b2cf01d9f65c559bbe9101e17b7fdc Signed-off-by: Christian Hopps <chopps@labn.net> (cherry picked from commit 87d7bac5cf2ebdc7820e1edaadc2cc3b6d111cf2)
2019-10-15rdma: fix crash when failing to read pci addr on createBenoît Ganne1-0/+3
Type: fix Change-Id: I543e2e5976cb384b81278a7ec98a0a6ab1612438 Signed-off-by: Benoît Ganne <bganne@cisco.com> (cherry picked from commit 0dd97d473bc0c958d9fcea508e1f5122a137b23f)
2019-10-15rdma: fix crash when failing to detect numa node on createBenoît Ganne1-0/+5
Type: fix Change-Id: Ibb8e7c1c13869c1dce2385f58bd7260fcf776c5a Signed-off-by: Benoît Ganne <bganne@cisco.com> (cherry picked from commit 90ea5dc1bd7adcedd0d5765c3ee04c98c4853337)
2019-10-15vlib: pci: set pci driver name to none when no driver is loadedBenoît Ganne1-0/+2
If no Linux PCI driver module is loaded, then the driver_name in the PCI info struct is NULL. This can triggers crash when checking driver name eg. in vlib_pci_device_open(). Default to "<NONE>" as driver name, which should never match. Type: fix Change-Id: I9e69889a7566467bd8220b92bbbaa72ada957257 Signed-off-by: Benoît Ganne <bganne@cisco.com> (cherry picked from commit 0eae2bb1f1199f7dcb6a8c62b1ea612ed9ee4ae1)
2019-10-15ip: fix use-after-free in IPv6 SLAAC expirationBenoît Ganne1-3/+11
Type: fix Change-Id: I46b166b3a10c4543eafa4422531dd3c725db45f1 Signed-off-by: Benoît Ganne <bganne@cisco.com> (cherry picked from commit 79c9d3650357fa675df2998e362e9881cff17a34)
2019-10-15nat: fix use-after-freeBenoît Ganne1-4/+6
Type: fix Change-Id: Iac91c086c4e975f0bada058f40b7b7d4475377f8 Signed-off-by: Benoît Ganne <bganne@cisco.com> (cherry picked from commit 7233846ce93fddef495a1029ca211f42afe046f2)
2019-10-14devices: vhost not reading packets from vringSteven Luong2-0/+25
In a rare event, after the vhost protocol message exchange has finished and the interface had been brought up successfully, the driver MAY still change its mind about the memory regions by sending new memory maps via SET_MEM_TABLE. Upon processing SET_MEM_TABLE, VPP invalidates the old memory regions and the descriptor tables. But it does not re-compute the new descriptor tables based on the new memory maps. Since VPP does not have the descriptor tables, it does not read the packets from the vring. In the normal working case, after SET_MEM_TABLE, the driver follows up with SET_VRING_ADDRESS which VPP computes the descriptor tables. The fix is to stash away the descriptor table addresses from SET_VRING_ADDRESS. Re-compute the new descriptor tables when processing SET_MEM_TABLE if descriptor table addresses are known. Type: fix Ticket: VPP-1784 Signed-off-by: Steven Luong <sluong@cisco.com> Change-Id: I3361f14c3a0372b8d07943eb6aa4b3a3f10708f9 (cherry picked from commit 61b8ba69f7a9540ed00576504528ce439f0286f5)
2019-10-14ip: MFIB CLI fix for parsing path flagsNeale Ranns2-3/+4
Type: fix Change-Id: I7ed9726d8c5ca26715a84b004a18fd7f93142486 Signed-off-by: Neale Ranns <nranns@cisco.com> (cherry picked from commit 46023762d1da674ff73954f0d1523d450bfcf03c)
2019-10-11lisp: fix dangling references to bihash tablesDave Barach1-6/+26
gid_ip4_table_t's and gid_ip6_table_t's are allocated from pools. They MUST NOT be listed on the clib_all_bihash list to avoid dangling references. Switch to the clib_bihash_init2 API, which has the required knob. Type: fix Ticket: VPP-1788 Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I49a17e937922c3af2e1c46b24e20883af51584a8
2019-10-11tcp: unittest: do not access non-existent samplesBenoît Ganne1-1/+0
There is no bt->samples for this test, do not use it. Type: fix Change-Id: I2090290887bc5c0b5cdb0561cf2bf72a87781089 Signed-off-by: Benoît Ganne <bganne@cisco.com> (cherry picked from commit b0a7c484eec9a813751e6e3fa71a9955ad5f0f74)
2019-10-11acl: fix intermittent test failureAndrew Yourtchenko1-9/+9
ACL tests use random port number in the tests. A port number 6081 causes the decode in scapy to consume some of the Raw payload into GENEVE encoding, which breaks the test. Solution: bring up the lower range of random port to 16384, so that it does not touch any of the well known ports. Type: test Change-Id: I022660d8ec147857924b436f1871b0b5ddcf4c47 Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com> (cherry picked from commit ec574ff9129a7cc4282916d2a989e88d78aaff60)
2019-10-11quic: Create custom event loggerMathiasRaoul1-2/+39
Type: feature Change-Id: I20acfe6a53cf9f15e3e4b8847b6f76757962f1c7 Signed-off-by: MathiasRaoul <mathias.raoul@gmail.com> (cherry picked from commit dd4d8ac29202fe54e74a13ce86d1ba3f79d1555f)
2019-10-11api: fix non-null-terminated C-stringBenoît Ganne1-5/+10
Type: fix Change-Id: I132112bf77e1fad7fc0227a96e6b0cee590295e8 Signed-off-by: Benoît Ganne <bganne@cisco.com> (cherry picked from commit fb0bb3a732cd46848e26fcc6a17d9fdf99727af3)
2019-10-11ipsec: initialize msgid and allow no dh in child saChristian E. Hopps1-14/+18
- set msgid to 0 not random. - allow for no DH in ESP child SA Ticket: VPP-1781 Type: fix Signed-off-by: Christian E. Hopps <chopps@chopps.org> Change-Id: Ibe26009d38f444eeaec5b042097f145d161c7672 (cherry picked from commit 0e182c5b1d27139764dca7059c9c91be8387977a)
2019-10-11quic: Add Tx, Rx and packet drop countersMathiasRaoul3-0/+66
Type: feature Change-Id: I25aeeed49fc569315296a73c5595c2e2e302434f Signed-off-by: MathiasRaoul <mathias.raoul@gmail.com> (cherry picked from commit ff1f6faaa90cd446545a8d0c0b0baa85d69efa35)
2019-10-11session: fix use-after-freeBenoît Ganne5-6/+7
Make sure to reinitialize data before free-ing it. Type: fix Change-Id: I45727c456d0345204d4825ecdd9690c5ebeb5e94 Signed-off-by: Benoît Ganne <bganne@cisco.com> (cherry picked from commit d4aeb84c3f066b755b723163da292eab95bd1ef9)
2019-10-11quic: add cli command for statsMathiasRaoul1-0/+47
add command to display stats from quicly (rtt, packet loss) Type: feature Change-Id: Iaa18bc78fbf80a9367ef150a8cf4997a456c6b39 Signed-off-by: MathiasRaoul <mathias.raoul@gmail.com> (cherry picked from commit 922f0b211c160b4f1d05b87ad0103581d17efb8b)
2019-10-11hsa: fix vpp_echo mq lockingNathan Skrzypczak3-18/+62
Type: fix Change-Id: I18d2cde0baaed4134e8378c09aaa88693fb997f8 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com> (cherry picked from commit 46b91ebb5c350ceeccec97d8e09524f708512342)
2019-10-11vppinfra: implement CLIB_PAUSE () for aarch64 platformsjaszha031-0/+2
Define CLIB_PAUSE () to generate the "yield" instruction. No significant performance changes were observed for clib_spinlock_t and clib_rwlock_t. Type: feature Change-Id: I59eb996e61c7a16007517e57e6996567302c1657 Signed-off-by: Jason Zhang <jason.zhang2@arm.com> Reviewed-by: Lijian Zhang <Lijian.Zhang@arm.com> (cherry picked from commit 18512b002da5da312aa2638b67a8ec4bb2c10236)
2019-10-10tcp: custom checksum calculations for Ipv4/Ipv6Srikanth A6-122/+194
Type: feature Based on the configuration, we can disable checksum offload capability and calculate checksum while pushing the TCP & IP header. This saves some cycles when VPP stack is used in legacy hardware devices. Signed-off-by: Srikanth A <srakula@cisco.com> Change-Id: Ic1b3fcf3040917e47ee65263694ebf7437ac5668
2019-10-09rdma: prevent loopback of broadcast packetsBenoît Ganne1-4/+9
TX queues must be created before RX queues on Mellanox cards in order to not receive our own broadcast packets. Type: fix Change-Id: I32ae25a47d819f715feda621a5ecddcf4efd71ba Signed-off-by: Benoît Ganne <bganne@cisco.com> (cherry picked from commit df213385d391f21d99eaeaf066f0130a20f7ccde)
2019-10-09rdma: make sure pci subsystem is initializedBenoît Ganne1-1/+6
The rdma driver use the pci subsystem, make sure the dependency is recorded. Type: fix Change-Id: Ibd613f623d355612881acc31b9423f2de13793a3 Signed-off-by: Benoît Ganne <bganne@cisco.com> (cherry picked from commit 4a98388daec998a56cb150e2acb8a26ae51c0c28)
2019-10-08dns: fix non-NULL terminated C-stringBenoît Ganne1-0/+2
Type: fix Change-Id: Ib030e6ac3386528901e0805d1ffe2eec033d819f Signed-off-by: Benoît Ganne <bganne@cisco.com> (cherry picked from commit 328c08d603bb0a9956b82553f1691fd8a5a5de7d)
2019-10-08vlib: fix old nodes vector overflow in reforkBenoît Ganne1-5/+2
Type: fix Change-Id: I81c4cf0ce87288bb2d3c7b9f31e9419290d588b4 Signed-off-by: Benoît Ganne <bganne@cisco.com> (cherry picked from commit 5517bd34535e4ffffb838a835bb95ddcb77e2bba)
2019-10-07ipsec: fix use-after-freeBenoît Ganne1-3/+7
When deleting interface from the API, 'hi' gets removed before 'h->sw_if_index' is copied. Type: fix Change-Id: I8e10108e9bdf95ab2fe002790d98262d583ca58c Signed-off-by: Benoît Ganne <bganne@cisco.com> (cherry picked from commit 8133c780a22480496c74a4ead321e8350d5beeb4)