OS-4018: lxbrand support TCP SO_REUSEPORT


Issue Type:Bug
Priority:3 - Elevated
Created at:2015-03-10T06:08:31.000Z
Updated at:2020-01-22T22:43:04.350Z


Created by:Former user
Reported by:Former user
Assigned to:Former user


Fixed: A fix for this issue is checked into the tree and tested.
(Resolution Date: 2015-12-07T21:43:11.000Z)

Fix Versions

2015-12-10 Dino (Release Date: 2015-10-12)

Related Issues




The feature to bind multiple socket listeners (servers) to the same port on the same host was introduced in Linux kernel 3.9 (https://lwn.net/Articles/542629) and is not supported yet on LXz.

This gap was found when running Python's regression test suite. Multiple test failed with the error below:

ERROR: testTimeoutConnect (test.test_ftplib.TestTimeouts)
Traceback (most recent call last):
  File "/usr/share/python/test/test_ftplib.py", line 671, in setUp
    self.port = test_support.bind_port(self.sock)
  File "/usr/share/python/test/test_support.py", line 308, in bind_port
    if sock.getsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT) == 1:
  File "/usr/lib/python2.7/socket.py", line 224, in meth
    return getattr(self._sock,name)(*args)
error: [Errno 92] Protocol not available

The unit test code is attached to the ticket. Refer to OS-4014 for instructions on running the Python regression test suite.


Comment by Former user
Created at 2015-07-17T18:47:12.000Z

Added Zendesk ticket id 183359 as the issue is also reported by a customer.

Comment by Former user
Created at 2015-07-21T00:20:58.000Z

Raised the priority of this defect as more use cases are now affected by the socket feature gaps.

Comment by Former user
Created at 2015-12-07T20:58:09.000Z

illumos-joyent commit 3100843 (branch master, by Patrick Mooney)

OS-4018 lxbrand support TCP SO_REUSEPORT
Reviewed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: Cody Mello <cody.mello@joyent.com>