112 Commits

Author SHA1 Message Date
yinbin6
e05fa649fc remove dpdk-pmds directory to prevent unnecessary pmd so files load
(cherry picked from commit b080d97559839a18021b1f8db0b27f489a9df5a6)
2024-04-22 15:14:57 +08:00
Dengdui Huang
7e5197e80d sync some patch from upstreaming
Sync some patches for hns3 about PFC and RSS
 - net/hns3: support new device
 - app/testpmd: fix RSS algorithm choice
 - net/hns3: enable PFC for all user priorities

Signed-off-by: Dengdui Huang <huangdengdui@huawei.com>
(cherry picked from commit d4966134474f40a98ddbdab4c281ef20bcc1e691)
2024-04-12 22:44:01 +08:00
Dengdui Huang
b83616ad92 ethdev: fix strict aliasing lead to link cannot be up
Fix a problem introduced by a compiler upgrade (from gcc10 to gcc12.3),
which will lead the hns3 NIC can't link up. The root cause is strict
aliasing violation in rte_eth_linkstatus_set() with hns3 driver, see
[1] for more details.

This commit use union to avoid such aliasing violation.

[1] Strict aliasing problem with rte_eth_linkstatus_set()
    https://marc.info/?l=dpdk-dev&m=171274148514777&w=3

Signed-off-by: Dengdui Huang <huangdengdui@huawei.com>
(cherry picked from commit 776b3090fb193bc8abe55d7a0ea19e44601b7607)
2024-04-12 17:09:20 +08:00
yinbin6
b2a4fae375 move patch0031 to self developed patch
(cherry picked from commit 18b0886aace1ce2a6781c3f710831836ceddd313)
2024-04-12 17:06:27 +08:00
zhangmengxuan
ff0d77d821 add rte_eth_bond_link_monitoring_get in map
(cherry picked from commit 78109146395283d72976c9c0c5c98371ea6676d7)
2024-04-12 16:26:10 +08:00
Dengdui Huang
1f34bd76e4 sync some patchs from upstreaming
Sync some patches for hns3 about refactor mailbox, add new API for RSS,
support power monitor and some bugfix, modifies are as follow:
 - app/testpmd: fix crash in multi -process forwarding
 - net/hns3: support power monitor
 - net/hns3: remove QinQ insert support for VF
 - net/hns3: fix reset level comparison
 - net/hns3: fix disable command with firmware
 - net/hns3: fix VF multiple count on one reset
 - net/hns3: refactor handle mailbox function
 - net/hns3: refactor send mailbox function
 - net/hns3: refactor PF mailbox message struct
 - net/hns3: refactor VF mailbox message struct
 - app/testpmd: set RSS hash algorithm
 - ethdev: get RSS hash algorithm by name
 - ring: add telemetry command for ring info
 - ring: add telemetry command to list rings
 - eal: introduce more macros for bit definition
 - dmadev: add tracepoints in data path API
 - dmadev: add telemetry capability for m2d auto free
 - maintainers: update for DMA device performance tool

Signed-off-by: Dengdui Huang <huangdengdui@huawei.com>
2024-03-05 16:15:56 +08:00
shafeipaozi
61d05628cf support riscv64 2024-01-25 21:58:25 +08:00
yinbin6
98b0b0e24a add supprot for loongarch64 2024-01-23 10:22:28 +08:00
peng.zou
f0f6b53eae Add support for ppc64le 2024-01-16 17:37:48 +08:00
jinag12
ea65d9df08 add self-developed patches 2024-01-13 14:55:02 +08:00
jiangheng
5826f05bad upgrade to dpdk-23.11 2024-01-11 15:28:18 +08:00
Dengdui Huang
0183d0ca4a net/hns3: don't support QinQ insert for VF
This patch declare that the VF driver don't support QinQ insert.

Signed-off-by: Dengdui Huang <huangdengdui@huawei.com>
2023-12-29 16:55:30 +08:00
Dengdui Huang
de38802427 Sync some patches for hns3 about refactor and bugfix
Sync some patches for hns3 about refactor mailbox and bugfix, modifies
are as follow:
net/hns3: fix reset level comparison
net/hns3: fix disable command with firmware
net/hns3: fix VF multiple count on one reset
net/hns3: refactor handle mailbox function
net/hns3: refactor send mailbox function
net/hns3: refactor PF mailbox message struct
net/hns3: refactor VF mailbox message struct

