net/szedata2: remove driver
Remove the szedata2 device driver as the platform is no longer supported. Signed-off-by: Martin Spinler <spinler@cesnet.cz> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
This commit is contained in:
parent
5388be6eae
commit
0cd91fd31c
@ -848,12 +848,6 @@ F: drivers/net/netvsc/
|
||||
F: doc/guides/nics/netvsc.rst
|
||||
F: doc/guides/nics/features/netvsc.ini
|
||||
|
||||
Netcope szedata2
|
||||
M: Martin Spinler <spinler@cesnet.cz>
|
||||
F: drivers/net/szedata2/
|
||||
F: doc/guides/nics/szedata2.rst
|
||||
F: doc/guides/nics/features/szedata2.ini
|
||||
|
||||
Netcope nfb
|
||||
M: Martin Spinler <spinler@cesnet.cz>
|
||||
F: drivers/net/nfb/
|
||||
|
@ -1,18 +0,0 @@
|
||||
;
|
||||
; Supported features of the 'szedata2' network poll mode driver.
|
||||
;
|
||||
; Refer to default.ini for the full list of available PMD features.
|
||||
;
|
||||
[Features]
|
||||
Speed capabilities = P
|
||||
Link status = Y
|
||||
Queue start/stop = Y
|
||||
Scattered Rx = Y
|
||||
Promiscuous mode = Y
|
||||
Allmulticast mode = Y
|
||||
Basic stats = Y
|
||||
Extended stats = Y
|
||||
Stats per queue = Y
|
||||
Linux = Y
|
||||
x86-64 = Y
|
||||
Usage doc = Y
|
@ -1,214 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
id="svg2"
|
||||
stroke-miterlimit="10"
|
||||
stroke-linecap="square"
|
||||
stroke="none"
|
||||
fill="none"
|
||||
viewBox="0.0 0.0 568.7322834645669 352.3937007874016"
|
||||
version="1.1">
|
||||
<metadata
|
||||
id="metadata65">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs63" />
|
||||
<clipPath
|
||||
id="p.0">
|
||||
<path
|
||||
id="path5"
|
||||
clip-rule="nonzero"
|
||||
d="m0 0l568.7323 0l0 352.3937l-568.7323 0l0 -352.3937z" />
|
||||
</clipPath>
|
||||
<g
|
||||
id="g7"
|
||||
clip-path="url(#p.0)">
|
||||
<path
|
||||
id="path9"
|
||||
fill-rule="evenodd"
|
||||
d="m0 0l568.7323 0l0 352.3937l-568.7323 0z"
|
||||
fill-opacity="0.0"
|
||||
fill="#000000" />
|
||||
<path
|
||||
id="path11"
|
||||
d="m 40.564137,14.365075 254.362203,0 0,131.842535 -254.362203,0 z"
|
||||
style="fill:#47c3d3;fill-rule:evenodd" />
|
||||
<path
|
||||
id="path15"
|
||||
d="m 54.075948,146.2076 227.338592,0 0,32.94488 -227.338592,0 z"
|
||||
style="fill:#c2c2c2;fill-rule:evenodd" />
|
||||
<path
|
||||
id="path19"
|
||||
d="m 321.90535,146.2076 227.33856,0 0,32.94488 -227.33856,0 z"
|
||||
style="fill:#c2c2c2;fill-rule:evenodd" />
|
||||
<path
|
||||
id="path23"
|
||||
d="m 440.30217,146.24338 -11.82364,-20.50632 6.86313,0 0,-44.550399 -120.12924,0 0,6.938519 -20.28345,-11.953539 20.28345,-11.953547 0,6.93852 130.0503,0 0,54.580446 6.8631,0 z"
|
||||
style="fill:#9a9a9a;fill-rule:evenodd" />
|
||||
<path
|
||||
id="path25"
|
||||
d="m 112.39353,263.09765 0,0 c 0,-8.08875 6.55722,-14.64597 14.64597,-14.64597 l 58.58208,0 0,0 c 3.88435,0 7.60962,1.54305 10.35626,4.28971 2.74666,2.74664 4.28971,6.47189 4.28971,10.35626 l 0,58.58209 c 0,8.08875 -6.55722,14.64597 -14.64597,14.64597 l -58.58208,0 c -8.08875,0 -14.64597,-6.55722 -14.64597,-14.64597 z"
|
||||
style="fill:#c2c2c2;fill-rule:evenodd" />
|
||||
<path
|
||||
id="path29"
|
||||
d="m 391.63763,263.09765 0,0 c 0,-8.08875 6.55722,-14.64597 14.64597,-14.64597 l 58.58209,0 0,0 c 3.88437,0 7.60962,1.54305 10.35626,4.28971 2.74664,2.74664 4.2897,6.47189 4.2897,10.35626 l 0,58.58209 c 0,8.08875 -6.55722,14.64597 -14.64596,14.64597 l -58.58209,0 c -8.08875,0 -14.64597,-6.55722 -14.64597,-14.64597 z"
|
||||
style="fill:#c2c2c2;fill-rule:evenodd" />
|
||||
<path
|
||||
id="path33"
|
||||
d="m 135.20981,199.01075 19.85826,-19.85826 19.85828,19.85826 -9.92914,0 0,29.5748 9.92914,0 -19.85828,19.85827 -19.85826,-19.85827 9.92914,0 0,-29.5748 z"
|
||||
style="fill:#9a9a9a;fill-rule:evenodd" />
|
||||
<path
|
||||
id="path35"
|
||||
d="m 415.71635,199.01064 19.85828,-19.85826 19.85827,19.85826 -9.92914,0 0,29.57481 9.92914,0 -19.85827,19.85826 -19.85828,-19.85826 9.92914,0 0,-29.57481 z"
|
||||
style="fill:#9a9a9a;fill-rule:evenodd" />
|
||||
<path
|
||||
id="path37"
|
||||
d="m 15.205,31.273212 74.362206,0 0,32.944885 -74.362206,0 z"
|
||||
style="fill:#ff8434;fill-rule:evenodd" />
|
||||
<path
|
||||
id="path41"
|
||||
d="m 16.05531,80.231216 74.3622,0 0,32.944884 -74.3622,0 z"
|
||||
style="fill:#ff8434;fill-rule:evenodd" />
|
||||
<path
|
||||
id="path45"
|
||||
d="m 275.44377,174.07111 0,111.55905 -37.16536,0 0,-111.55905 z"
|
||||
style="fill:#ff8434;fill-rule:evenodd" />
|
||||
<path
|
||||
id="path49"
|
||||
d="m 97.923493,174.07111 0,111.55905 -37.16535,0 0,-111.55905 z"
|
||||
style="fill:#ff8434;fill-rule:evenodd" />
|
||||
<path
|
||||
id="path53"
|
||||
d="m 366.27543,174.07111 0,111.55905 -37.16537,0 0,-111.55905 z"
|
||||
style="fill:#ff8434;fill-rule:evenodd" />
|
||||
<path
|
||||
id="path57"
|
||||
d="m 542.0392,174.07111 0,111.55905 -37.16534,0 0,-111.55905 z"
|
||||
style="fill:#ff8434;fill-rule:evenodd" />
|
||||
<text
|
||||
id="text4480"
|
||||
y="54.570911"
|
||||
x="24.425898"
|
||||
style="font-style:normal;font-weight:normal;font-size:18.75px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
xml:space="preserve"><tspan
|
||||
y="54.570911"
|
||||
x="24.425898"
|
||||
id="tspan4482">ETH 0</tspan></text>
|
||||
<text
|
||||
id="text4480-3"
|
||||
y="103.53807"
|
||||
x="25.51882"
|
||||
style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
xml:space="preserve"><tspan
|
||||
style="font-size:18.75px"
|
||||
id="tspan4502"
|
||||
y="103.53807"
|
||||
x="25.51882">ETH 1</tspan></text>
|
||||
<text
|
||||
id="text4480-7"
|
||||
y="86.200645"
|
||||
x="103.15979"
|
||||
style="font-style:normal;font-weight:normal;font-size:18.75px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
xml:space="preserve"><tspan
|
||||
id="tspan4524"
|
||||
y="86.200645"
|
||||
x="103.15979">NFB-200G2QL card</tspan></text>
|
||||
<text
|
||||
id="text4480-7-3"
|
||||
y="169.2041"
|
||||
x="92.195312"
|
||||
style="font-style:normal;font-weight:normal;font-size:18.75px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
xml:space="preserve"><tspan
|
||||
style="font-size:18.75px"
|
||||
id="tspan4546"
|
||||
y="169.2041"
|
||||
x="92.195312">PCI-E master slot</tspan></text>
|
||||
<text
|
||||
id="text4480-7-3-6"
|
||||
y="169.20409"
|
||||
x="367.98856"
|
||||
style="font-style:normal;font-weight:normal;font-size:18.75px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
xml:space="preserve"><tspan
|
||||
style="font-size:18.75px"
|
||||
id="tspan4546-2"
|
||||
y="169.20409"
|
||||
x="367.98856">PCI-E slave slot</tspan></text>
|
||||
<text
|
||||
transform="matrix(0,1,-1,0,0,0)"
|
||||
id="text4480-3-9"
|
||||
y="-73.591309"
|
||||
x="182.29367"
|
||||
style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
xml:space="preserve"><tspan
|
||||
style="font-size:18.75px"
|
||||
id="tspan4502-1"
|
||||
y="-73.591309"
|
||||
x="182.29367">QUEUE 0</tspan></text>
|
||||
<text
|
||||
transform="matrix(0,1.0000002,-0.99999976,0,0,0)"
|
||||
id="text4480-3-9-2"
|
||||
y="-251.11163"
|
||||
x="182.29283"
|
||||
style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
xml:space="preserve"><tspan
|
||||
style="font-size:18.75px"
|
||||
id="tspan4502-1-7"
|
||||
y="-251.11163"
|
||||
x="182.29283">QUEUE 15</tspan></text>
|
||||
<text
|
||||
transform="matrix(0,1,-1,0,0,0)"
|
||||
id="text4480-3-9-2-0"
|
||||
y="-341.94324"
|
||||
x="182.29311"
|
||||
style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
xml:space="preserve"><tspan
|
||||
style="font-size:18.75px"
|
||||
id="tspan4502-1-7-9"
|
||||
y="-341.94324"
|
||||
x="182.29311">QUEUE 16</tspan></text>
|
||||
<text
|
||||
transform="matrix(0,1,-1,0,0,0)"
|
||||
id="text4480-3-9-2-3"
|
||||
y="-517.70703"
|
||||
x="182.29356"
|
||||
style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
xml:space="preserve"><tspan
|
||||
style="font-size:18.75px"
|
||||
id="tspan4502-1-7-6"
|
||||
y="-517.70703"
|
||||
x="182.29356">QUEUE 31</tspan></text>
|
||||
<text
|
||||
id="text4480-3-0"
|
||||
y="299.21396"
|
||||
x="128.3978"
|
||||
style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
xml:space="preserve"><tspan
|
||||
style="font-size:18.75px"
|
||||
id="tspan4502-6"
|
||||
y="299.21396"
|
||||
x="128.3978">CPU 0</tspan></text>
|
||||
<text
|
||||
id="text4480-3-0-2"
|
||||
y="299.21396"
|
||||
x="407.88452"
|
||||
style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
xml:space="preserve"><tspan
|
||||
style="font-size:18.75px"
|
||||
id="tspan4502-6-6"
|
||||
y="299.21396"
|
||||
x="407.88452">CPU 1</tspan></text>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 9.5 KiB |
@ -58,7 +58,6 @@ Network Interface Controller Drivers
|
||||
qede
|
||||
sfc_efx
|
||||
softnic
|
||||
szedata2
|
||||
tap
|
||||
thunderx
|
||||
txgbe
|
||||
|
@ -97,11 +97,6 @@ NUMA node, the card is represented as a single port in DPDK. To work with data
|
||||
from the individual queues on the right NUMA node, connection of NUMA nodes on
|
||||
first and last queue (each NUMA node has half of the queues) need to be checked.
|
||||
|
||||
.. figure:: img/szedata2_nfb200g_architecture.*
|
||||
:align: center
|
||||
|
||||
NFB-200G2QL high-level diagram
|
||||
|
||||
Limitations
|
||||
-----------
|
||||
|
||||
|
@ -1,146 +0,0 @@
|
||||
.. SPDX-License-Identifier: BSD-3-Clause
|
||||
Copyright 2015 - 2016 CESNET
|
||||
|
||||
SZEDATA2 poll mode driver library
|
||||
=================================
|
||||
|
||||
The SZEDATA2 poll mode driver library implements support for the Netcope
|
||||
FPGA Boards (**NFB-40G2, NFB-100G2, NFB-200G2QL**) and Silicom **FB2CGG3** card,
|
||||
FPGA-based programmable NICs. The SZEDATA2 PMD uses interface provided by the libsze2
|
||||
library to communicate with the NFB cards over the sze2 layer.
|
||||
|
||||
More information about the
|
||||
`NFB cards <http://www.netcope.com/en/products/fpga-boards>`_
|
||||
and used technology
|
||||
(`Netcope Development Kit <http://www.netcope.com/en/products/fpga-development-kit>`_)
|
||||
can be found on the `Netcope Technologies website <http://www.netcope.com/>`_.
|
||||
|
||||
.. note::
|
||||
|
||||
Currently the driver is supported only on x86_64 architectures.
|
||||
Only x86_64 versions of the external libraries are provided.
|
||||
|
||||
Prerequisites
|
||||
-------------
|
||||
|
||||
This PMD requires kernel modules which are responsible for initialization and
|
||||
allocation of resources needed for sze2 layer function.
|
||||
Communication between PMD and kernel modules is mediated by libsze2 library.
|
||||
These kernel modules and library are not part of DPDK and must be installed
|
||||
separately:
|
||||
|
||||
* **libsze2 library**
|
||||
|
||||
The library provides API for initialization of sze2 transfers, receiving and
|
||||
transmitting data segments.
|
||||
|
||||
* **Kernel modules**
|
||||
|
||||
* combo6core
|
||||
* combov3
|
||||
* szedata2
|
||||
* szedata2_cv3 or szedata2_cv3_fdt
|
||||
|
||||
Kernel modules manage initialization of hardware, allocation and
|
||||
sharing of resources for user space applications.
|
||||
|
||||
Information about getting the dependencies can be found `here
|
||||
<http://www.netcope.com/en/company/community-support/dpdk-libsze2>`_.
|
||||
|
||||
Versions of the packages
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The minimum version of the provided packages:
|
||||
|
||||
* for DPDK from 18.05: **4.4.1**
|
||||
|
||||
* for DPDK up to 18.02 (including): **3.0.5**
|
||||
|
||||
|
||||
Using the SZEDATA2 PMD
|
||||
----------------------
|
||||
|
||||
From DPDK version 16.04 the type of SZEDATA2 PMD is changed to PMD_PDEV.
|
||||
SZEDATA2 device is automatically recognized during EAL initialization.
|
||||
No special command line options are needed.
|
||||
|
||||
Kernel modules have to be loaded before running the DPDK application.
|
||||
|
||||
NFB card architecture
|
||||
---------------------
|
||||
|
||||
The NFB cards are multi-port multi-queue cards, where (generally) data from any
|
||||
Ethernet port may be sent to any queue.
|
||||
They were historically represented in DPDK as a single port.
|
||||
|
||||
However, the new NFB-200G2QL card employs an add-on cable which allows to connect
|
||||
it to two physical PCI-E slots at the same time (see the diagram below).
|
||||
This is done to allow 200 Gbps of traffic to be transferred through the PCI-E
|
||||
bus (note that a single PCI-E 3.0 x16 slot provides only 125 Gbps theoretical
|
||||
throughput).
|
||||
|
||||
Since each slot may be connected to a different CPU and therefore to a different
|
||||
NUMA node, the card is represented as two ports in DPDK (each with half of the
|
||||
queues), which allows DPDK to work with data from the individual queues on the
|
||||
right NUMA node.
|
||||
|
||||
.. figure:: img/szedata2_nfb200g_architecture.*
|
||||
:align: center
|
||||
|
||||
NFB-200G2QL high-level diagram
|
||||
|
||||
Limitations
|
||||
-----------
|
||||
|
||||
The SZEDATA2 PMD does not support operations related to Ethernet ports
|
||||
(link_up, link_down, set_mac_address, etc.).
|
||||
|
||||
NFB cards employ multiple Ethernet ports.
|
||||
Until now, Ethernet port-related operations were performed on all of them
|
||||
(since the whole card was represented as a single port).
|
||||
With NFB-200G2QL card, this is no longer viable (see above).
|
||||
|
||||
Since there is no fixed mapping between the queues and Ethernet ports, and since
|
||||
a single card can be represented as two ports in DPDK, there is no way of
|
||||
telling which (if any) physical ports should be associated with individual
|
||||
ports in DPDK.
|
||||
|
||||
Example of usage
|
||||
----------------
|
||||
|
||||
Read packets from 0. and 1. receive channel and write them to 0. and 1.
|
||||
transmit channel:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
./<build_dir>/app/dpdk-testpmd -l 0-3 -n 2 \
|
||||
-- --port-topology=chained --rxq=2 --txq=2 --nb-cores=2 -i -a
|
||||
|
||||
Example output:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
[...]
|
||||
EAL: PCI device 0000:06:00.0 on NUMA socket -1
|
||||
EAL: probe driver: 1b26:c1c1 rte_szedata2_pmd
|
||||
PMD: Initializing szedata2 device (0000:06:00.0)
|
||||
PMD: SZEDATA2 path: /dev/szedataII0
|
||||
PMD: Available DMA channels RX: 8 TX: 8
|
||||
PMD: resource0 phys_addr = 0xe8000000 len = 134217728 virt addr = 7f48f8000000
|
||||
PMD: szedata2 device (0000:06:00.0) successfully initialized
|
||||
Interactive-mode selected
|
||||
Auto-start selected
|
||||
Configuring Port 0 (socket 0)
|
||||
Port 0: 00:11:17:00:00:00
|
||||
Checking link statuses...
|
||||
Port 0 Link Up - speed 10000 Mbps - full-duplex
|
||||
Done
|
||||
Start automatic packet forwarding
|
||||
io packet forwarding - CRC stripping disabled - packets/burst=32
|
||||
nb forwarding cores=2 - nb forwarding ports=1
|
||||
RX queues=2 - RX desc=128 - RX free threshold=0
|
||||
RX threshold registers: pthresh=0 hthresh=0 wthresh=0
|
||||
TX queues=2 - TX desc=512 - TX free threshold=0
|
||||
TX threshold registers: pthresh=0 hthresh=0 wthresh=0
|
||||
TX RS bit threshold=0 - TXQ flags=0x0
|
||||
testpmd>
|
@ -53,7 +53,6 @@ drivers = [
|
||||
'ring',
|
||||
'sfc',
|
||||
'softnic',
|
||||
'szedata2',
|
||||
'tap',
|
||||
'thunderx',
|
||||
'txgbe',
|
||||
|
@ -1,14 +0,0 @@
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
# Copyright(c) 2018 Intel Corporation
|
||||
|
||||
if is_windows
|
||||
build = false
|
||||
reason = 'not supported on Windows'
|
||||
subdir_done()
|
||||
endif
|
||||
|
||||
dep = dependency('libsze2', required: false, method: 'pkg-config')
|
||||
build = dep.found()
|
||||
reason = 'missing dependency, "libsze2"'
|
||||
ext_deps += dep
|
||||
sources = files('rte_eth_szedata2.c')
|
File diff suppressed because it is too large
Load Diff
@ -1,90 +0,0 @@
|
||||
/* SPDX-License-Identifier: BSD-3-Clause
|
||||
* Copyright(c) 2015 - 2016 CESNET
|
||||
*/
|
||||
|
||||
#ifndef RTE_PMD_SZEDATA2_H_
|
||||
#define RTE_PMD_SZEDATA2_H_
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#include <libsze2.h>
|
||||
|
||||
#include <rte_common.h>
|
||||
|
||||
/* PCI Vendor ID */
|
||||
#define PCI_VENDOR_ID_NETCOPE 0x1b26
|
||||
#define PCI_VENDOR_ID_SILICOM 0x1c2c
|
||||
|
||||
/* PCI Device IDs */
|
||||
#define PCI_DEVICE_ID_NETCOPE_COMBO80G 0xcb80
|
||||
#define PCI_DEVICE_ID_NETCOPE_COMBO100G 0xc1c1
|
||||
#define PCI_DEVICE_ID_NETCOPE_COMBO100G2 0xc2c1
|
||||
#define PCI_DEVICE_ID_NETCOPE_NFB200G2QL 0xc250
|
||||
#define PCI_DEVICE_ID_FB2CGG3 0x00d0
|
||||
#define PCI_DEVICE_ID_FB2CGG3D 0xc240
|
||||
|
||||
/* szedata2_packet header length == 4 bytes == 2B segment size + 2B hw size */
|
||||
#define RTE_SZE2_PACKET_HEADER_SIZE 4
|
||||
|
||||
#define RTE_SZE2_MMIO_MAX 10
|
||||
|
||||
/*!
|
||||
* Round 'what' to the nearest larger (or equal) multiple of '8'
|
||||
* (szedata2 packet is aligned to 8 bytes)
|
||||
*/
|
||||
#define RTE_SZE2_ALIGN8(what) RTE_ALIGN(what, 8)
|
||||
|
||||
/*! main handle structure */
|
||||
struct szedata {
|
||||
int fd;
|
||||
struct sze2_instance_info *info;
|
||||
uint32_t *write_size;
|
||||
void *space[RTE_SZE2_MMIO_MAX];
|
||||
struct szedata_lock lock[2][2];
|
||||
|
||||
__u32 *rx_asize, *tx_asize;
|
||||
|
||||
/* szedata_read_next variables - to keep context (ct) */
|
||||
|
||||
/*
|
||||
* rx
|
||||
*/
|
||||
/** initial sze lock ptr */
|
||||
const struct szedata_lock *ct_rx_lck_orig;
|
||||
/** current sze lock ptr (initial or next) */
|
||||
const struct szedata_lock *ct_rx_lck;
|
||||
/** remaining bytes (not read) within current lock */
|
||||
unsigned int ct_rx_rem_bytes;
|
||||
/** current pointer to locked memory */
|
||||
unsigned char *ct_rx_cur_ptr;
|
||||
/**
|
||||
* allocated buffer to store RX packet if it was split
|
||||
* into 2 buffers
|
||||
*/
|
||||
unsigned char *ct_rx_buffer;
|
||||
/** registered function to provide filtering based on hwdata */
|
||||
int (*ct_rx_filter)(u_int16_t hwdata_len, u_char *hwdata);
|
||||
|
||||
/*
|
||||
* tx
|
||||
*/
|
||||
/**
|
||||
* buffer for tx - packet is prepared here
|
||||
* (in future for burst write)
|
||||
*/
|
||||
unsigned char *ct_tx_buffer;
|
||||
/** initial sze TX lock ptrs - number according to TX interfaces */
|
||||
const struct szedata_lock **ct_tx_lck_orig;
|
||||
/** current sze TX lock ptrs - number according to TX interfaces */
|
||||
const struct szedata_lock **ct_tx_lck;
|
||||
/** already written bytes in both locks */
|
||||
unsigned int *ct_tx_written_bytes;
|
||||
/** remaining bytes (not written) within current lock */
|
||||
unsigned int *ct_tx_rem_bytes;
|
||||
/** current pointers to locked memory */
|
||||
unsigned char **ct_tx_cur_ptr;
|
||||
/** NUMA node closest to PCIe device, or -1 */
|
||||
int numa_node;
|
||||
};
|
||||
|
||||
#endif /* RTE_PMD_SZEDATA2_H_ */
|
@ -1,22 +0,0 @@
|
||||
/* SPDX-License-Identifier: BSD-3-Clause
|
||||
* Copyright(c) 2018 CESNET
|
||||
*/
|
||||
|
||||
#ifndef _SZEDATA2_LOGS_H_
|
||||
#define _SZEDATA2_LOGS_H_
|
||||
|
||||
#include <rte_log.h>
|
||||
|
||||
extern int szedata2_logtype_init;
|
||||
#define PMD_INIT_LOG(level, fmt, args...) \
|
||||
rte_log(RTE_LOG_ ## level, szedata2_logtype_init, \
|
||||
"%s(): " fmt "\n", __func__, ## args)
|
||||
|
||||
#define PMD_INIT_FUNC_TRACE() PMD_INIT_LOG(DEBUG, " >>")
|
||||
|
||||
extern int szedata2_logtype_driver;
|
||||
#define PMD_DRV_LOG(level, fmt, args...) \
|
||||
rte_log(RTE_LOG_ ## level, szedata2_logtype_driver, \
|
||||
"%s(): " fmt "\n", __func__, ## args)
|
||||
|
||||
#endif /* _SZEDATA2_LOGS_H_ */
|
@ -1,3 +0,0 @@
|
||||
DPDK_22 {
|
||||
local: *;
|
||||
};
|
Loading…
Reference in New Issue
Block a user