[ovs-dev] [PATCH v3] [python] Don't mix system poll/monkeypatched select

Ilya Maximets i.maximets at ovn.org
Tue Jun 22 17:13:13 UTC 2021

On 6/22/21 6:51 PM, Ben Pfaff wrote:
> On Tue, Jun 15, 2021 at 10:06:53PM +0200, Ilya Maximets wrote:
>> 3. Use select() + getsockopt(SO_ERRROR), effectively revert d6cedfd9d29d
>>    --> give up on systems that doesn't support SO_ERRROR. (ESX?)
> d6cedfd9d29d is the commit titled "socket-util: Avoid using SO_ERROR."
> from 2012.  This was right after the Nicira acquisition when we were
> trying to port OVS to ESX.  We dropped that effort later and took a
> different strategy on ESX.  You can kind of see that since there are no
> references to ESX in the log from 2014 to 2019 and the one in 2019 is
> commit e6fc4e2ce97e ("Remove ESX references.").
> So, in short, ESX doesn't matter, go ahead and use SO_ERROR.

Good to know.  Thanks!

So, IIUC, if we'll revert following 3 commits, the issue should be fixed:

1. c1aa16d191d2 ("ovs python: ovs.stream.open_block() returns success even if the remote is unreachable")
2. 24f974c481bc ("socket-util: Remove get_socket_error().")
3. d6cedfd9d29d ("socket-util: Avoid using SO_ERROR.")

We should keep test cases from the commit #1, though.

This can be done as a single patch that reverts 3 above with an
explanation, why we're doing that.

Terry, what do you think?

Best regards, Ilya Maximets.

More information about the dev mailing list