Signed-off-by: Dengdui Huang <huangdengdui@huawei.com>
2023-12-15 11:45:40 +08:00
Dengdui Huang
7868d4e3ae sync some bugfix from upstreaming about testpmd and doc
Sync some bugfix from upstreaming about testpmd and doc, modifies
are as follow:
- support set RSS hash algorithm
- ethdev: add new API to get RSS hash algorithm by name
- doc: fix description of RSS features
- doc: fix RSS flow description in hns3 guide
- doc: update features in hns3 guide
- doc: fix hns3 build option about max queue number
- app/testpmd: check port and queue Rx/Tx offloads
- app/testpmd: fix Tx offload command
- app/testpmd: allow offload config for all ports
- app/testpmd: fix tunnel TSO configuration
- app/testpmd: add explicit check for tunnel TSO
- app/testpmd: fix tunnel TSO capability check
- app/testpmd: remove useless check in TSO command

Signed-off-by: Dengdui Huang <huangdengdui@huawei.com>
2023-12-08 18:05:52 +08:00
Dengdui Huang
2199d0077d sync some bugfix for hns3 reset
Sync some bugfix from upstreaming about hns3 reset and modifies
are as follow:
- net/hns3: fix VF reset handler interruption
- net/hns3: fix reset event status
- net/hns3: fix ignored reset event

Signed-off-by: Dengdui Huang <huangdengdui@huawei.com>
2023-12-08 17:18:31 +08:00
herengui
204f624819 添加申威架构支持
Signed-off-by: herengui <herengui@kylinsec.com.cn>
(cherry picked from commit 27cddfd3069a2fbbdc0d091de8cf21944b650afa)
2023-12-07 20:46:05 +08:00
Dengdui Huang
7730be2444 sync some patchs from upstreaming
Sync some patchs from upstreaming and modifies are as follow:
- net/hns3: fix mailbox sync
- net/hns3: report maximum buffer size
- ethdev: add maximum Rx buffer size
- app/procinfo: show RSS hash algorithm
- ethdev: get RSS algorithm names
- app/procinfo: adjust format of RSS info
- app/procinfo: fix RSS info
- net/hns3: support setting and querying RSS hash function
- net/hns3: report RSS hash algorithms capability
- ethdev: set and query RSS hash algorithm
- ethdev: clarify RSS related fields usage
- net/hns3: fix uninitialized hash algo value
- net/hns3: keep set/get algo key functions local
- net/hns3: fix some error logs
- net/hns3: fix some return values
- net/hns3: fix LRO offload to report
- net/hns3: fix setting DCB capability
- app/testpmd: ease configuring all offloads
- net/hns3: refactor interrupt state query
- net/hns3: fix IMP or global reset
- net/hns3: fix multiple reset detected log
- net/hns3: remove reset log in secondary
- net/hns3: fix double stats for IMP and global reset
- net/hns3: fix crash for NEON and SVE
- net/hns3: fix unchecked Rx free threshold
- net/hns3: fix typo in function name
- net/hns3: fix build warning
- telemetry: fix repeat display when callback don't init dict

Signed-off-by: Dengdui Huang <huangdengdui@huawei.com>
2023-11-21 11:45:25 +08:00
Dengdui Huang
b898ee646a sync some patchs from upstreaming
Sync some patchs from upstreaming and modifies are as follow:
- maintainers: update for hns3 driver
- app/testpmd: add command to flush multicast MAC addresses
- app/testpmd: fix help string
- app/testpmd: fix multicast address pool leak
- net/hns3: optimize SVE Rx performance
- net/hns3: optimize rearm mbuf for SVE Rx
- net/hns3: optimize free mbuf for SVE Tx
- net/hns3: fix order in NEON Rx
- net/hns3: fix traffic management dump text alignment
- net/hns3: fix traffic management thread safety
- net/hns3: fix flushing multicast MAC address
- net/hns3: fix error code for multicast resource
- net/hns3: fix VF default MAC modified when set failed
- net/hns3: fix index to look up table in NEON Rx
- net/hns3: fix non-zero weight for disabled TC
- config/arm: add HiSilicon HIP10

Signed-off-by: Dengdui Huang <huangdengdui@huawei.com>
2023-10-30 09:20:31 +08:00
Dengdui Huang
c46b089b73 fix patch-287 duplicate address setting
This patch fix patch-287 duplicate address setting.

