-
Notifications
You must be signed in to change notification settings - Fork 362
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
Add multicast documents #4339
Add multicast documents #4339
Conversation
a3ece2e
to
83a7665
Compare
docs/multicast-guide.md
Outdated
1. IGMP egress rules: IGMP membership report and IGMP leave group messages. | ||
2. IGMP ingress rules: IGMP query, which includes IGMPv1, IGMPv2, and IGMPv3. | ||
3. Multicast egress rules: non-IGMP multicast traffic from Pod to other Pods or external hosts. | ||
Multicast ingress rules are currently not supported. |
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.
Add a new line before this.
Multicast ingress rules are currently not supported. | |
Note: multicast ingress rules are currently not supported. |
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.
updated
docs/multicast-guide.md
Outdated
|
||
## Debugging and Collecting Multicast Statistics | ||
|
||
Users could use these tools to get the current status of the multicast application running in the cluster. |
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.
Users could use these tools to get the current status of the multicast application running in the cluster. | |
Users could check following guides and corresponding tools to get the current status of the multicast application running in the cluster. |
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.
updated
### Traffic in Local Network Control Block | ||
Multicast IP that in [Local Network Control Block](https://www.iana.org/assignments/multicast-addresses/multicast-addresses.xhtml#multicast-addresses-1)(224.0.0.0/24) should work only in encap mode. Multicast traffic destined for that IPs are not expected to be forward, therefore, no multicast route will be configured, and external hosts are not working either. | ||
|
||
### Linux kernel |
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.
new line missing
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.
updated
docs/multicast-guide.md
Outdated
Multicast IP that in [Local Network Control Block](https://www.iana.org/assignments/multicast-addresses/multicast-addresses.xhtml#multicast-addresses-1)(224.0.0.0/24) should work only in encap mode. Multicast traffic destined for that IPs are not expected to be forward, therefore, no multicast route will be configured, and external hosts are not working either. | ||
|
||
### Linux kernel | ||
You may find some traffic is not routed if the Node environment meets the following specifications: |
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.
ditto
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.
updated
docs/multicast-guide.md
Outdated
You may find some traffic is not routed if the Node environment meets the following specifications: | ||
1. Node kernel version under 5.4 | ||
2. Node network doesn't support IGMP snooping | ||
3. Lots of multicast traffic with group IPs that won't be received by the Node(not Pod has not joined that group in that Node) |
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.
3. Lots of multicast traffic with group IPs that won't be received by the Node(not Pod has not joined that group in that Node) | |
3. Lots of multicast traffic with group IPs that won't be received by the Node (not Pod has not joined that group in that Node) |
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.
updated
docs/multicast-guide.md
Outdated
2. Node network doesn't support IGMP snooping | ||
3. Lots of multicast traffic with group IPs that won't be received by the Node(not Pod has not joined that group in that Node) | ||
|
||
### Encap mode |
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.
ditto
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.
updated
docs/multicast-guide.md
Outdated
3. Lots of multicast traffic with group IPs that won't be received by the Node(not Pod has not joined that group in that Node) | ||
|
||
### Encap mode | ||
In encap mode, Multicast packets sent from Pod cannot be forwarded to more than one network interface on the host. Therefore Pods to external hosts multicast is not supported in encap mode. |
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.
Multicast -> multicast
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.
updated
docs/antctl.md
Outdated
|
||
### Multicast commands | ||
|
||
The `antctl get podmulticaststats [NAME] [-n NAMESPACE]` command can print inbound and outbound multicast statistics for each Pod. Note that IGMP packets are not counted. |
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.
NAME -> POD_NAME
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.
updated
942b96a
to
e7ce5f9
Compare
docs/multicast-guide.md
Outdated
## Use case example | ||
|
||
In this section, we will show how multicast video steaming works in | ||
Antrea using [VLC](https://www.videolan.org/vlc/). |
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.
Probably introduce VLC in a separate sentence. "[VLC] is used for the video streaming server.".
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.
updated
docs/multicast-guide.md
Outdated
|
||
## Prerequisites | ||
|
||
`Multicast` is introduced in v1.5 as an alpha feature. The feature gate |
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.
in Antrea v1.5.0.
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.
updated
docs/multicast-guide.md
Outdated
|
||
1. Node kernel version under 5.4 | ||
2. Node network doesn't support IGMP snooping | ||
3. Lots of multicast traffic with group IPs that won't be received by the Node |
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.
I do not understand this sentence. Could you rephrase?
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.
updated. This limitation can be detailed described by
busy networks with lots of unresolved
multicast routing entries, the creation of new multicast group routes
can be extremely slow and unreliable.
and resolved in this commit in Linux kernel torvalds/linux@0079ad8
docs/multicast-guide.md
Outdated
|
||
### Encap mode | ||
|
||
In encap mode, multicast packets sent from Pod cannot be forwarded to more than one |
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.
from a local Pod
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.
updated
docs/multicast-guide.md
Outdated
### Encap mode | ||
|
||
In encap mode, multicast packets sent from Pod cannot be forwarded to more than one | ||
network interface on the host. Therefore Pods to external hosts multicast is not supported |
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.
interfaces
on the Node
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.
We should talk about the issue first. So, move "Multicast traffic from Pods to external hosts is not supported in encap mode" to be the first sentence.
I feel we can remove the reason sentence, but if you want to keep it" "This is because ..."
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.
updated. Reason sentence removed.
cae1411
to
a34661d
Compare
docs/multicast-guide.md
Outdated
|
||
## Use case example | ||
|
||
[VLC](https://www.videolan.org/vlc/) is an open source multimedia player, it can be used for video streaming. |
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.
I think we can remove the company information if Antrea is not officially claimed to being or used to be used by the peer?
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.
I would not talk about VLC in the first paragraph, which is just a minor thing as a tool we used in the example.
How about:
This section will take multicast video streaming as an example to demonstrate how multicast works with Antrea. In this example, VLC multimedia tools are used to generate and consume multicast video streams.
docs/multicast-guide.md
Outdated
|
||
### Encap mode | ||
|
||
Multicast traffic from Pods to external hosts is not supported in encap mode. |
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.
We should support Pod-to-external multicast traffic in encap mode. The only limitation is we do not support multiple multicast interfaces on the Node, and the packet is SNATed with Node's IP after it leaves the Node with encap mode.
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.
@wenyingd : please provide a correct description in your mind.
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.
I would like to use this description with encap mode,
The Pod-to-external multicast traffic leaves Node from the network interface which the default route is configured on, and the packet is SNATed. Configuration `multicastInterfaces` is not supported with encap mode.
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.
How about
Configuration `multicastInterfaces` is not supported with encap mode. Multicast packets in encap mode are SNATed and forwarded to transport interface only.
docs/multicast-guide.md
Outdated
|
||
## Use case example | ||
|
||
[VLC](https://www.videolan.org/vlc/) is an open source multimedia player, it can be used for video streaming. |
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.
I would not talk about VLC in the first paragraph, which is just a minor thing as a tool we used in the example.
How about:
This section will take multicast video streaming as an example to demonstrate how multicast works with Antrea. In this example, VLC multimedia tools are used to generate and consume multicast video streams.
docs/multicast-guide.md
Outdated
2. IGMP ingress rules: applied to IGMP query, which includes IGMPv1, IGMPv2, and IGMPv3. | ||
3. Multicast egress rules: applied to non-IGMP multicast traffic from the selected Pods to other Pods or external hosts. | ||
|
||
Note: multicast ingress rules are currently not supported. |
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.
"are not supported at the moment"
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.
Maybe Note:
-> Note,
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.
updated
docs/multicast-guide.md
Outdated
|
||
### Multicast NetworkPolicy statistics | ||
|
||
[The Antrea NetworkPolicyStats feature](feature-gates.md#networkpolicystats) also applies to multicast NetworkPolices. |
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.
applies to -> supports
docs/multicast-guide.md
Outdated
|
||
### Multicast NetworkPolicy statistics | ||
|
||
[The Antrea NetworkPolicyStats feature](feature-gates.md#networkpolicystats) also applies to multicast NetworkPolices. |
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.
Nit: maybe move The
out of the link.
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.
updated
docs/multicast-guide.md
Outdated
|
||
Multicast IPs in [Local Network Control Block](https://www.iana.org/assignments/multicast-addresses/multicast-addresses.xhtml#multicast-addresses-1) (224.0.0.0/24) | ||
should work only in Antrea encap mode. Multicast traffic destined for those addresses | ||
are not expected to be forwarded, therefore, no multicast route will be configured for them. |
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.
are -> is
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.
updated
docs/multicast-guide.md
Outdated
### Linux kernel | ||
|
||
If the following situations apply to your Nodes, you may observe multicast traffic | ||
not routed correctly: |
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.
is not
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.
updated
docs/multicast-guide.md
Outdated
|
||
1. Node kernel version under 5.4 | ||
2. Node network doesn't support IGMP snooping | ||
3. Lots of inbound multicast traffic with groups that are not joined by the Pods on the local Node |
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.
busy networks with lots of unresolved
multicast routing entries, the creation of new multicast group routes
can be extremely slow and unreliable.
Here, routing entries are on the K8s Nodes, or some underlay switch/router? In any case, I feel no need to mention this one. It is a general issue with multicast. Listing it here without enough context can be misleading.
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.
Updated.I mean on the k8s Nodes. Remove this line.
docs/multicast-guide.md
Outdated
|
||
### Encap mode | ||
|
||
Multicast traffic from Pods to external hosts is not supported in encap mode. |
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.
@wenyingd : please provide a correct description in your mind.
17deb8b
to
8912a71
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.
Two more nits.
docs/multicast-guide.md
Outdated
### Encap mode | ||
|
||
Configuration `multicastInterfaces` is not supported with encap mode. | ||
Multicast packets in encap mode are SNATed and forwarded to transport interface only. |
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.
to the transport interface
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.
updated
docs/multicast-guide.md
Outdated
|
||
### Encap mode | ||
|
||
Configuration `multicastInterfaces` is not supported with encap mode. |
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.
Configuration option
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.
updated
8912a71
to
4cf0c3b
Compare
I tested and changed the vlc command in the example a bit
|
docs/antctl.md
Outdated
antctl get podmulticaststats | ||
|
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.
Prepend $
to command to differentiate command and output like other examples:
antctl get podmulticaststats | |
$ antctl get podmulticaststats |
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.
updated
docs/multicast-guide.md
Outdated
Example output of the command: | ||
|
||
```bash | ||
kubectl get multicastgroups |
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.
kubectl get multicastgroups | |
$ kubectl get multicastgroups |
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.
updated
docs/multicast-guide.md
Outdated
|
||
```bash | ||
ip mroute | ||
(pod-ip, 239.255.12.42) Iif: antrea-gw0 Oifs: transport interfaces State: resolved |
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.
(pod-ip, 239.255.12.42) Iif: antrea-gw0 Oifs: transport interfaces State: resolved | |
(<POD IP>, 239.255.12.42) Iif: antrea-gw0 Oifs: <TRANSPORT INTERFACES> State: resolved |
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.
updated
docs/multicast-guide.md
Outdated
the Antrea gateway interface to the transport interface. | ||
|
||
```bash | ||
ip mroute |
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.
ip mroute | |
$ ip mroute |
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.
update
docs/multicast-guide.md
Outdated
### Traffic in local network control block | ||
|
||
Multicast IPs in [Local Network Control Block](https://www.iana.org/assignments/multicast-addresses/multicast-addresses.xhtml#multicast-addresses-1) (224.0.0.0/24) | ||
should work only in Antrea encap mode. Multicast traffic destined for those addresses |
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.
should work only in Antrea encap mode? I feel it's "can only work in encap mode". @jianjuns
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.
I don't understand your point here. Could you explain more?
Basically we has tested some simple cases for MDNS(224.0.0.251) and it works as expected in encap mode. The other multicast service running in 224.0.0.0/24 are not tested comprehensively, therefore may not work as expected.
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.
@tnqn means changing "should" to "can". I agree "can" sounds better here.
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.
updated. Thanks
4cf0c3b
to
9f5d704
Compare
Signed-off-by: ceclinux <src655@gmail.com>
9f5d704
to
47c1353
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
/skip-all |
Signed-off-by: ceclinux <src655@gmail.com>
Signed-off-by: ceclinux src655@gmail.com