Even simpler solution to the problem. Acked-by: Jan Scheurich <jan.scheur...@ericsson.com>
BR, Jan > -----Original Message----- > From: Ilya Maximets <i.maxim...@ovn.org> > Sent: Thursday, 24 October, 2019 14:32 > To: ovs-dev@openvswitch.org > Cc: Ian Stokes <ian.sto...@intel.com>; Kevin Traynor <ktray...@redhat.com>; > Jan Scheurich <jan.scheur...@ericsson.com>; ychen103...@163.com; Ilya > Maximets <i.maxim...@ovn.org> > Subject: [PATCH] dpif-netdev: Do not mix recirculation depth into RSS hash > itself. > > Mixing of RSS hash with recirculation depth is useful for flow lookup because > same packet after recirculation should match with different datapath rule. > Setting of the mixed value back to the packet is completely unnecessary > because recirculation depth is different on each recirculation, i.e. we will > have > different packet hash for flow lookup anyway. > > This should fix the issue that packets from the same flow could be directed to > different buckets based on a dp_hash or different ports of a balanced bonding > in case they were recirculated different number of times (e.g. due to > conntrack > rules). > With this change, the original RSS hash will remain the same making it > possible > to calculate equal dp_hash values for such packets. > > Reported-at: https://protect2.fireeye.com/v1/url?k=0a51a6c3-56db840c- > 0a51e658-0cc47ad93ea4-b7f1e9be8f7bbef8&q=1&e=c9f55798-de3c-45f4-afeb- > 9a87d3d594ca&u=https%3A%2F%2Fmail.openvswitch.org%2Fpipermail%2Fovs- > dev%2F2019-September%2F363127.html > Fixes: 048963aa8507 ("dpif-netdev: Reset RSS hash when recirculating.") > Signed-off-by: Ilya Maximets <i.maxim...@ovn.org> > --- > lib/dpif-netdev.c | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c index 4546b55e8..c09b8fd95 > 100644 > --- a/lib/dpif-netdev.c > +++ b/lib/dpif-netdev.c > @@ -6288,7 +6288,6 @@ dpif_netdev_packet_get_rss_hash(struct dp_packet > *packet, > recirc_depth = *recirc_depth_get_unsafe(); > if (OVS_UNLIKELY(recirc_depth)) { > hash = hash_finish(hash, recirc_depth); > - dp_packet_set_rss_hash(packet, hash); > } > return hash; > } > -- > 2.17.1 _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev