Hi All,

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 seem 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

1. Is there any parameter/techniques in DPDK to distribute MPLS packets to
multiple RX queues?

2. Is there any way to strip off MPLS tags (between Eth and IP) in
hardware, something like hw_vlan_strip?


My Port configuration is


const struct rte_eth_conf default_port_conf = {

    .rxmode = {

            .hw_vlan_strip  = 0,    /* VLAN strip enabled. */

            .header_split   = 0,    /* Header Split disabled. */

            .hw_ip_checksum = 0,    /* IP checksum offload disabled. */

            .hw_strip_crc   = 0,    /* CRC stripping by hardware disabled.
*/

    },

    .rx_adv_conf = {

            .rss_conf = {

                    .rss_key = NULL,

                    .rss_key_len = 0,

                    .rss_hf = ETH_RSS_IP,

            },

    } };

_______________________


Thanks and Regards

Raktim Bhatt

Reply via email to