kubeovn / kube-ovn

A Bridge between SDN and Cloud Native (Project under CNCF)
https://kubeovn.github.io/docs/stable/en/
Apache License 2.0
1.92k stars 436 forks source link

[BUG] v.1.12.16没有enableMulticastSnoop #4087

Closed tghfly closed 3 months ago

tghfly commented 3 months ago

Kube-OVN Version

v.1.12.16

Kubernetes Version

v.1.27.6

Operation-system/Kernel Version

centos8.4 kernel-5.4.235

Description

v.1.12.x的subnet没有enableMulticastSnoop,crd和源码都没有该属性,v1.9.x有

Steps To Reproduce

v.1.12.x的subnet没有enableMulticastSnoop,crd和源码都没有该属性,v1.9.x有

Current Behavior

v.1.12.x的subnet没有enableMulticastSnoop,crd和源码都没有该属性,v1.9.x有

Expected Behavior

v.1.12.x的subnet应该要有enableMulticastSnoop

tghfly commented 3 months ago

另外,kube-ovn是否支持 同vpc下的不同子网是否可以启用组播,目前测试同vpc不同子网默认无法使用组播,应该如何开启,vpc上是否有开关能开启不同子网的组播能力?

changluyi commented 3 months ago

可能之前代码没有同步过来,这个我有时间加上。

您的意思是vpc 不同子网,开启了enableMulticastSnoop后,组播报文不能跨子网么?

tghfly commented 3 months ago

目前用的版本是:v.1.12.16,没有enableMulticastSnoop功能。用该版本测试同一子网内组播、同VPC下不同子网组播 结果是:同一个子网内2个pods(10.0.1.2和10.0.1.3)之间组播正常;同一VPC下不同子网之间pods(10.0.1.2和10.0.2.2)无法使用组播。有没有ovs相关的操作命令,能够直接在自定义的vpc上就能开启组播的。

changluyi commented 3 months ago

有 , 你可以参考这个 kubectl ko nbctl set logical_switch {uuid} other_config:mcast_snoop="true" kubectl ko nbctl set logical_switch {uuid} other_config:mcast_querier="false"

如果要开启mcast_querier的话可以手动给参考如下

kubectl ko nbctl set logical_switch {uuid} other_config:mcast_snoop="true" kubectl ko nbctl set logical_switch {uuid} other_config:mcast_querier="true" kubectl ko nbctl set logical_switch {subnet_name} other_config:mcast_snoop=true other_config:mcast_querier=true other_config:mcast_ip4_src="10.16.0.1" other_config:mcast_eth_src="00:00:00:ac:4e:5d"

mcast_ip4_src 和 mcast_eth_src 是overlay网关的ip 和mac

changluyi commented 3 months ago

https://github.com/kubeovn/kube-ovn/pull/4105