Dear ovs-discuss, I'm encountering unexpected behavior with GROUP type=SELECT in Open vSwitch and would appreciate your insights.
According to the OpenFlow specification: Optional: select: Execute one bucket in the group. Packets are processed by > a single bucket in the group, based on a switch-computed selection > algorithm (e.g. hash on some user-configured tuple or simple round robin). > All configuration and state for the selection algorithm is external to > OpenFlow. > The selection algorithm should implement equal load sharing and can > optionally be based on bucket weights. When a port specified in a bucket in > a select group goes down, the switch *may* restrict bucket selection to > the remaining set (those with forwarding actions to live ports) instead of > dropping packets destined to that port. This behavior may reduce the > disruption of a downed link or switch. However, in my test environment with 2 input and 2 output ports, I found that if one of the output ports goes down, traffic gets disrupted instead of automatically avoiding the down port. It seems like SELECT does not skip the downed port and continues sending traffic to it. System Environment - OS: Ubuntu 24.04.2 LTS - Open vSwitch: 3.3.0 - Controller: Ryu - OF Protocol: OpenFlow 1.3 - Config: DPDK enabled Group Config (via Ryu REST API) curl -X POST -d '{"dpid":123456,"type":"SELECT","group_id":1,"buckets":[{"actions":[{"type":"OUTPUT","port":1}],"weight":1},{"actions":[{"type":"OUTPUT","port":2}],"weight":1}]}' http://127.0.0.1:8080/stats/groupentry/add curl -X POST -d '{"dpid":123456,"type":"SELECT","group_id":2,"buckets":[{"actions":[{"type":"OUTPUT","port":5}],"weight":1},{"actions":[{"type":"OUTPUT","port":6}],"weight":1}]}' http://127.0.0.1:8080/stats/groupentry/add Flow Config ovs-ofctl add-flow -O Openflow13 ovsbr1 cookie=20,table=0,priority=20,in_port=1,actions=group:2 ovs-ofctl add-flow -O Openflow13 ovsbr1 cookie=20,table=0,priority=20,in_port=2,actions=group:2 ovs-ofctl add-flow -O Openflow13 ovsbr1 cookie=20,table=0,priority=20,in_port=5,actions=group:1 ovs-ofctl add-flow -O Openflow13 ovsbr1 cookie=20,table=0,priority=20,in_port=6,actions=group:1 OVS Configuration ovs-vsctl get Open_vSwitch . other_config {dpdk-alloc-mem="8192", dpdk-init="true", dpdk-lcore-mask="0x1FFFE", pmd-cpu-mask="0xFF00"} Is this the expected behavior for SELECT groups in OVS? Does Open vSwitch support dynamic port liveness detection and automatic exclusion of down ports in SELECT groups? If not, is there any workaround or configuration that enables this behavior? Thank you very much for your help. Best regards, Yongb
_______________________________________________ discuss mailing list disc...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-discuss