Signed-off-by: Dengdui Huang <huangdengdui@huawei.com>
2023-08-23 17:37:42 +08:00
chenjiji09
4f1d694e3c net/hns3: add FDIR VLAN match mode runtime config and fix doc format
Sync some patchs from upstreaming about add FDIR VLAN match
mode runtime config and fix doc format for hns3 pmd. Patchs
are as follow:
- doc: unify sections of networking drivers guide
- net/hns3: delete duplicate macro definition
- net/hns3: add FDIR VLAN match mode runtime config
- doc: fix kernel patch link in hns3 guide
- doc: fix syntax in hns3 guide
- doc: fix number of leading spaces in hns3 guide
2023-07-17 16:42:18 +08:00
jiangheng12
ed3c390d80 kni:fix build with Linux 6.3/6.5
remove unused patch intruduced by"fix build with GCC 12"
2023-07-17 10:49:12 +08:00
jiangheng12
d1c19aae07 fix build with GCC 12 2023-07-12 17:05:57 +08:00
Min Zhou
53eeb4c6d0 eal/loongarch: support LoongArch architecture
This patch adds the support for LoongArch architecture. Meanwhile,
backports bugfixes for ixgbe driver needed by LoongArch, and removes
linking to i40e driver for LoongArch because it was not supported in
this version.

Signed-off-by: Min Zhou <zhoumin@loongson.cn>
2023-07-06 17:16:31 +08:00
jiangheng
21f5e2a2ff remove gazelle-proc-info, it function the same as gazellectl -x 2023-06-28 05:40:48 +08:00
jiangheng
ecfff64811 gro:fix gro with tcp push flag 2023-06-19 01:02:11 +08:00
jiangheng12
0c8e235e95 pdump: fix pcap_dump coredump caused by incorrect pkt_len 2023-06-19 10:25:20 +08:00
jiangheng12
6361acf3c4 distinguish self and upstream patches number 2023-06-09 14:25:43 +08:00
chenjiji09
e94c1efdc4 fix testpmd segment fault and hns3 IMP reset trigger
Sync some patchs from upstreaming about a segment fault for
testpmd app and a IMP reset trigger for hns3 pmd. Patchs are
as follow:
- ethdev: add API to check if queue is valid
- app/testpmd: fix segment fault with invalid queue ID
- net/hns3: fix IMP reset trigger

(cherry picked from commit 06e0b2741afcd87d686d24608ecb3c974ea83f6d)
2023-06-09 09:30:38 +08:00
chenjiji09
27a6500a3d net/hns3: fix Rx ring mbuf leakage
Sync some patchs from upstreaming for hns3 pmd and modifies
are as follow:
1. fix RTC time after reset
2. fix Rx ring mbuf leakage at reset process
3. fix uninitialized variable
4. modify the code that violates the coding standards

(cherry picked from commit f98940e02a12dc752a60e786009ee44cb6b32132)
2023-06-06 21:42:09 +08:00
chenjiji09
2ea9a774ef net/hns3: add LLRS FEC mode support for 200G ports
Sync some patchs from upstreaming about FEC feature. Patchs
are as follow:
- net/hns3: fix FEC mode for 200G ports
- net/hns3: fix FEC mode check error
- net/hns3: fix missing FEC capability
- ethdev: introduce low latency RS FEC
- app/testpmd: add setting and querying of LLRS FEC mode
- net/hns3: add LLRS FEC mode support for 200G ports
- net/hns3: get current FEC capability from firmware

(cherry picked from commit 9266c3e618cf38cde9cd630c88a1a571064f825f)
2023-06-05 10:39:46 +08:00
jiangheng12
9b0839cefd examples use static libraries to avoid unlinked dynamic libraries 2023-05-27 17:59:16 +08:00
chenjiji09
41555f32b9 support flow control autoneg for fiber port
Sync some patchs from upstreaming for hns3 pmd and modifies
are as follow:
1. support flow control autoneg for fiber port
2. support simplify hardware checksum offloading
3. support dump media type
4. add Tx Rx descriptor logs
5. fix Rx multiple firmware reset interrupts
6. ethdev: fix one address occupies two entries in MAC addrs

