-
Notifications
You must be signed in to change notification settings - Fork 374
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
[Multicast] support encap mode #3947
Conversation
5ac8704
to
aa4797a
Compare
Codecov Report
@@ Coverage Diff @@
## main #3947 +/- ##
==========================================
+ Coverage 63.93% 64.56% +0.62%
==========================================
Files 292 296 +4
Lines 43671 44964 +1293
==========================================
+ Hits 27922 29029 +1107
- Misses 13492 13649 +157
- Partials 2257 2286 +29
*This pull request uses carry forward flags. Click here to find out more.
|
5d3fd03
to
4341561
Compare
/test-multicast-e2e |
eType eventType | ||
time time.Time | ||
iface *interfacestore.InterfaceConfig | ||
sender net.IP |
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.
does sender mean a sender in multicast group? what if there are multiple senders?
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.
No it means the source Node who sends IGMP report. I rename it as "srcNode". It is used only with encap mode.
8af2d87
to
c5e37e7
Compare
/test-all |
/test-e2e |
f20e550
to
9d66c05
Compare
60de85e
to
70ade2b
Compare
/test-all |
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 except the issue in e2e test
70ade2b
to
5106617
Compare
/test-all |
5106617
to
cc4dbbe
Compare
/test-all |
cc4dbbe
to
de86ae4
Compare
/test-all |
/test-multicast-e2e |
1 similar comment
/test-multicast-e2e |
/test-e2e |
test/e2e/multicast_test.go
Outdated
func runTestMulticastBetweenPods(t *testing.T, data *TestData, mc multicastTestcase, nodeMulticastInterfaces map[int][]string, checkReceiverRoute bool) { | ||
currentEncapMode, _ := data.GetEncapMode() | ||
if requiresExternalHostSupport(mc) && currentEncapMode == config.TrafficEncapModeEncap { | ||
t.Logf("Multicast does not support using hostNetwork Pod to simulate the external host with encap mode, skip the case") |
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.
Use t.Skip
, then the subtest will be marked as "Skip" instead of "Pass"
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.
1, Use a single routine to send local multicast groups in an IGMP v3 Report message to notify all the other Nodes in the cluster 2. Multicast controller maintains both local Pod members and remote Nodes which has Pod members for each multicast group found in the cluster 3. Add remote Node members in the OpenFlow group buckets. 4. Agent drops the duplicated multicast packet received from underlay by - adding iptables rules in raw table antreaPreRouting chain to drop multicast packets sent from other Nodes, because the Pod multicast traffic is received from tunnel with encap mode. - adding an ipset to maintain IPs of other Nodes in the cluster, which is used as source in the iptables rule. Signed-off-by: wenyingd <[email protected]>
de86ae4
to
f77042b
Compare
/test-all |
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
1, Use a single routine to send local multicast groups in an IGMP v3 Report message to notify all the other Nodes in the cluster 2. Multicast controller maintains both local Pod members and remote Nodes which has Pod members for each multicast group found in the cluster 3. Add remote Node members in the OpenFlow group buckets. 4. Agent drops the duplicated multicast packet received from underlay by - adding iptables rules in raw table antreaPreRouting chain to drop multicast packets sent from other Nodes, because the Pod multicast traffic is received from tunnel with encap mode. - adding an ipset to maintain IPs of other Nodes in the cluster, which is used as source in the iptables rule. Signed-off-by: wenyingd <[email protected]>
Report message to notify all the other Nodes in the cluster
Nodes which have Pod members for each multicast group found in the
cluster
Signed-off-by: wenyingd [email protected]