Add Source-Specific Multicast (SSM) support to net/socket layer [chromium/src : main]

0 views
Skip to first unread message

Omar Ramadan (Gerrit)

unread,
Nov 21, 2025, 5:37:43 PM (yesterday) Nov 21
to chromium...@chromium.org, Raphael Kubo da Costa, Kentaro Hara, Vlad Krot, Mike Taylor, Andrew Rayskiy, Simon Hangl, Harald Alvestrand, Reilly Grant, Chromium LUCI CQ, AyeAye, ipc-securi...@chromium.org, blink-revie...@chromium.org, rmcelra...@chromium.org, jmedle...@chromium.org, blink-...@chromium.org, kinuko...@chromium.org, blink-re...@chromium.org, network-ser...@chromium.org, net-r...@chromium.org
Attention needed from Harald Alvestrand, Reilly Grant and Vlad Krot

Omar Ramadan added 3 comments

Patchset-level comments
File-level comment, Patchset 19:
Omar Ramadan . resolved

thanks @vk...@google.com for guidance. i've reduce the scope here to net/socket layer and moved the rest to CL7186747

Commit Message
Line 7, Patchset 10:Add Source-Specific Multicast (SSM) support to Direct Sockets API
Vlad Krot . resolved

Attach link to chrome entry for other reviewers.

Omar Ramadan

Done

