-
Notifications
You must be signed in to change notification settings - Fork 3.2k
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
Conversation
fc987d3
to
0e61e9d
Compare
0e61e9d
to
eff0644
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
/test |
There was a problem hiding this 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!
eff0644
to
4d551a3
Compare
There was a problem hiding this 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.
4d551a3
to
4758961
Compare
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 🙏 |
/test |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Docs look good.
There was a problem hiding this 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!
9E88
4758961
to
a05dcf6
Compare
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. |
a05dcf6
to
8ace2bb
Compare
/test |
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>
8ace2bb
to
86a3f2c
Compare
/test |
There was a problem hiding this 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!
There was a problem hiding this 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!
Change
This change adds cilium-dbg commands to manage multicast BPF maps.
Following commands are added
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.