Skip to content

multicast: add CLIs to configure multicast bpf maps#31355

Merged
aditighag merged 1 commit intocilium:mainfrom
harsimran-pabla:multicast-cli
Mar 21, 2024
Merged

multicast: add CLIs to configure multicast bpf maps#31355
aditighag merged 1 commit intocilium:mainfrom
harsimran-pabla:multicast-cli

Conversation

@harsimran-pabla
Copy link
Copy Markdown
Contributor

@harsimran-pabla harsimran-pabla commented Mar 12, 2024

Change

This change adds cilium-dbg commands to manage multicast BPF maps.

Following commands are added

- cilium-dbg bpf multicast group list
- cilium-dbg bpf multicast group add <group>
- cilium-dbg bpf multicast group delete <group>
- cilium-dbg bpf multicast subscriber list <group|all>
- cilium-dbg bpf multicast subscriber add <group> <subscriber>
- cilium-dbg bpf multicast subscriber delete <group> <subscriber>

This is follow up of #29469
Feature tracking issue #13239

Enabling Multicast

Users can configure multicast maps sub-system to enable multicast connectivity in the cluster. Following configuration will be required to achieve this.

  • Enable multicast using cilium-cli
    cilium config set multicast-enabled true

    -- This will result in cilium pod restart.
    -- Cilium MUST be configured in vxlan tunnel mode.

  • For each cilium pod, configure desired multicast groups.
    cilium-dbg multicast group add <group IP>

  • Configure group subscriber map to add all nodes (except self) as remote subscribers.
    cilium-dbg multicast subscriber add <groupIP> <SubscriberIP>

    -- Cilium node internal IP can be found using kubectl get ciliumnodes.cilium.io command.
    -- Use internal IPs as subscriber IPs.
    -- Omit self node IP from adding as subscriber.

After doing this, multicast receiver pods can send out IGMP join and multicast sender pods can start sending multicast stream.

multicast: add CLIs to manage multicast BPF maps

@harsimran-pabla harsimran-pabla added release-note/major This PR introduces major new functionality to Cilium. area/multicast Impacts the Multicast feature. labels Mar 12, 2024
@harsimran-pabla harsimran-pabla requested review from a team as code owners March 12, 2024 16:13
@harsimran-pabla harsimran-pabla force-pushed the multicast-cli branch 2 times, most recently from fc987d3 to 0e61e9d Compare March 12, 2024 16:40
@harsimran-pabla harsimran-pabla requested a review from a team as a code owner March 12, 2024 16:40
@harsimran-pabla harsimran-pabla requested a review from a user March 12, 2024 16:40
Copy link
Copy Markdown
Contributor

@ldelossa ldelossa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@harsimran-pabla
Copy link
Copy Markdown
Contributor Author

/test

@harsimran-pabla
Copy link
Copy Markdown
Contributor Author

Clustermesh CI failure : #30251

@harsimran-pabla
Copy link
Copy Markdown
Contributor Author

Copy link
Copy Markdown
Contributor

@derailed derailed left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@harsimran-pabla Nice work!

Copy link
Copy Markdown

@ghost ghost left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, looking forward to first-class multicast in Cilium :)

I requested a few changes for docs.

@harsimran-pabla
Copy link
Copy Markdown
Contributor Author

harsimran-pabla commented Mar 14, 2024

Thanks @lambdanis for the review. I fixed the rendering problem and example sections. Please have another look whenever you get a chance 🙏

Thank you @derailed, I addressed your comments as well. Thanks for the review 🙏

@harsimran-pabla harsimran-pabla requested review from a user and derailed March 14, 2024 19:48
@harsimran-pabla
Copy link
Copy Markdown
Contributor Author

/test

Copy link
Copy Markdown

@ghost ghost left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Docs look good.

@harsimran-pabla
Copy link
Copy Markdown
Contributor Author

ci-ginkgo failure - #31147

Copy link
Copy Markdown
Contributor

@derailed derailed left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@harsimran-pabla Thank you for the updates!

@maintainer-s-little-helper maintainer-s-little-helper bot added ready-to-merge This PR has passed all tests and received consensus from code owners to merge. labels Mar 15, 2024
@harsimran-pabla harsimran-pabla added dont-merge/discussion A discussion is ongoing and should be resolved before merging, regardless of reviews & tests status. and removed ready-to-merge This PR has passed all tests and received consensus from code owners to merge. labels Mar 15, 2024
@harsimran-pabla
Copy link
Copy Markdown
Contributor Author

Thanks @derailed for detailed review 🙏 . I dry'd most of the repeatable code. There are couple of comments which I am not sure if I understand correctly. Pls have a look whenever you get a chance.

@harsimran-pabla
Copy link
Copy Markdown
Contributor Author

/test

@harsimran-pabla
Copy link
Copy Markdown
Contributor Author

This change adds cilium-dbg commands to manage multicast BPF maps.

Following commands are added
- cilium-dbg bpf multicast group list
- cilium-dbg bpf multicast group add <group>
- cilium-dbg bpf multicast group delete <group>
- cilium-dbg bpf multicast subscriber list <group|all>
- cilium-dbg bpf multicast subscriber add <group> <subscriber>
- cilium-dbg bpf multicast subscriber delete <group> <subscriber>

Signed-off-by: harsimran pabla <[email protected]>
@harsimran-pabla harsimran-pabla removed the dont-merge/discussion A discussion is ongoing and should be resolved before merging, regardless of reviews & tests status. label Mar 19, 2024
@harsimran-pabla
Copy link
Copy Markdown
Contributor Author

/test

@maintainer-s-little-helper maintainer-s-little-helper bot added the ready-to-merge This PR has passed all tests and received consensus from code owners to merge. label Mar 20, 2024
@harsimran-pabla harsimran-pabla added dont-merge/discussion A discussion is ongoing and should be resolved before merging, regardless of reviews & tests status. and removed ready-to-merge This PR has passed all tests and received consensus from code owners to merge. labels Mar 20, 2024
Copy link
Copy Markdown
Contributor

@derailed derailed left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@harsimran-pabla Thank you for these updates!

@harsimran-pabla harsimran-pabla removed the dont-merge/discussion A discussion is ongoing and should be resolved before merging, regardless of reviews & tests status. label Mar 20, 2024
@maintainer-s-little-helper maintainer-s-little-helper bot added the ready-to-merge This PR has passed all tests and received consensus from code owners to merge. label Mar 20, 2024
@aditighag aditighag added this pull request to the merge queue Mar 21, 2024
Merged via the queue into cilium:main with commit f76d7cf Mar 21, 2024
Copy link
Copy Markdown
Contributor

@fujitatomoya fujitatomoya left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@harsimran-pabla just wanted to posting the information here.

with using Robot Operating System version 2 default transport layer is DDSI-RTPS (DDS-Interoperability Real Time Publish Subscribe) protocol well-known multicast group IP address is 239.255.0.1, i confirmed that application endpoint discovery and data communication just works out-of-the-box.

thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/multicast Impacts the Multicast feature. ready-to-merge This PR has passed all tests and received consensus from code owners to merge. release-note/major This PR introduces major new functionality to Cilium.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants