aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/dpdk
AgeCommit message (Collapse)AuthorFilesLines
2019-01-30buffers: add missing ref_count = 1 in driversDamjan Marion1-0/+1
Change-Id: I6aa030429c1740f7376e95daf82fce49efa6716b Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-30buffers: major cleanup and improvementsDamjan Marion9-679/+317
This patch introduces following changes: - deprecated free lists which are not used and not compatible with external buffer managers (i.e. DPDK) - introduces native support for per-numa buffer pools - significantly improves performance of buffer alloc and free Change-Id: I4a8e723ae47056717afd6cac0efe87cb731b5be7 Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-26cmake: parse DPDK config without compilationDamjan Marion1-57/+15
Previous scheme was not cross-compile friendly... Change-Id: Ib103b136231673157a02b8750312aa6073052c7e Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-26cmake: add support for linking with DPDK shared libsDamjan Marion1-67/+121
Change-Id: I3423191c53ab6100ee9ecc4e24b06506ff1b25c8 Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-21crypto-input: fix crash bugKingwel Xie1-8/+12
as this node is refactored in new style with vlib_buffer_enqueue_to_next, we have to check if the 'count' is greater than 0. otherise, the next_index would be invalid then lead to a crash Change-Id: If7c323b59c02b5c16bd9d77b65c946512cc972c1 Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
2019-01-20dpdk: add buffer.hDamjan Marion12-13/+43
Change-Id: I998658ad7860b23425444e218ce2e1ec655b885a Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-20buffers: remove vlib_buffer_delete_free_listDamjan Marion1-47/+0
Change-Id: I5fe01e918b534d1ac1d47f0d7610536f45c3158c Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-20buffers: don't init metadata, as it is already initializedDamjan Marion2-5/+1
Change-Id: Ia083050389853c25b069f0f8286d50d3f4aef527 Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-20buffers: keep buffer_main in vlib_main_tDamjan Marion1-2/+2
Change-Id: I3bb1d9f83dd08f4b93acd4a281bfec0674e39c2e Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-19buffers: remove free-list information from buffer metadataDamjan Marion1-2/+1
Change-Id: I6048c6a51efa826ac333f7d15919cb87dd766d74 Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-18deprecate clib_memcpy64_x4Damjan Marion2-24/+24
Storing buffer in local template seems to be better option.... Change-Id: I1a2fdd68cb956f99a5b36d2cd810fc623e089bcf Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-17cmake: initial cross-compilation supportDamjan Marion1-0/+5
Change-Id: Ib9c2aba1eda08a22465441e33553b9b744c79d56 Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-17Fix ASSERT usage issue in cryptodevSimon Zhang1-1/+1
Change-Id: I764c6565f96e0cb9078503e54e3cf3bb3fd9ff3f Signed-off-by: Simon Zhang <yuwei1.zhang@intel.com>
2019-01-16fix dpdk cryptodev enable issuev19.04-rc0Simon Zhang1-6/+9
Change-Id: I47d021522cfc92cfb3877449333cbf31022c06f4 Signed-off-by: Simon Zhang <yuwei1.zhang@intel.com>
2019-01-13remove useless line in dpdk cryptodevSimon Zhang1-2/+0
Change-Id: I2ef33c7c15b3eb1f55bbfd5cbdd230d6a4d58936 Signed-off-by: Simon Zhang <yuwei1.zhang@intel.com>
2019-01-13dpdk: show hardware may display the wrong information for rss activeSteven1-0/+1
Some dpdk driver does not support rte_eth_dev_rss_hash_conf_get. When that happens, we display whatever that was in the stack variable for rss_hf which is confusing. The fix is to clear rss_hf prior to the call. Before the fix -------------- DBGvpp# sh hard Name Idx Link Hardware format_dpdk_device:599: rte_eth_dev_rss_hash_conf_get returned -95 GigabitEthernet13/0/0 2 up GigabitEthernet13/0/0 Link speed: 10 Gbps Ethernet address 00:0c:29:c4:8c:eb VMware VMXNET3 ... rss avail: ipv4 ipv4-tcp ipv6 ipv6-tcp rss active: ipv4 ipv4-frag ipv4-tcp ipv4-udp ipv4-other After the fix ------------- DBGvpp# sh hard Name Idx Link Hardware format_dpdk_device:600: rte_eth_dev_rss_hash_conf_get returned -95 GigabitEthernet13/0/0 2 up GigabitEthernet13/0/0 Link speed: 10 Gbps Ethernet address 00:0c:29:c4:8c:eb VMware VMXNET3 .. rss avail: ipv4 ipv4-tcp ipv6 ipv6-tcp rss active: none Change-Id: If8f8327f0012eecc8d23cd7f3f9cc581ca025654 Signed-off-by: Steven <sluong@cisco.com>
2019-01-02Fixes for buliding for 32bit targets:David Johnson1-1/+3
* u32/u64/uword mismatches * pointer-to-int fixes * printf formatting issues * issues with incorrect "ULL" and related suffixes * structure alignment and padding issues Change-Id: I70b989007758755fe8211c074f651150680f60b4 Signed-off-by: David Johnson <davijoh3@cisco.com>
2019-01-01buffers: remove unused codeDamjan Marion1-18/+0
Change-Id: If2bbfbc52994f5de0879763e0b7a7864498debb6 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-12-24crypto-input: bug fix check-opKingwel Xie1-6/+6
fix a copy-paste bug, and a typo of function name Change-Id: Ib408522d2bb6fde7a7492de6f5d5369b461d77c9 Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
2018-12-22dpdk: switch to in-memory mode, deprecate use of socket-memDamjan Marion1-112/+25
Change-Id: I3896bf9d71dc300520c53dbe3c2fd8fcd1470881 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-12-22crypto-input impprovement:Kingwel Xie1-74/+163
1. multi-loop, and new style with vlib_buffer_enqueue_to_next 2. add error counter for AUTH-FAILURE 3. buffer trace changed. now it supports 'trace add dpdk-crypto-input 10' just like the other input nodes Actual measurement shows >10 clocks per packets are saved, under QAT or openssl PMD case Change-Id: I6ea34e4ae3b08c381219ff6bc8adda2d927fbfd5 Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
2018-12-19vlib: support Hyper-v/Azure VMBusStephen Hemminger1-0/+32
This patch adds support for VMBus to the VPP infrastructure. Since the only device that matters is the netvsc Poll Mode Driver in DPDK, the infrastructure is much simpler than PCI. Change-Id: Ie96c897ad9c426716c2398e4528688ce2217419b Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
2018-12-19dpdk plugin: blacklist PCI devices by typeDave Barach2-1/+47
Change-Id: I89695c1ad47131ed830f35c677937ce12025a40d Signed-off-by: Dave Barach <dave@barachs.net>
2018-12-01dpdk-ipsec-mempool: allocate from dpdk mem specified by socket-mem in ↵Kingwel Xie1-22/+17
startup.conf otherwise, these pools will occupy an entire huge page for each even they are very small. Change-Id: I08919714de9b6cd4b8dddb546ca54364b56ec99f Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
2018-11-30coding-style: missing coding-style-patchKingwel Xie1-168/+200
fix coding style Change-Id: I458d81fa80c509b71edb2021468a89715cb32ae3 Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
2018-11-29dpdk-ipsec-nodes multiarch: nodes are formatted in VLIB_NODE_FN styleKingwel Xie4-13/+24
crypto-input,esp encrypt/decrypt are indicated in CMakefiles Change-Id: I18ba851c1d4e5633d07c5de61cdaeae938e94982 Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
2018-11-29dpdk: bump to DPDK 18.11Damjan Marion1-48/+5
Change-Id: Ib6458e56f546bb5b11c23aa5e1afe0f4b5011c08 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-11-28dpdk: allow interface name to be specified from startup.confDamjan Marion3-4/+15
Example: dpdk { dev 0000:01:00.0 { name eth0 } dev 0000:02:00.0 { name eth1 } } Change-Id: I11e60e969a7e3548c99ac0c0c3531767819cb157 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-11-28cmake: display warning and continue if dpdk not presentDamjan Marion1-0/+5
Change-Id: I5cb2619444507a159c42ac8401800e90b6541a20 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-11-21dpdk: don't shift flags twiceDamjan Marion1-3/+3
Change-Id: I3555230ef7b7677d6187282fb0c0f02af216e0a0 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-11-20ethernet-input optimizationsDamjan Marion2-214/+85
Change-Id: I4ec7750ef58363bd8966a16a2baeec6db18b7e9e Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-11-18Enable l4 checksum offload for ThunderX PMDFederico Claramonte1-0/+13
Change-Id: I6a6ab6d8d9aeca9df3ba8a3ac519be25aaa796e8 Signed-off-by: Federico Claramonte <fede.claramonte@caviumnetworks.com>
2018-11-17pcap-based dispatch tracerDave Barach1-1/+1
To facilitate dispatch trajectory tracing, vlib_buffer_t decoding, etc. through Wireshark Change-Id: I31356b9fa1f40cba8830aaf10a86a9fbb7546438 Signed-off-by: Dave Barach <dave@barachs.net>
2018-11-15ipsec: infra for selecting backendsKlement Sekera1-37/+7
Change-Id: Ifa6d8391b1b2413a88b7720fc434e0bc849a149a Signed-off-by: Klement Sekera <ksekera@cisco.com> Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2018-11-14Remove c-11 memcpy checks from perf-critical codeDave Barach6-31/+33
Change-Id: Id4f37f5d4a03160572954a416efa1ef9b3d79ad1 Signed-off-by: Dave Barach <dave@barachs.net>
2018-11-09dpdk: configure ip4 header checksum rx offload properlyDamjan Marion2-1/+8
Change-Id: I3daf8d473aa37b4597d130d19913b782cf7b8511 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-11-08vnet: store hw interface speed in kbps instead of using flagsDamjan Marion2-50/+6
Change-Id: Idd4471a3adf7023e48e85717f00c786b1dde0cca Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-11-06dpdk: don't automatically whitelist vmxnet3 PCI interfacesSteven1-1/+14
If no PCI address is specified in dpdk config, the default to automatically put all PCIs in the whitelist. For vmxnet3 PCIs, we want to change its default to exclude the vmxnet3 PCIs. That is to put them in the blacklist instead of whitelist. Change-Id: I2b7061d6437910eb0e1b16df19a770cab968c602 Signed-off-by: Steven <sluong@cisco.com>
2018-11-06dpdk: format_dpdk_device_name cleanupDamjan Marion1-7/+7
Change-Id: I49a5029d256df8f749ee30d19ff7473147b6516f Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-11-06dpdk: fix device name suffix confusion with failsafe/netvscStephen Hemminger1-2/+2
When netvsc or failsafe DPDK device is used, the DPDK port id does not match the VPP device instance id. The code that formats the device name was incorrectly calling DPDK device info using the VPP device instance id. This causes the VPP interface to be named "FortyGigabit0/2/0" based on mistakenly finding the PCI device information of the hidden DPDK port id for the VF device. Change-Id: I9366232f4b2087076bdcc1a58bf228007c24c084 Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
2018-11-06dpdk: fix pmd device type when using netvsc or failsafeStephen Hemminger1-1/+1
The pmd device type show with 'show hardware' is wrong if using failsafe (or netvsc pmd) because the pmd device type should be based of the VPP device instance, not the DPDK port id. Fixes: a059a000f81a ("dpdk: Decoupling the meaning of xd->device_index in dpdk_plugin") Change-Id: I3880fe674731880c5706a21d8ef3ccf8d569d46d Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
2018-11-02dpdk: restore special handling for failsafe driverStephen Hemminger1-1/+1
The failsafe driver is unique because it shares device with underlying pci device. This confuses name generation. Without this fix, the name is wrong and multiple devices get created with same name. Fixes: 3901a038edf4 ("dpdk: only look at PCI information on PCI devices") Change-Id: I13796d03baf6c76dafe3667c83bea4a1ae30c48f Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
2018-10-30dpdk: .function should be removed for mutiarch nodesDamjan Marion2-4/+0
Fixes debug build crash. Change-Id: Ia5c5da82beda5992f9e67456af9a4676b9b82722 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-10-29migrate ipsec to new multiarch infraKlement Sekera2-31/+10
Change-Id: Ibef46e068cd72415af28920b0146adf48105bf68 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2018-10-25pmalloc: support for 4K pagesDamjan Marion1-1/+1
Change-Id: Iecceffe06a92660976ebb58cd3cbec4be8931db0 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-10-24dpdk: fix hugepage pre-allocDamjan Marion1-1/+2
Change-Id: I88577615bfd3cddca834a7b881979ab32bfd5574 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-10-24vppinfra: autodetect default hugepage sizeDamjan Marion1-3/+5
Change-Id: I5ff713ad0b254c74c5622e3b9425cca365b5ee97 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-10-23Numa-aware, growable physical memory allocator (pmalloc)Damjan Marion3-33/+25
Change-Id: Ic4c46bc733afae8bf0d8146623ed15633928de30 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-10-23dpdk: support 18.11 changes to CRC flagsStephen Hemminger1-7/+7
In DPDK 18.11 the device flags for keeping/stripping CRC flags has changed. The old strip flag is gone, and replaced by a CRC keep flag. Change-Id: Iaa162854862a2a0855b418ee8029383fc116d3a2 Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
2018-10-23dpdk: add esp6 decrypt nodes, func declarationsMatthew Smith1-0/+30
The function dpdk_ipsec_process() attempts to initialize some globals that store node indexes after looking up the node dpdk-esp6-decrypt. No such node was declared, so a segv occurs after dereferencing the result of the lookup. Add a node function that invokes dpdk_esp_decrypt_inline() with is_ip6 set to 1. Add a declaration of node dpdk-esp6-decrypt that uses the node function. Change-Id: I31ce23a458c2d4181bf40cbc2118c4ef3b9baf97 Signed-off-by: Matthew Smith <mgsmith@netgate.com>