More info on this: Using selection_method=hash works OK. Looks like it's only dp_hash that breaks.
I've also tried dp_hash without selection_method_param=1 and it does not work. I also tried with '1' in the upper 32 bits and no luck. Looking at the code I think the trace giving 'no live bucket' is a red herring - if the packet is going to be circulated the bucket will be NULL, right? ________________________________ From: Gerrie Roos Sent: Monday, February 6, 2023 4:12 PM To: ovs-discuss@openvswitch.org <ovs-discuss@openvswitch.org> Subject: 'Select' group always selecting the last bucket Hi there I have a simple group with two buckets: group_id=3,type=select,selection_method=dp_hash,selection_method_param=1,bucket=bucket_id:1,actions=load:0x1->OXM_OF_PKT_REG0[],output:4,bucket=bucket_id:2,actions=load:0x2->OXM_OF_PKT_REG0[],output:7 I have a healthy mix of UDP with different src/dst IP's and ports hitting this group but I always get hits only on the last bucket: group_id=3,duration=2391.520s,ref_count=1,packet_count=73932,byte_count=94881408,bucket0:packet_count=0,byte_count=0,bucket1:packet_count=264177,byte_count=176152324 This also happens even if I add a bucket with a huge weight and another bucket after that with a weight of 1. Tracing a packet also looks weird: ovs-appctl ofproto/trace xipbr in_port=1G-01,udp,nw_src=192.168.22.1,nw_dst=192.168.22.139,nw_tos=0,nw_ecn=0,udp_src=23865,udp_dst=80,dl_src=55:55:55:55:55:55,dl_dst=66:66:66:66:66:66 Flow: udp,in_port=2,vlan_tci=0x0000,dl_src=55:55:55:55:55:55,dl_dst=66:66:66:66:66:66,nw_src=192.168.22.1,nw_dst=192.168.22.139,nw_tos=0,nw_ecn=0,nw_ttl=0,tp_src=23865,tp_dst=80 bridge("xipbr") --------------- 0. in_port=2, priority 200 load:0x1->OXM_OF_PKT_REG1[] resubmit(,3) 3. reg2=0,reg3=0x1, priority 0 group:3 -> no live bucket Final flow: udp,reg3=0x1,in_port=2,vlan_tci=0x0000,dl_src=55:55:55:55:55:55,dl_dst=66:66:66:66:66:66,nw_src=192.168.22.1,nw_dst=192.168.22.139,nw_tos=0,nw_ecn=0,nw_ttl=0,tp_src=23865,tp_dst=80 Megaflow: recirc_id=0,eth,ip,in_port=2,dl_dst=66:66:66:66:66:66,nw_frag=no Datapath actions: hash(l4(1)),recirc(0x50) See 'no live bucket'. Note the ports/interfaces in question are Linux virtual tunnel interfaces connected to KVM VMs. This is on Ubuntu 20.04 (kernel 5.4.0) and OVS 2.13.8. OVS 2.13.0 shows the same. Another setup of mine on Ubuntu 18.04 and OVS 2.9.8 does not have this issue. I've tried adding 'watch_port=4' to the buckets but then the kernel complains with OFPGMFC_WATCH_UNSUPPORTED. I tried 'watch_port=ANY', which the kernel accepts, but the behavior remains the same. Any ideas/help much appreciated! Gerrie
_______________________________________________ discuss mailing list disc...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-discuss