(cherry picked from commit 2af7e093f8ec2ca13cf5b3f372c484b500e07aea)
2023-05-25 15:49:50 +08:00
chenjiji09
dfaed15bf9 fix empty devargs parsing
Sync some patchs from upstreaming and modifies are as
follow:
1. The rte_kvargs_process() was used to parse KV pairs, it
also supports to parse 'only keys' type. And the callback
function parameter 'value' is NULL when parsed 'only keys'.
This patch fixes segment fault when parse input args with
'only keys'.
2. The MAP_FAILED should be used to determine whether the
mapping is successful but not NULL. This patch fix it.
2023-04-27 15:25:46 +08:00
chenjiji09
9e45664c52 telemetry: support display as hexadecimal
Sync some patchs from upstreaming for telemetry and modifies
are as follow:
1. Support dispaly integer as hexadecimal.
2. Fix data truncation for some u64 accept as int.
3. Add JSON pretty print.
2023-04-25 16:00:44 +08:00
yuelg
6512723969 Create a softlink to dpdk default driver path
Signed-off-by: yuelg <yuelg@chinaunicom.cn>
2023-04-11 17:55:07 +08:00
chenjiji09
cf2e60ea25 add private dump for bonding, virtio and vhost
Sync some patchs from upstreaming branch and modifies
are as follow:
1. Add private dump for bonding, virtio and vhost.
2. Support LACP info dump for bonding.
3. Display RSS hash key of flow rule in testpmd.
2023-04-04 10:19:35 +08:00
jiangheng12
b8e46952e0 build as shared libraries to reduce the size of debug packet 2023-04-01 22:34:34 +08:00
jiangheng12
5ab3035fb1 hinic: free tx mbuf use rte_pktmbuf_free_seg 2023-04-01 21:58:00 +08:00
chenjiji09
cf6fe7cb51 Fix a m_buf pool was not freed bug for test and support CPPC cpufreq for l3fwd-power.
Patchs are as follow:
 - test/mbuf: fix mbuf reset test
 - examples/l3fwd-power: support CPPC cpufreq
2023-03-23 16:49:24 +08:00
chenjiji09
651fc55df0 Fix some RSS bugs and reimplement hash flow function for hns3.
1. fix some RSS bugs and optimize RSS codes for hns3
2. reimplement hash flow function for hns3 to satisfy the mainstream usage of rte flow hash in the community
2023-03-23 10:30:51 +08:00
chenjiji09
f8c9d4f3cb Support flow rule keeping capability for hns3 PMD and testpmd.
Patchs are as follow:
 - net/hns3: declare flow rule keeping capability
 - app/testpmd: add --disable-flow-flush option
2023-03-03 17:34:31 +08:00
chenjiji09
571fd96353 refactor Rx/Tx function of hns3 PMD
And patchs are as follows:
 - net/hns3: fix burst mode query with dummy function
 - net/hns3: add debug info for Rx/Tx dummy function
 - net/hns3: remove debug condition for Tx prepare
 - net/hns3: separate Tx prepare from getting Tx function
 - net/hns3: make getting Tx function static
 - net/hns3: extract common functions to set Rx/Tx
2023-02-23 19:10:04 +08:00
chenjiji09
d1d2e1e3f1 Sync some RSS bugfix for hns3 PMD. And patchs are as follows:
- net/hns3: fix log about indirection table size
 - net/hns3: extract common function to query device
 - net/hns3: refactor set RSS hash algorithm and key interface
 - net/hns3: fix RSS key size compatibility
 - net/hns3: fix clearing RSS configuration
 - net/hns3: use RSS filter list to check duplicated rule
 - net/hns3: remove useless code when destroy valid RSS rule
 - net/hns3: fix warning on flush or destroy rule
 - net/hns3: fix config struct used for conversion
 - net/hns3: fix duplicate RSS rule check
2023-02-16 11:03:53 +08:00
jiangheng
87a23c168f fix build with kernel 5.18+ 2023-02-06 10:06:30 +08:00
chenjiji09
546a1a2337 net/hns3: fix inaccurate RTC time to read
The sequence of reading current RTC time register doesn't meet
the hardware requirements, which causes this time obtained is
the one before modifying RTC time.
2023-02-03 16:37:01 +08:00
jiangheng
23e0b6926a remove unused patch 2023-01-31 19:43:46 +08:00
jiangheng
691c139fe8 fix build failed due to kernel to upgrade 6.1 2023-01-30 14:16:25 +08:00
chenjiji09
24c8f50508 dma/hisilicon: support vchan status query
This patch adds support for vchan-status ops.
2022-12-14 16:58:38 +08:00
chenjiji09
b5fa0e5ece proc-info adds dumping the following features:
- dpdk version
 - firmware version
 - RSS RETA
 - module eeprom information
 - Rx/Tx burst mode
 - Rx/Tx descriptor
2022-11-17 12:05:11 +08:00
chenjiji09
e33f71a887 Sync some patches for bonding PMD and testpmd. And patchs
are as follows:
 - app/testpmd: revert MAC update in checksum forwarding
 - net/bonding: fix bond4 drop valid MAC packets
 - net/bonding: fix slave device Rx/Tx offload configuration
 - app/testpmd: fix MAC header in csum forward engine
 - app/testpmd: update bond port configurations when add slave
 - app/testpmd: fix GENEVE parsing in checksum mode
 - net: add UDP/TCP checksum in mbuf segments
 - app/testpmd: add SW L4 checksum in multi-segments
 - app/testpmd: fix L4 checksum in multi-segments
 - net/bonding: fix mbuf fast free handling
2022-11-16 11:09:39 +08:00