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