8000 multicast: add CLIs to configure multicast bpf maps by harsimran-pabla · Pull Request #31355 · cilium/cilium · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

multicast: add CLIs to configure multicast bpf maps #31355

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Mar 21, 2024

Conversation

harsimran-pabla
Copy link
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
Copy link
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
Contributor Author

/test

@harsimran-pabla
Copy link
Contributor Author

Clustermesh CI failure : #30251

@harsimran-pabla
Copy link
Contributor Author

Copy link
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
Contributor
@lambdanis lambdanis 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
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
Copy link
Contributor Author

/test

Copy link
Contributor
@lambdanis lambdanis 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
Contributor Author

ci-ginkgo failure - #31147

Copy link
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
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
Contributor Author

/test

@harsimran-pabla
Copy link
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 <hpabla@isovalent.com>
@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
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
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
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.

7 participants
0