Hi there I have a simple setup with one dp_hash group and some flows to forward packets out over two ports depending on the hash:
ovs-ofctl -O OpenFlow15 add-group xipbr "group_id=1, type=select" // from docs this should result in symmetric dp_hash ovs-ofctl -O OpenFlow15 insert-buckets xipbr "group_id=1, command_bucket_id=last, bucket=bucket_id:1,weight:100,actions=pl1lan,bucket=bucket_id:2,weight:100,actions=pl2lan" ovs-ofctl add-flow xipbr "table=0, priority=100, in_port=10G-06, action=group:1" ovs-ofctl add-flow xipbr "table=0, priority=120, in_port=pl1lan, action=10G-06" ovs-ofctl add-flow xipbr "table=0, priority=120, in_port=pl2lan, action=10G-06" I'm consistently replaying one TCP SYN and one TCP ACK packet (for the same ports and IP's) from the 10G-06 side. On the first iteration both are going out on pl2lan but on the second iteration the SYN goes out on pl1lan and the ACK on pl2lan. On the third iteration both go out on pl2lan again and so on... I can see the counters on the buckets reflect this inconsistency. Note the receiver of the SYN returns a SYN,ACK incoming on the same port that the SYN went out on. OVS correctly forwards the SYN,ACK out 10G-06. If, however, I prevent this SYN,ACK from entering the switch the hash inconsistency goes away. This is OVS 2.17.3 on Ubuntu 22.04. I also tried the following variations when adding the group, but with no change: * type=select, selection_method=dp_hash // should be asymmetric * type=select, selection_method=dp_hash,selection_method_param=4294967296 // 1 in the first 32 bits to explicitly specify symmetric * type=select, selection_method=dp_hash,selection_method_param=1 // just in case I'm wrong about the first 32 bits for symmetric Using the non-dp hash, however, works correctly. Any help/insights will be much appreciated, Gerrie
_______________________________________________ discuss mailing list disc...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-discuss