Bug 261398 - [exp-run] check use of IP_BINDMULTI and IP_RSS_LISTEN_BUCKET
Summary: [exp-run] check use of IP_BINDMULTI and IP_RSS_LISTEN_BUCKET
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Ports Framework (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Gleb Smirnoff
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-01-22 06:32 UTC by Gleb Smirnoff
Modified: 2023-02-28 21:06 UTC (History)
1 user (show)

See Also:


Attachments
patched /usr/include/netinet/in.h (599 bytes, patch)
2022-01-22 06:32 UTC, Gleb Smirnoff
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Gleb Smirnoff freebsd_committer freebsd_triage 2022-01-22 06:32:52 UTC
Created attachment 231232 [details]
patched /usr/include/netinet/in.h

Hi!

I'd like to estimate is there any software that picked up experimental socket options.

I need exp-run with the following two lines removed from /usr/include/netinet/in.h on the build host:

#define        IP_BINDMULTI            25   /* bool: allow multiple listeners on a tuple */
#define        IP_RSS_LISTEN_BUCKET    26   /* int; set RSS listen bucket */


Patch provided for convenience.
Comment 1 Antoine Brodin freebsd_committer freebsd_triage 2022-01-22 09:11:06 UTC
It seems that those options are used by librss during buildworld for instance?
Comment 2 Gleb Smirnoff freebsd_committer freebsd_triage 2022-01-22 17:47:19 UTC
(In reply to Antoine Brodin from comment #1)
My bad, Antoine. Let's disable librss and repeat the run. One line change in lib/Makefile.
Comment 3 Antoine Brodin freebsd_committer freebsd_triage 2022-01-25 07:57:15 UTC
Exp-run looks fine  (no new port failure with the removal of the 2 defines and of librss)
Comment 4 Gleb Smirnoff freebsd_committer freebsd_triage 2022-01-25 08:38:09 UTC
Thanks a lot, Antoine!
Comment 5 commit-hook freebsd_committer freebsd_triage 2023-02-27 15:04:40 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/src/commit/?id=b9199d152f3d61f93c21d63e3c85a5863f9d71e9

commit b9199d152f3d61f93c21d63e3c85a5863f9d71e9
Author:     Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2023-02-27 14:50:25 +0000
Commit:     Mark Johnston <markj@FreeBSD.org>
CommitDate: 2023-02-27 15:03:11 +0000

    librss: Remove rss_sock_set_bindmulti()

    In preparation for the removal of the IP(V6)_BINDMULTI option.

    PR:             261398 (exp-run)
    Reviewed by:    glebius
    Sponsored by:   Klara, Inc.
    Differential Revision:  https://reviews.freebsd.org/D38574

 lib/librss/librss.3 | 12 ------------
 lib/librss/librss.c | 22 ----------------------
 lib/librss/librss.h |  8 --------
 3 files changed, 42 deletions(-)
Comment 6 commit-hook freebsd_committer freebsd_triage 2023-02-27 15:04:41 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/src/commit/?id=3aff4ccdd714105db340d68f1a2aea2f46e99122

commit 3aff4ccdd714105db340d68f1a2aea2f46e99122
Author:     Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2023-02-27 14:52:28 +0000
Commit:     Mark Johnston <markj@FreeBSD.org>
CommitDate: 2023-02-27 15:03:11 +0000

    netinet: Remove IP(V6)_BINDMULTI

    This option was added in commit 0a100a6f1ee5 but was never completed.
    In particular, there is no logic to map flowids to different listening
    sockets, so it accomplishes basically the same thing as SO_REUSEPORT.
    Meanwhile, we've since added SO_REUSEPORT_LB, which at least tries to
    balance among listening sockets using a hash of the 4-tuple and some
    optional NUMA policy.

    The option was never documented or completed, and an exp-run revealed
    nothing using it in the ports tree.  Moreover, it complicates the
    already very complicated in_pcbbind_setup(), and the checking in
    in_pcbbind_check_bindmulti() is insufficient.  So, let's remove it.

    PR:             261398 (exp-run)
    Reviewed by:    glebius
    Sponsored by:   Klara, Inc.
    Differential Revision:  https://reviews.freebsd.org/D38574

 sys/netinet/in.h          |  1 -
 sys/netinet/in_pcb.c      | 47 ++---------------------------------------------
 sys/netinet/in_pcb.h      |  4 ----
 sys/netinet/ip_output.c   |  8 --------
 sys/netinet6/in6.h        |  1 -
 sys/netinet6/in6_pcb.c    | 18 ++----------------
 sys/netinet6/ip6_output.c |  9 ---------
 7 files changed, 4 insertions(+), 84 deletions(-)
Comment 7 commit-hook freebsd_committer freebsd_triage 2023-02-28 21:06:24 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/src/commit/?id=317fa5169d35c508a05c520a764630252adebea8

commit 317fa5169d35c508a05c520a764630252adebea8
Author:     Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2023-02-28 20:57:21 +0000
Commit:     Mark Johnston <markj@FreeBSD.org>
CommitDate: 2023-02-28 20:57:21 +0000

    netinet: Remove the IP(V6)_RSS_LISTEN_BUCKET socket option

    It has no effect, and an exp-run revealed that it is not in use.

    PR:             261398 (exp-run)
    Reviewed by:    mjg, glebius
    Sponsored by:   Klara, Inc.
    Differential Revision:  https://reviews.freebsd.org/D38822

 sys/netinet/in.h          |  3 ++-
 sys/netinet/in_pcb.c      |  1 -
 sys/netinet/in_pcb.h      |  6 +++---
 sys/netinet/ip_output.c   | 14 +-------------
 sys/netinet6/in6.h        |  4 ++--
 sys/netinet6/ip6_output.c | 16 ----------------
 6 files changed, 8 insertions(+), 36 deletions(-)
Comment 8 commit-hook freebsd_committer freebsd_triage 2023-02-28 21:06:25 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/src/commit/?id=d1d0ae97ca8837306b2a791829566787d1ac723f

commit d1d0ae97ca8837306b2a791829566787d1ac723f
Author:     Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2023-02-28 20:57:11 +0000
Commit:     Mark Johnston <markj@FreeBSD.org>
CommitDate: 2023-02-28 20:57:11 +0000

    librss: Remove rss_socket_set_rss_bucket()

    In preparation for the removal of the IP_RSS_LISTEN_BUCKET socket
    option.

    PR:             261398 (exp-run)
    Reviewed by:    glebius
    Sponsored by:   Klara, Inc.
    Differential Revision:  https://reviews.freebsd.org/D38821

 lib/librss/librss.3 |  9 ---------
 lib/librss/librss.c | 32 --------------------------------
 lib/librss/librss.h |  7 -------
 3 files changed, 48 deletions(-)