rx-queue | Easy to Use RxJS Queue | Reactive Programming library
kandi X-RAY | rx-queue Summary
kandi X-RAY | rx-queue Summary
Easy to Use RxJS Queue for Throttle/Debounce/Delay/DelayExecute
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of rx-queue
rx-queue Key Features
rx-queue Examples and Code Snippets
Community Discussions
Trending Discussions on rx-queue
QUESTION
I am trying to keep track of Ipv6-Srv6
packets using simple XDP-eBPF program. I get the NIC queue as always 1.
Following is environment details
- OS: guest OS, Ubuntu 19.10, 5.3.0-64-generic
- NIC: x710: 10Gbps, driver=i40e, driverversion=2.8.20-k, firmware=7.20
- XDP-eBPF: my custom sample program
ANSWER
Answered 2021-Feb-06 at 12:01It looks like the packet generator in the example of yours transmits the very same packet all the time. Is that the case? If yes, why do you expect the packets to spread across multiple queues? Say, the hash function enabled on the device is "RSS-IPv6". Then packet fields contributing to the packet hash are the source and destination addresses. They're constant across the packets, hence the same hash value, hence the packets hitting the same queue all the time.
Based on OP's further observations, enabling IP address randomisation in PackETH (putting a tick at the option Set random source IPv6 address with mask
and, in example, using the mask value of 64
) indeed results in generated packets hitting different Rx queues on the receiver side. Per-queue packet statistics obtained by means of ethtool -S
confirm this observation.
QUESTION
I am trying to build a multi-RX-queue dpdk program, using RSS to split the incoming traffic into RX queues on a single port. Mellanox ConnectX-5 and DPDK Version 19.11 is used for this purpose. It works fine when I use IP over Ethernet packets as input. However when the packet contains IP over MPLS over Ethernet, RSS does not seems to work. As a result, all packets belonging to various flows (with different src
& dst
IPs, ports) over MPLS are all sent into the same RX queue.
My queries are
- Is there any parameter/techniques in DPDK to distribute MPLS packets to multiple RX queues?
- Is there any way to strip off MPLS tags (between Eth and IP) in hardware, something like
hw_vlan_strip
?
My Port configuration is
...ANSWER
Answered 2021-Jan-17 at 13:40The requirement of POP_MPLS
and RSS on MPLS
can be activated via RTE_FLOW
for supported NIC PMD. But mellanox mxl5 PMD
supports only RTE_FLOW_ACTION_TYPE_OF_PUSH_VLAN & RTE_FLOW_ACTION_TYPE_OF_PUSH_VLAN
. Only options supported for tunneled packets by mxl5 PMD
are MPLSoGRE, MPLSoUD
. Hence POP MPLS in HW via PMD is not possible on MXL5 PMD for DPDK 19.11 LTS
For any PMD RSS
is reserved for outer/inner IP address
along with TCP/UDP/SCTP port numbers
. Hence I have to interpret RSS for MPLS
as I would like to distribute/ spread packets with different MPLS to various queues
. This can be achieved by again using RTE_FLOW
for RTE_FLOW_ITEM_TYPE_MPLS
and action field as RTE_FLOW_ACTION_TYPE_QUEUE
. Using mask/range fields
one can set patterns which can satisfy condition as 2 ^ 20 (MPLS id max value) / number of RX queues
. hence the recommendation is to use RTE_FLOW_ITEM_TYPE_MPLS from RTE_FLOW and RTE_FLOW_ACTION_TYPE_QUEUE. But there is no IP/PORT RSS hashing for the same.
to test the same you can use
- DPDK testpmd and set the
flow rules
or - make use of RTE_FLOW code snippet from rte_flow link
note: for POP MPLS
I highly recommend to use PTYPES
to identify the metadata and use RX-callabck
to modify the packet header.
QUESTION
This is all my XDP / BPF kernel code:
...ANSWER
Answered 2020-Mar-02 at 09:44This is simply because maps of type BPF_MAP_TYPE_XSKMAP
do not support lookup from user space (you'd get addresses from kernel space, which does not make sense from user space point of view and might be a security issue).
So because attempting the lookup returns -EOPNOTSUPP
, bpftool is unable to show the values. It could error out and print nothing, but instead we made it print the keys it finds, and print the error messages we get for the values.
As for the Found 0 elements
, the count is for the elements that bpftool could retrieve without any error, so it's only logical that it remains at zero in this case.
So nothing seems wrong in your case, I do not believe this output is related to your issue with the missing packets.
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install rx-queue
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page