On Tue, 2017-05-23 at 16:42 +0900, Heung Sik Choi wrote: > Hi, > > > In many articles about ovs, there are some mention that hashing > function cause quite significant overhead. Also, I did 'perf record' > performing OVS L3 forwarding, and found that. > > > So, an idea comes up, which is that implement RSS hash > algorithm(Toeplitz hash algorithm) in kernel datapath module.
I'm somewhat confused by this comment. RSS will use a Toeplitz hash algorithm to create a hash value that will then be used by the NIC to select one of multiple HW receive queues. It's more than just a hash algorithm. Are you saying that you want to add RSS to the datapath to move packets to different queues? Which queues? Or do you just want to create a Toeplitz hashing algorithm function that will return a hash value and it doesn't really have anything to do with RSS? > However, I stucked in processing mask the 'struct sw_flow_key'. > > > I insert only one rule 'ovs-ofctl add-flow ovs-br1 > nw_dst=100.1.1.1,actions=mod_dl_dst:90:e2:ba:5b:88:2c,in_port'. > Strangely, mac_src, mac_dst, ip_src, ip_dst, and port value in struct > sw_flow_key is changed after calling ovs_flow_mask_key() in > masked_flow_lookup(). I can not understand why mask processing turn on > and why mask processing change almost all values in sw_flow_key. I have no idea about that. I'll see if I can find time to repro on my own testing environment. - Greg > > > Please let me know if you have any insights. > _______________________________________________ > discuss mailing list > [email protected] > https://mail.openvswitch.org/mailman/listinfo/ovs-discuss _______________________________________________ discuss mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-discuss
