[ovs-dev] [PATCH v3] [python] Don't mix system poll/monkeypatched select
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