summaryrefslogtreecommitdiffstats
path: root/src/plugins
AgeCommit message (Collapse)AuthorFilesLines
2022-01-25dpdk-cryptodev: add support chacha20-poly1305Gabriel Oginski4-6/+44
Originally cryptodev doesn't support chacha20-poly1305 with aad length 0. This patch add support in cryptodev for chacha20-poly1305 with aad length 0. This length is using in Wireguard. Type: improvement Signed-off-by: Gabriel Oginski <gabrielx.oginski@intel.com> Change-Id: I0608920bb557d7d071e7f9f37c80cf50bad81dcc
2022-01-25wireguard: add async mode for decryption packetsGabriel Oginski5-217/+445
Originally wireguard doesn't support async mode for decryption packets. This patch add async mode for decryption in wireguard. In addition, it contains some performance improvement such as prefetching packet header and reducing the number of current time function calls. Type: improvement Signed-off-by: Gabriel Oginski <gabrielx.oginski@intel.com> Change-Id: Ieba6ae0078f3ff140c05b517891afb57232b3b7d (cherry picked from commit 77e69ae2d172dce74f4da4cae52bb63e28daa3ae)
2022-01-25wireguard: add async mode for encryption packetsGabriel Oginski10-98/+606
Originally wireguard doesn't support async mode for encryption packets. This patch add async mode for encryption in wireguard and also adds support chacha20-poly1305 algorithm in cryptodev for async handler. In addition it contains new command line to activate async mode for wireguard: set wireguard async mode on|off and also add new command to check active mode for wireguard: show wireguard mode Type: improvement Signed-off-by: Gabriel Oginski <gabrielx.oginski@intel.com> Change-Id: I141d48b42ee8dbff0112b8542ab5205268089da6 (cherry picked from commit 492d7790ff26c569bee81617c662363652891140)
2022-01-24wireguard: add burst modeGabriel Oginski7-181/+538
Originally wireguard does packet by packet encryption and decryption. This patch adds burst mode for encryption and decryption packets. In addition, it contains some performance improvement such as prefetching packet header and reducing the number of current time function calls. Type: improvement Signed-off-by: Gabriel Oginski <gabrielx.oginski@intel.com> Change-Id: I04c7daa9b6dc56cd15c789661a64ec642b35aa3f (cherry picked from commit 8ca08496a43e8d98fe2d4130d760c6fb600d0a93)
2022-01-18dpdk: limit number of TX queues to max supportedDamjan Marion1-3/+17
Also improve logging.... Type: fix Change-Id: I3d3aee52cd45e59ecd6ce13bd516c66559638fec Signed-off-by: Damjan Marion <damarion@cisco.com>
2022-01-18linux-cp: fix possible null derefPim van Pelt1-0/+2
Found by coverity as defect id 243763 Signed-off-by: Pim van Pelt <pim@ipng.nl> Type: fix Change-Id: Idbada5528a1f2625f6498072d538edf306268b6d
2022-01-18srv6-mobile: Fix the coverity issueTetsuya Murakami1-2/+2
Type: fix Signed-off-by: Tetsuya Murakami <tetsuya.mrk@gmail.com> Change-Id: I35c36401ce3ab59900be59a9abddba66f6399978
2022-01-18vnet: distinguish between max_frame_size and MTUDamjan Marion6-39/+71
Type: improvement Change-Id: I3659de6599f402c92e3855e3bf0e5e3388f2bea0 Signed-off-by: Damjan Marion <damarion@cisco.com>
2022-01-17interface: improve MTU handlingDamjan Marion3-18/+51
- per hw-interface-class handlers - ethernet set_mtu callback - driver can now refuse MTU change Type: improvement Change-Id: I3d37c9129930ebec7bb70caf4263025413873048 Signed-off-by: Damjan Marion <damarion@cisco.com>
2022-01-15mactime: fix memory leakDave Barach1-1/+2
Type: fix Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I1ef5cb250ac1e35b9a5003597eda3d54d2e5ca73
2022-01-14dpdk: refactor device setupDamjan Marion7-540/+328
Type: improvement Change-Id: I9772088bca176fd0fdb162677ec55c59aa8f3adf Signed-off-by: Damjan Marion <damarion@cisco.com>
2022-01-14dpdk: fix burst function outputDamjan Marion1-3/+3
Type: fix Fixes: 65105c95f Change-Id: I8dee4b560a49891f954d7eb8e79ea535cedeaa88 Signed-off-by: Damjan Marion <damarion@cisco.com>
2022-01-12hsa: echo clients connect improvementsFlorin Coras2-19/+34
Do burst of connects with barrier held. Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I7e6dcf097022b56d6880de0cba7b8492a938077b
2022-01-12hsa: cleanup echo client appFlorin Coras2-228/+268
Type: refactor Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Iada49493635a9c3db8b725ca367d0d4ca5007357
2022-01-12hsa: allow large segments for echo appsFlorin Coras2-36/+13
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I4e60d83644878f7d267582c2497d785e0f6facc1
2022-01-12dpdk: bump to DPDK v21.11Damjan Marion5-17/+31
Type: feature This patch bumps dpdk version from 21.08 to 21.11 Change-Id: Id37fdba75f1ea4f4eac3c92226f3b1c539e1daca Signed-off-by: Dastin Wilski <dastin.wilski@gmail.com> Signed-off-by: Damjan Marion <damarion@cisco.com>
2022-01-12dpdk: improve loggingDamjan Marion3-10/+49
Type: improvement Change-Id: If61d7409ff14b9f771c1dc8ec9f35e179cea7a28 Signed-off-by: Damjan Marion <damarion@cisco.com>
2022-01-12dpdk: update packet offload flagsDamjan Marion2-41/+89
Type: improvement Change-Id: Ib2c55dd2a246a690b2089f5c0b88508f732281f2 Signed-off-by: Damjan Marion <damarion@cisco.com>
2022-01-12perfmon: skipping bundle messageRay Kinsella1-1/+1
Change the skipping bundle message to debug Type: refactor Signed-off-by: Ray Kinsella <mdr@ashroe.eu> Change-Id: I942ff72bd9c26ccad923442fdedddf22ba75e117
2022-01-12dpdk: postpone updating runtime dataDamjan Marion1-1/+3
This prevents crash due to worker tread accessing device data while device vector is growing. Type: fix Change-Id: I5cf9f53ddbe97fe52db8fd431ea7c0e480f3d4bc Signed-off-by: Damjan Marion <damarion@cisco.com>
2022-01-12dpdk: use blunt force to skip irrelevant and confusing logsDamjan Marion1-1/+13
Type: improvement Change-Id: I2cd37f0c1a1ed33438bfa4b7590e5609e5094fc8 Signed-off-by: Damjan Marion <damarion@cisco.com>
2022-01-12dpdk: always display burst function nameDamjan Marion1-12/+10
Also change the way how we dig function pointer so it works with dpdk 21.11+ Type: improvement Change-Id: I38d5909eea9c2893651710bd45057b1635aa7b37 Signed-off-by: Damjan Marion <damarion@cisco.com>
2022-01-12dpdk-cryptodev: run dequeue again in case of interrupt mode being usedDastin Wilski1-0/+6
Type: fix Change-Id: I7aa172e58c970c4971db6ef2ff5b199b7f3c0b99 Signed-off-by: Dastin Wilski <dastin.wilski@gmail.com>
2022-01-11hsa: allow use of default port for vcl test appsFlorin Coras2-23/+28
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I30ec7af3baf56d74a5050ea9335053e6e12de630
2022-01-11linux-cp: Add VPP->Linux synchronizationPim van Pelt7-166/+697
Part 1 -- notes in https://ipng.ch/s/articles/2021/08/13/vpp-2.html Add the ability for VPP to copy out (sync) its state from the dataplane to Linux Interface Pairs, when they exist. Gated by a configuration flag (linux-cp { lcp-sync }), and by a CLI option to toggle on/off, synchronize the following events: - Interface state changes - Interface MTU changes - Interface IPv4/IPv6 address add/deletion In VPP, subints can have any link state and MTU, orthogonal to their phy. In Linux, setting admin-down on a phy forces its children to be down as well. Also, in Linux, MTU of children must not exceed that of the phy. Add a state synchronizer which walks over phy+subints to ensure Linux and VPP end up in the same consistent state. Part 2 -- notes in https://ipng.ch/s/articles/2021/08/15/vpp-3.html Add the ability for VPP to autocreate sub-interfaces of existing Linux Interface pairs. Gated by a configuration flag (linux-cp { lcp-auto-subint }), and by a CLI option to toggle on/off, synchronize the following event: - Sub-interface creation (dot1q, dot1ad, QinQ and QinAD) A few other changes: - Add two functions into netlink.[ch] to delete ip4 and ip6 addresses. - Remove a spurious logline (printing MTU) in netlink.c. - Resolve a TODO around vnet_sw_interface_supports_addressing() Type: improvement Signed-off-by: Pim van Pelt <pim@ipng.nl> Change-Id: I34fc070e80af4013be58d7a8cbf64296cc760e4e Signed-off-by: Pim van Pelt <pim@ipng.nl>
2022-01-11tls: ssl close only after all data drainedFlorin Coras1-2/+2
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ia77b26db61b6f58b4ff659f09192b4ea93ed50b4
2022-01-11dpdk: offloads cleanupDamjan Marion4-199/+122
Type: improvement Change-Id: Ibf43aa483548e6055e4b851ad893371d7af3b018 Signed-off-by: Damjan Marion <damarion@cisco.com>
2022-01-10interface: refactor interface capabilities code, part 2Damjan Marion1-6/+8
Type: improvement Signed-off-by: Damjan Marion <damarion@cisco.com> Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com> Change-Id: Ie595e69af8657b0ee18a84ac71c5d433108d9ef8
2022-01-10vrrp: vrrp in unicast mode,interface not add virtual ip addresssjinsh1-3/+0
Type: fix Signed-off-by: jinsh <jinsh11@chinatelecom.cn> Change-Id: Id80601bc753c59c4ea95ff5f74f9b15c40c01e35
2022-01-09dpdk: interface capabilities cleanupDamjan Marion4-24/+54
Type: improvement Change-Id: If5636d4376fb06da62f947c28b18c07b6ad21722 Signed-off-by: Damjan Marion <damarion@cisco.com>
2022-01-09dpdk: port type code cleanupDamjan Marion3-93/+34
Type: improvement Change-Id: I4ead18dee249a27b4dbb8bbf53b6238d91042890 Signed-off-by: Damjan Marion <damarion@cisco.com>
2022-01-09dpdk: new mbuf flags in format functionDamjan Marion1-26/+26
Type: improvement Change-Id: I9022e29ebc0edb7946d374d6c3c45ee6962d725f Signed-off-by: Damjan Marion <damarion@cisco.com>
2022-01-08dpdk: new flags formatDamjan Marion4-30/+64
introduced in DPDK 21.11 Type: improvement Change-Id: I8c845949dd904a2bf8fa4a91e2f3ae5d704f2283 Signed-off-by: Damjan Marion <damarion@cisco.com>
2022-01-07vmxnet3: memory leak on parsing bad CLI commandSteven Luong1-3/+5
When parsing bad "create interface vmxnet3" command, we should call unformat_free prior to return Type: fix Fixes: df7f8e8cffcc43531f7daeda44d436b60e538141 Signed-off-by: Steven Luong <sluong@cisco.com> Change-Id: I2663894c6cb8066ca2abb1c56f0ca46d0fef19f7
2022-01-07ethernet: new interface registration functionDamjan Marion11-121/+111
Prep for supporting multiple callbacks, optional args, etc. Type: improvement Change-Id: I96244c098712e8213374678623f12527b0e7f387 Signed-off-by: Damjan Marion <damarion@cisco.com>
2022-01-07dpdk: fix rx and tx descriptor configFlorin Coras1-0/+6
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I48ac0a2c77154b5232a0fe4166518f28d1f1d8ef
2022-01-06dpdk: cleanup MTU handlingDamjan Marion3-99/+31
Type: improvement Change-Id: I4b929693f3671be8ee63a58afcbac75a27d99d57 Signed-off-by: Damjan Marion <damarion@cisco.com>
2022-01-06dpdk: port type from speed_capa bitmap on Cisco VICDamjan Marion1-35/+1
enic driver now properly exposes speed_capa bitmap so this workaround is not needed anymore. Type: refactor Change-Id: Ic754de0b9de32d488405ffcd8d62dd6aa035d2bc Signed-off-by: Damjan Marion <damarion@cisco.com>
2022-01-06tap: add num_tx_queues APINathan Skrzypczak1-0/+1
This adds a create_tap_v3 api that has a num_tx_queues parameter allowing to create more than num_workers queues, following on multi TX support Type: feature Change-Id: Idce433147e8dd165f842241d6c76e041e1b1c9b8 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2022-01-05dpdk: remove unused definesDamjan Marion1-7/+0
Type: refactor Change-Id: I41d5d07eef670e89eba8fd816e123981940b5d79 Signed-off-by: Damjan Marion <damarion@cisco.com>
2022-01-05dpdk: no need to copy default tx confDamjan Marion3-6/+2
Type: improvement Change-Id: Ifd5201c101da7f4fb63f9b64280a6ec35b2af6a0 Signed-off-by: Damjan Marion <damarion@cisco.com>
2022-01-05dpdk: improve checksum computationFlorin Coras2-3/+26
Type: improvement Based on gerrit 26480 by chenmin.sun@intel.com Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Id8f2127f0fac5f555b38483714fe92c038875915
2022-01-05interface: refactor interface capabilities codeDamjan Marion8-34/+26
Make it shorter to type, easier to debug, make adding callbacks in future simpler. Type: improvement Change-Id: I6cdd6375e36da23bd452a7c7273ff42789e94433 Signed-off-by: Damjan Marion <damarion@cisco.com>
2022-01-05dpdk: move port config to single structDamjan Marion6-220/+206
Type: refactor Change-Id: I0bce385c7e391fa2b74646d001980610f80f7062 Signed-off-by: Damjan Marion <damarion@cisco.com>
2022-01-05dpdk: remove unused flagDamjan Marion6-132/+91
Type: refactor Change-Id: Iff96a79323d7d428a779e9736e07c1dc9dddb518 Signed-off-by: Damjan Marion <damarion@cisco.com>
2022-01-05srv6-mobile: Update GTP4/6.D functionTetsuya Murakami9-1194/+1539
GTP4/6.D behavior is updated as shown below. 1. When receiving GTP-U message or IPv6 linklocal destination in inner IP, GTP packet is tnralated to SRv6. 2. When receiving T-PDU packet, OuterIP/UDP/GTP headers are stripped off and Inner IP is encapsulated into SRv6 based on L3VPN SRv6 manner. Type: feature Signed-off-by: Tetsuya Murakami <tetsuya.mrk@gmail.com> Change-Id: I6092c98ea80236d54017f84c5b35cca0b645f034 Signed-off-by: Tetsuya Murakami <tetsuya.mrk@gmail.com>
2022-01-05dpdk: keep buffer flags per-deviceDamjan Marion4-15/+7
Type: improvement Change-Id: Idb0b079df49c12643c9a93ee0effe011d3489068 Signed-off-by: Damjan Marion <damarion@cisco.com>
2022-01-05dpdk: remove unused logging classDamjan Marion2-2/+0
Type: refactor Change-Id: I2de762953faa5056d5fefa678e4faafbe7710dc6 Signed-off-by: Damjan Marion <damarion@cisco.com>
2022-01-05dpdk: remove vlan-strip offload codeFilip Varga2-58/+0
This code was actually never working. It was just used as workaround for Cisco ENIC issue with tagged default vlan frames. Today Cisco ENIC provides solution to this problem with devargs flags... Change-Id: Ia8284274117cb200bf6c7f7911d945d5a093d878 Type: refactor Signed-off-by: Damjan Marion <damarion@cisco.com>
2022-01-05crypto: encrypt/decrypt queues sw_schedulerJakub Wysocki4-236/+292
Type: improvement Previously multiple sw crypto scheduler queues per core design caused unaverage frame processing rate for each async op ID – the lower the op ID is the highly likely they are processed first. For example, when a RX core is feeding both encryption and decryption jobs of the same crypto algorithm to the queues at a high rate, in the mean time the crypto cores have no enough cycles to process all: the jobs in the decryption queue are less likely being processed, causing packet drop. To improve the situation this patch makes every core only owning a two queues, one for encrypt operations and one for decrypt. The queue is changed either after checking each core or after founding a frame to process. All crypto jobs with different algorithm are pushed to thoses queues and are treated evenly. In addition, the crypto async infra now uses unified dequeue handler, one per engine. Only the active engine will be registered its dequeue handler in crypto main. Signed-off-by: DariuszX Kazimierski <dariuszx.kazimierski@intel.com> Signed-off-by: PiotrX Kleski <piotrx.kleski@intel.com> Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com> Signed-off-by: Jakub Wysocki <jakubx.wysocki@intel.com> Change-Id: I517ee8e31633980de5e0dd4b05e1d5db5dea760e