tbarbette / fastclick

FastClick - A faster version of the Click Modular Router featuring batching, advanced multi-processing and improved Netmap and DPDK support (ANCS'15). Check the metron branch for Metron specificities (NSDI'18). PacketMill modifications (ASPLOS'21) as well as MiddleClick(ToN, 2021) are merged in main.
Other
279 stars 82 forks source link

RSS++ shows warning #337

Closed labingIt closed 3 years ago

labingIt commented 3 years ago

I ran the rss++ configuration demo (slightly modified dpdk.click), which gave the following output:

Balancing method is rsspp
DPDK mode
Initializing DPDK
Actual reta size 128, target 128
/home/labing/fastclick-master/test/dpdk.click:12: While initializing ‘balancer :: DeviceBalancer’:
  warning: Warning -38 : Could not set isolated mode because Function not implemented !
RSS initialized with 4 CPUs and 128 buckets
Checking group support
Rule did not validate.
Could not create flow group rule. Will use rules on group 0. Error 22 : Invalid argument
Rule did not validate with mark. Trying again without mark. Error -22 (DPDK errno 22 : Invalid argument
RETA update method is global

It can still forward packets, so I just want to make sure that it's working, right? And there is another question. It's about the TARGET argument on devicebalancer. What's the difference between load and balance? Will it affect the RSS++? Thank you in advance.

tbarbette commented 3 years ago

Your device does not support flow isolation. Isolated flow mode means packets not matching a flow will be discarded, or sent to the Linux kernel instead of DPDK (see https://doc.dpdk.org/guides/howto/flow_bifurcation.html). It was used mostly for verification purposes, so if we missed redirection of some packets during development, packets would be dropped instead of randomly going to any random core of a default RSS table, so we would see the drop counter increase.

Then, in the last 5 lines, we try automatically to install a redirection rules using rte_flow instead of using the global RSS table. This is because Mellanox NICs need to restart when changing the RSS table which is very slow and leads to dropping packets, but not when changing specific RSS instructions of a flow rule.

So in the end, nothing to worry about. I guess you have an Intel NIC :)

tbarbette commented 3 years ago

Target should be LOAD. BALANCE was an old mode used for development.