File net/socket/udp_socket_unittest.cc
Line 2138, Patchset 10:TEST_F(UDPSocketTest, JoinSourceGroupIPv4) {
Vlad Krot . resolved

I would split the CL into multiple. The /net/socket/ directory should be in a separate CL from other layers to simplify job of the reviewers.

Omar Ramadan

Done

Open in Gerrit

Related details

Attention is currently required from:
  • Harald Alvestrand
  • Reilly Grant
  • Vlad Krot
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement is blockingCode-Review
  • requirement is not satisfiedNo-Unresolved-Comments
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: Id4f2cb41f7620ba589ff86bc5e6946486dd624c8
Gerrit-Change-Number: 7160820
Gerrit-PatchSet: 20
Gerrit-Owner: Omar Ramadan <om...@blockcast.net>
Gerrit-Reviewer: Harald Alvestrand <h...@chromium.org>
Gerrit-Reviewer: Omar Ramadan <om...@blockcast.net>
Gerrit-Reviewer: Reilly Grant <rei...@chromium.org>
Gerrit-Reviewer: Vlad Krot <vk...@google.com>
Gerrit-CC: Andrew Rayskiy <green...@google.com>
Gerrit-CC: Kentaro Hara <har...@chromium.org>
Gerrit-CC: Mike Taylor <mike...@chromium.org>
Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
Gerrit-CC: Simon Hangl <sim...@google.com>
Gerrit-Attention: Harald Alvestrand <h...@chromium.org>
Gerrit-Attention: Reilly Grant <rei...@chromium.org>
Gerrit-Attention: Vlad Krot <vk...@google.com>
Gerrit-Comment-Date: Fri, 21 Nov 2025 22:37:24 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Vlad Krot <vk...@google.com>
satisfied_requirement
unsatisfied_requirement
blocking_requirement
open
diffy

Omar Ramadan (Gerrit)

unread,
Nov 21, 2025, 5:45:46 PM (yesterday) Nov 21
to chromium...@chromium.org, Raphael Kubo da Costa, Kentaro Hara, Vlad Krot, Mike Taylor, Andrew Rayskiy, Simon Hangl, Harald Alvestrand, Reilly Grant, Chromium LUCI CQ, AyeAye, ipc-securi...@chromium.org, blink-revie...@chromium.org, rmcelra...@chromium.org, jmedle...@chromium.org, blink-...@chromium.org, kinuko...@chromium.org, blink-re...@chromium.org, network-ser...@chromium.org, net-r...@chromium.org
Attention needed from Harald Alvestrand, Reilly Grant and Vlad Krot

Omar Ramadan added 2 comments

File third_party/blink/public/mojom/direct_sockets/direct_sockets.mojom
Line 113, Patchset 10:// Result codes for Direct Sockets operations.
Vlad Krot . resolved

unused?

Omar Ramadan

Done

File third_party/blink/renderer/modules/direct_sockets/multicast_controller.h
Line 31, Patchset 10: public:
Vlad Krot . resolved

If blink layer is modified, then it must be tested.
First of all unit tests: third_party/blink/renderer/modules/direct_sockets/multicast_controller_unittest.cc

Second, e2e tests on chrome or content layer:
content/browser/direct_sockets/direct_sockets_udp_browsertest.cc,
chrome/browser/direct_sockets/direct_sockets_apitest.cc

There should be complete cases, checking that source filtering works, and many other corner cases.

Omar Ramadan

addressed in CL7186747

Open in Gerrit

Related details

Attention is currently required from:
  • Harald Alvestrand
  • Reilly Grant
  • Vlad Krot
Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Owners
    • requirement is blockingCode-Review
    Gerrit-Comment-Date: Fri, 21 Nov 2025 22:45:27 +0000
    satisfied_requirement
    unsatisfied_requirement
    blocking_requirement
    open
    diffy

    Reilly Grant (Gerrit)

    unread,
    Nov 21, 2025, 6:26:29 PM (yesterday) Nov 21
    to Omar Ramadan, chromium...@chromium.org, Raphael Kubo da Costa, Kentaro Hara, Vlad Krot, Mike Taylor, Andrew Rayskiy, Simon Hangl, Harald Alvestrand, Reilly Grant, Chromium LUCI CQ, AyeAye, ipc-securi...@chromium.org, blink-revie...@chromium.org, rmcelra...@chromium.org, jmedle...@chromium.org, blink-...@chromium.org, kinuko...@chromium.org, blink-re...@chromium.org, network-ser...@chromium.org, net-r...@chromium.org
    Attention needed from Harald Alvestrand, Omar Ramadan and Vlad Krot

    Reilly Grant added 2 comments

    File net/socket/udp_socket_posix.cc
    Line 1063, Patchset 20 (Latest): struct ip_mreq_source mreqs = {};
    Reilly Grant . unresolved

    Can you define helper functions to populate a `struct ip_mreq_source` or `struct group_source_req` from an `IPAddress` that we can use in both the join and leave methods?

    File net/socket/udp_socket_win.cc
    Line 1408, Patchset 20 (Latest): std::memcpy(&group->sin6_addr, group_address.bytes().data(),
    Reilly Grant . unresolved

    Why `memcpy` here instead of using `ToIn6Addr`?

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Harald Alvestrand
    • Omar Ramadan
    • Vlad Krot
    Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement is not satisfiedCode-Owners
      • requirement is blockingCode-Review
      • requirement is not satisfiedNo-Unresolved-Comments
      • requirement is not satisfiedReview-Enforcement
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: Id4f2cb41f7620ba589ff86bc5e6946486dd624c8
      Gerrit-Change-Number: 7160820
      Gerrit-PatchSet: 20
      Gerrit-Owner: Omar Ramadan <om...@blockcast.net>
      Gerrit-Reviewer: Harald Alvestrand <h...@chromium.org>
      Gerrit-Reviewer: Omar Ramadan <om...@blockcast.net>
      Gerrit-Reviewer: Reilly Grant <rei...@chromium.org>
      Gerrit-Reviewer: Vlad Krot <vk...@google.com>
      Gerrit-CC: Andrew Rayskiy <green...@google.com>
      Gerrit-CC: Kentaro Hara <har...@chromium.org>
      Gerrit-CC: Mike Taylor <mike...@chromium.org>
      Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
      Gerrit-CC: Simon Hangl <sim...@google.com>
      Gerrit-Attention: Harald Alvestrand <h...@chromium.org>
      Gerrit-Attention: Omar Ramadan <om...@blockcast.net>
      Gerrit-Attention: Vlad Krot <vk...@google.com>
      Gerrit-Comment-Date: Fri, 21 Nov 2025 23:26:21 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      satisfied_requirement
      unsatisfied_requirement
      blocking_requirement
      open
      diffy

      Omar Ramadan (Gerrit)

      unread,
      Nov 21, 2025, 8:29:10 PM (22 hours ago) Nov 21
      to chromium...@chromium.org, Raphael Kubo da Costa, Kentaro Hara, Vlad Krot, Mike Taylor, Andrew Rayskiy, Simon Hangl, Harald Alvestrand, Reilly Grant, Chromium LUCI CQ, AyeAye, ipc-securi...@chromium.org, blink-revie...@chromium.org, rmcelra...@chromium.org, jmedle...@chromium.org, blink-...@chromium.org, kinuko...@chromium.org, blink-re...@chromium.org, network-ser...@chromium.org, net-r...@chromium.org
      Attention needed from Harald Alvestrand, Reilly Grant and Vlad Krot

      Omar Ramadan added 2 comments

      File net/socket/udp_socket_posix.cc
      Line 1063, Patchset 20: struct ip_mreq_source mreqs = {};
      Reilly Grant . resolved

      Can you define helper functions to populate a `struct ip_mreq_source` or `struct group_source_req` from an `IPAddress` that we can use in both the join and leave methods?

      Omar Ramadan

      added `CreateIPv4SourceGroupRequest` / `CreateIPv6SourceGroupRequest` helpers

      File net/socket/udp_socket_win.cc
      Line 1408, Patchset 20: std::memcpy(&group->sin6_addr, group_address.bytes().data(),
      Reilly Grant . resolved

      Why `memcpy` here instead of using `ToIn6Addr`?

      Omar Ramadan

      Done

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Harald Alvestrand
      • Reilly Grant
      • Vlad Krot
      Submit Requirements:
        • requirement satisfiedCode-Coverage
        • requirement is not satisfiedCode-Owners
        • requirement is blockingCode-Review
        • requirement is not satisfiedReview-Enforcement
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: comment
        Gerrit-Project: chromium/src
        Gerrit-Branch: main
        Gerrit-Change-Id: Id4f2cb41f7620ba589ff86bc5e6946486dd624c8
        Gerrit-Change-Number: 7160820
        Gerrit-PatchSet: 21
        Gerrit-Owner: Omar Ramadan <om...@blockcast.net>
        Gerrit-Reviewer: Harald Alvestrand <h...@chromium.org>
        Gerrit-Reviewer: Omar Ramadan <om...@blockcast.net>
        Gerrit-Reviewer: Reilly Grant <rei...@chromium.org>
        Gerrit-Reviewer: Vlad Krot <vk...@google.com>
        Gerrit-CC: Andrew Rayskiy <green...@google.com>
        Gerrit-CC: Kentaro Hara <har...@chromium.org>
        Gerrit-CC: Mike Taylor <mike...@chromium.org>
        Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
        Gerrit-CC: Simon Hangl <sim...@google.com>
        Gerrit-Attention: Reilly Grant <rei...@chromium.org>
        Gerrit-Attention: Harald Alvestrand <h...@chromium.org>
        Gerrit-Attention: Vlad Krot <vk...@google.com>
        Gerrit-Comment-Date: Sat, 22 Nov 2025 01:28:51 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: No
        Comment-In-Reply-To: Reilly Grant <rei...@chromium.org>
        satisfied_requirement
        unsatisfied_requirement
        blocking_requirement
        open
        diffy

        Reilly Grant (Gerrit)

        unread,
        Nov 21, 2025, 8:42:59 PM (22 hours ago) Nov 21
        to Omar Ramadan, chromium...@chromium.org, Raphael Kubo da Costa, Kentaro Hara, Vlad Krot, Mike Taylor, Andrew Rayskiy, Simon Hangl, Harald Alvestrand, Reilly Grant, Chromium LUCI CQ, AyeAye, ipc-securi...@chromium.org, blink-revie...@chromium.org, rmcelra...@chromium.org, jmedle...@chromium.org, blink-...@chromium.org, kinuko...@chromium.org, blink-re...@chromium.org, network-ser...@chromium.org, net-r...@chromium.org
        Attention needed from Harald Alvestrand, Omar Ramadan and Vlad Krot

        Reilly Grant added 1 comment

        File net/socket/udp_socket_win.cc
        Line 1374, Patchset 22 (Latest): struct ip_mreq_source mreqs;
        Reilly Grant . unresolved

        Add struct building helpers here as well?

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Harald Alvestrand
        • Omar Ramadan
        • Vlad Krot
        Submit Requirements:
          • requirement satisfiedCode-Coverage
          • requirement is not satisfiedCode-Owners
          • requirement is blockingCode-Review
          • requirement is not satisfiedNo-Unresolved-Comments
          • requirement is not satisfiedReview-Enforcement
          Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
          Gerrit-MessageType: comment
          Gerrit-Project: chromium/src
          Gerrit-Branch: main
          Gerrit-Change-Id: Id4f2cb41f7620ba589ff86bc5e6946486dd624c8
          Gerrit-Change-Number: 7160820
          Gerrit-PatchSet: 22
          Gerrit-Owner: Omar Ramadan <om...@blockcast.net>
          Gerrit-Reviewer: Harald Alvestrand <h...@chromium.org>
          Gerrit-Reviewer: Omar Ramadan <om...@blockcast.net>
          Gerrit-Reviewer: Reilly Grant <rei...@chromium.org>
          Gerrit-Reviewer: Vlad Krot <vk...@google.com>
          Gerrit-CC: Andrew Rayskiy <green...@google.com>
          Gerrit-CC: Kentaro Hara <har...@chromium.org>
          Gerrit-CC: Mike Taylor <mike...@chromium.org>
          Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
          Gerrit-CC: Simon Hangl <sim...@google.com>
          Gerrit-Attention: Harald Alvestrand <h...@chromium.org>
          Gerrit-Attention: Omar Ramadan <om...@blockcast.net>
          Gerrit-Attention: Vlad Krot <vk...@google.com>
          Gerrit-Comment-Date: Sat, 22 Nov 2025 01:42:51 +0000
          Gerrit-HasComments: Yes
          Gerrit-Has-Labels: No
          satisfied_requirement
          unsatisfied_requirement
          blocking_requirement
          open
          diffy

          Omar Ramadan (Gerrit)

          unread,
          Nov 21, 2025, 9:07:16 PM (22 hours ago) Nov 21
          to chromium...@chromium.org, Raphael Kubo da Costa, Kentaro Hara, Vlad Krot, Mike Taylor, Andrew Rayskiy, Simon Hangl, Harald Alvestrand, Reilly Grant, Chromium LUCI CQ, AyeAye, ipc-securi...@chromium.org, blink-revie...@chromium.org, rmcelra...@chromium.org, jmedle...@chromium.org, blink-...@chromium.org, kinuko...@chromium.org, blink-re...@chromium.org, network-ser...@chromium.org, net-r...@chromium.org
          Attention needed from Harald Alvestrand, Reilly Grant and Vlad Krot

          Omar Ramadan added 1 comment

          File net/socket/udp_socket_win.cc
          Line 1374, Patchset 22: struct ip_mreq_source mreqs;
          Reilly Grant . resolved

          Add struct building helpers here as well?

          Omar Ramadan

          Done

          Open in Gerrit

          Related details

          Attention is currently required from:
          • Harald Alvestrand
          • Reilly Grant
          • Vlad Krot
          Submit Requirements:
            • requirement satisfiedCode-Coverage
            • requirement is not satisfiedCode-Owners
            • requirement is blockingCode-Review
            • requirement is not satisfiedReview-Enforcement
            Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
            Gerrit-MessageType: comment
            Gerrit-Project: chromium/src
            Gerrit-Branch: main
            Gerrit-Change-Id: Id4f2cb41f7620ba589ff86bc5e6946486dd624c8
            Gerrit-Change-Number: 7160820
            Gerrit-PatchSet: 23
            Gerrit-Owner: Omar Ramadan <om...@blockcast.net>
            Gerrit-Reviewer: Harald Alvestrand <h...@chromium.org>
            Gerrit-Reviewer: Omar Ramadan <om...@blockcast.net>
            Gerrit-Reviewer: Reilly Grant <rei...@chromium.org>
            Gerrit-Reviewer: Vlad Krot <vk...@google.com>
            Gerrit-CC: Andrew Rayskiy <green...@google.com>
            Gerrit-CC: Kentaro Hara <har...@chromium.org>
            Gerrit-CC: Mike Taylor <mike...@chromium.org>
            Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
            Gerrit-CC: Simon Hangl <sim...@google.com>
            Gerrit-Attention: Reilly Grant <rei...@chromium.org>
            Gerrit-Attention: Harald Alvestrand <h...@chromium.org>
            Gerrit-Attention: Vlad Krot <vk...@google.com>
            Gerrit-Comment-Date: Sat, 22 Nov 2025 02:06:57 +0000
            Gerrit-HasComments: Yes
            Gerrit-Has-Labels: No
            Comment-In-Reply-To: Reilly Grant <rei...@chromium.org>
            satisfied_requirement
            unsatisfied_requirement
            blocking_requirement
            open
            diffy

            Reilly Grant (Gerrit)

            unread,
            Nov 21, 2025, 9:37:18 PM (21 hours ago) Nov 21
            to Omar Ramadan, Reilly Grant, chromium...@chromium.org, Raphael Kubo da Costa, Kentaro Hara, Vlad Krot, Mike Taylor, Andrew Rayskiy, Simon Hangl, Harald Alvestrand, Chromium LUCI CQ, AyeAye, ipc-securi...@chromium.org, blink-revie...@chromium.org, rmcelra...@chromium.org, jmedle...@chromium.org, blink-...@chromium.org, kinuko...@chromium.org, blink-re...@chromium.org, network-ser...@chromium.org, net-r...@chromium.org
            Attention needed from Harald Alvestrand, Omar Ramadan and Vlad Krot

            Reilly Grant voted and added 1 comment

            Votes added by Reilly Grant

            Code-Review+1

            1 comment

            Patchset-level comments
            Open in Gerrit

            Related details

            Attention is currently required from:
            • Harald Alvestrand
            • Omar Ramadan
            • Vlad Krot
            Gerrit-Attention: Harald Alvestrand <h...@chromium.org>
            Gerrit-Attention: Omar Ramadan <om...@blockcast.net>
            Gerrit-Attention: Vlad Krot <vk...@google.com>
            Gerrit-Comment-Date: Sat, 22 Nov 2025 02:37:03 +0000
            Gerrit-HasComments: Yes
            Gerrit-Has-Labels: Yes
            satisfied_requirement
            unsatisfied_requirement
            blocking_requirement
            open
            diffy
            Reply all
            Reply to author
            Forward
            0 new messages