forked from DPDK/dpdk
-
Notifications
You must be signed in to change notification settings - Fork 0
Wangxun #1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
shemminger
wants to merge
29
commits into
main
Choose a base branch
from
wangxun
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Wangxun #1
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Before this patch if secondary process called start/stop it would only impact the secondary process, the ethdev on the primary process was not started. With this patch, when start/stop is called from secondary, it calls the primary and does the operation there. The design is generic, and we can later add queue and other operations as needed. Bugzilla ID: 73 Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Use null device to exercise ethdev start/stop in secondary process. Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Need to be able have multiple threads all using same transmit queue when using SPAN. Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Need ability to allow process like dumpcap to make a ring ethdev with a pre-existing ring. Do this via devargs so it can work with hotplug. It looked like the API rte_eth_from_ring() would work for this, but it doesn't do the right thing. Add argument to ring PMD creation to force packets going into ring to be timestamped. Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Add names for new port mirror fields. Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
This adds new feature port mirroring to the ethdev layer. Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
In new model, the packet was already copied, only need to wrap it in pcapng format. Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
The queue field is optional in pcapng received packet. Use UINT16_MAX as flag value. Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Simple API and packet mirroring standalone tests. Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Add new commands to enable testing of port mirror functionality. Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Use the new port mirror API instead of pdump. Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
When the pdump application is run print a warning. Add release note about deprecation and mark the API's as deprecated. Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> pdump build deprecated
Add 5-tuple filter for VF driver, which request PF driver to write the hardware configurations. So add new PF-VF mailbox API version 2.1 to implement it. Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
The rule is incorrectly parsed to ntuple filter when setting the pattern likes: flow create ... ipv4 / udp dst is ... / raw ... / end actions ... / end It causes the rule to be created successfully, but not works. Fix it to parse for FDIR rules. Fixes: b7eeecb ("net/txgbe: parse n-tuple filter") Cc: stable@dpdk.org Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
The raw patthern is required to be two hex bytes on hardware, but it is string in the raw item. So the length of raw spec should be 4, and the string should be converted to the two hex bytes. And relative of raw spec is supported to be optical. Fixes: b973ee2 ("net/txgbe: parse flow director filter") Cc: stable@dpdk.org Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
To match the packet type more flexibly when the pattern is default, add packet type mask for FDIR filters. Fixes: b973ee2 ("net/txgbe: parse flow director filter") Cc: stable@dpdk.org Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
The check for the mask of SCTP item is repeated and wrong, fix it to make it work. Fixes: b973ee2 ("net/txgbe: parse flow director filter") Cc: stable@dpdk.org Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
Perfect mode of FDIR rules to filter IPv6 packets is supported by hardware. Remove the restriction and fix the setting. Fixes: b973ee2 ("net/txgbe: parse flow director filter") Cc: stable@dpdk.org Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
Fix to create FDIR rules for VXLAN/GRE/NVGRE/GENEVE packets, they will match the rules in the inner layers. Fixes: b973ee2 ("net/txgbe: parse flow director filter") Cc: stable@dpdk.org Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
Remove redundant 256KB FDIR headroom reservation. FDIR headroom was already allocated in txgbe_fdir_configure() when FDIR is enabled, the second reservation resulted in 256KB less available RX packet buffer than the theoretical size. Fixes: 8bdc788 ("net/txgbe: support DCB") Cc: stable@dpdk.org Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
Add support for IPv4/IPv6 SCTP RSS offload. Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
Add support for IPv4/IPv6 SCTP RSS offload. Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
Test Failure on the case "test_pause_fwd_port_stop_start", which expect MAC control frame forwarding setting still working after port stop/start. Fix the bug to pass the test case. Fixes: 69ce8c8 ("net/txgbe: support flow control") Cc: stable@dpdk.org Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
Test failure on the case "test_pause_fwd_port_stop_start", which expect MAC control frame forwarding setting still working after port stop/start. Fix the bug to pass the test case. Fixes: f40e9f0 ("net/ngbe: support flow control") Cc: stable@dpdk.org Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
The extend statistic "rx_undersize_errors" is incorrectly read as the counter of frames received with a length error, which names "rx_length_error". And "rx_undersize_errors" is the counter of shorter-than-64B frames received without any errors. In addition, "tx_broadcast_packets" should use rd64() to get the full count on the low and high registers. Fixes: c9bb590 ("net/txgbe: support device statistics") Cc: stable@dpdk.org Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
The extend statistic "rx_undersize_errors" is incorrectly read as the counter of frames received with a length error, which names "rx_length_error". And "rx_undersize_errors" is the counter of shorter-than-64B frames received without any errors. In addition, "tx_broadcast_packets" should use rd64() to get the full count on the low and high registers. Fixes: fdb1e85 ("net/ngbe: support basic statistics") Cc: stable@dpdk.org Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
Fix the same issue as PF in commit 66364ef ("net/txgbe: restrict configuration of VLAN strip offload"). There is a hardware limitation that Rx ring config register is not writable when Rx ring is enabled, i.e. the TXGBE_RXCFG_ENA bit is set. But disabling the ring when there is traffic will cause ring get stuck. So restrict the configuration of VLAN strip offload only if device is started. Fixes: aa1ae79 ("net/txgbe: support VF VLAN") Cc: stable@dpdk.org Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
Fix the same issue as PF in commit baca8ec ("net/ngbe: restrict configuration of VLAN strip offload"). There is a hardware limitation that Rx ring config register is not writable when Rx ring is enabled, i.e. the TXGBE_RXCFG_ENA bit is set. But disabling the ring when there is traffic will cause ring get stuck. So restrict the configuration of VLAN strip offload only if device is started. Fixes: f47dc03 ("net/ngbe: add VLAN ops for VF device") Cc: stable@dpdk.org Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
When LRO is enabled, the driver must set the LRO flag in received aggregated packets to indicate LRO processing to upper-layer applications. Add the missing LRO flag into the ol_flags field of mbuf to fix it. Fixes: 0e48427 ("net/txgbe: support Rx") Cc: stable@dpdk.org Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
shemminger
pushed a commit
that referenced
this pull request
Oct 20, 2025
For '.' and '..' directories (or any short file name),
a out of bound issue occurs.
Caught by UBSan:
EAL: Detected shared linkage of DPDK
../lib/eal/common/eal_common_options.c:420:15: runtime error: index -2
out of bounds for type 'char[256]'
#0 0x7f867eedf206 in eal_plugindir_init
eal_common_options.c
#1 0x7f867eede58a in eal_plugins_init
(build/lib/librte_eal.so.25+0xde58a)
(BuildId: e7e4a1935e4bacb51c82ab1a84098a27decf3b4c)
#2 0x7f867efb8587 in rte_eal_init
(build/lib/librte_eal.so.25+0x1b8587)
(BuildId: e7e4a1935e4bacb51c82ab1a84098a27decf3b4c)
DPDK#3 0x55b62360861e in main
(/home/runner/work/dpdk/dpdk/build/app/dpdk-testpmd+0x9e061e)
(BuildId: d821ec918612c83fad8b5ccb6cc518e66bee48cd)
DPDK#4 0x7f8667429d8f in __libc_start_call_main
csu/../sysdeps/nptl/libc_start_call_main.h:58:16
DPDK#5 0x7f8667429e3f in __libc_start_main
csu/../csu/libc-start.c:392:3
DPDK#6 0x55b622d9d444 in _start
(/home/runner/work/dpdk/dpdk/build/app/dpdk-testpmd+0x175444)
(BuildId: d821ec918612c83fad8b5ccb6cc518e66bee48cd)
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior
../lib/eal/common/eal_common_options.c:420:15 in
../lib/eal/common/eal_common_options.c:421:15:
runtime error: index 18446744073709551609 out of bounds
for type 'char[256]'
Fixes: c57f6e5 ("eal: fix plugin loading")
Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Chengwen Feng <fengchengwen@huawei.com>
shemminger
pushed a commit
that referenced
this pull request
Dec 2, 2025
After creating at least one graph and calling rte_node_edge_update to
add a new edge on a node which is in use in the graph, the node memory
is reallocated but the active graph still has a pointer to the freed
memory.
When destroying the graph, it causes a use-after-free error detected by
libasan:
ERROR: AddressSanitizer: heap-use-after-free
READ of size 8 at 0x7c4baa5e4da8 thread T0
#0 0x0000005ad224 in graph_node_fini lib/graph/graph.c:256
#1 0x0000005ae657 in rte_graph_destroy lib/graph/graph.c:504
...
freed by thread T0 here:
#0 0x7f1bac4e5e4b in realloc.part.0 (/lib64/libasan.so.8+0xe5e4b)
#1 0x0000005ab6d7 in edge_update lib/graph/node.c:271
#2 0x0000005abb1b in rte_node_edge_update lib/graph/node.c:339
...
previously allocated by thread T0 here:
#0 0x7f1bac4e5e4b in realloc.part.0 (/lib64/libasan.so.8+0xe5e4b)
#1 0x0000005ab6d7 in edge_update lib/graph/node.c:271
#2 0x0000005abb1b in rte_node_edge_update lib/graph/node.c:339
...
Use malloc+memcpy and add an internal function to replace all references
to the old node memory before freeing it.
Fixes: c59dac2 ("graph: implement node operations")
Cc: stable@dpdk.org
Signed-off-by: Robin Jarry <rjarry@redhat.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
We have released a new NIC series: Amber-Lite, with two models
supporting 10G/25G and 40G rates. Due to minimal hardware
differences from existing 10G NICs, it remains supported within
the txgbe driver.