diff --git a/docs/en/networking/functions/configure_subnet.mdx b/docs/en/networking/functions/configure_subnet.mdx index dda1fb20..546d31ef 100644 --- a/docs/en/networking/functions/configure_subnet.mdx +++ b/docs/en/networking/functions/configure_subnet.mdx @@ -362,6 +362,8 @@ kubectl apply -f test-underlay-network.yaml When both Underlay and Overlay subnets exist in a cluster, you can configure the [Automatic Intercommunication Between Underlay and Overlay Subnets](../how_to/kube_ovn/underlay_overlay_st.mdx) as needed. +If workloads in an Underlay subnet require IPv4 multicast communication, see [Configure IPv4 Multicast for Kube-OVN Underlay Networks](../how_to/kube_ovn/configure_underlay_multicast.mdx). + ## Subnet Management ### Updating Gateway by using the web console diff --git a/docs/en/networking/how_to/kube_ovn/configure_underlay_multicast.mdx b/docs/en/networking/how_to/kube_ovn/configure_underlay_multicast.mdx new file mode 100644 index 00000000..cf4e6eba --- /dev/null +++ b/docs/en/networking/how_to/kube_ovn/configure_underlay_multicast.mdx @@ -0,0 +1,61 @@ +--- +weight: 21 +--- + +# Configure IPv4 Multicast for Kube-OVN Underlay Networks + +This guide describes how to enable IPv4 multicast communication for workloads in a Kube-OVN Underlay subnet. After multicast snooping is enabled for a subnet, Kube-OVN configures multicast snooping and a multicast querier on the corresponding OVN logical switch. + +This configuration applies to each subnet independently. It does not configure multicast routing between different Layer 3 networks or configure vendor-specific physical switches. + +## Before You Begin + +Make sure the following conditions are met: + +- **ACP version**: 4.2 +- The target subnet is a Kube-OVN Underlay subnet with `spec.protocol` set to `IPv4`. IPv6 and dual-stack subnets are outside the scope of this guide. +- The physical network has been prepared according to [Preparing Kube-OVN Underlay Physical Network](./kubeovn_underlay_py.mdx). +- The subnet has at least one available IP address. When multicast snooping is enabled, Kube-OVN creates a multicast querier for the subnet. The querier uses one available IP address from the subnet address pool and an automatically generated MAC address. +- The physical network permits the multicast group and IGMP traffic used by the application. + +If IGMP snooping is enabled on the physical switches, work with the network administrator to verify that multicast membership can be learned on the VLAN ports connected to the cluster nodes and external receivers. The querier and IGMP snooping behavior of physical switches varies by vendor. + +## Enable Multicast Snooping + +### Using the Web Console + +1. Go to **Administrator**. + +2. From the **Cluster** drop-down list at the top, select the target cluster. + +3. In the left navigation bar, expand **Clusters**, and then click **Resources**. + +4. In the resource search box, enter **Subnet**. Expand **Correlated with Cluster**, and then select **Subnet** (`kubeovn.io`). + +5. Click the action menu (⋮) next to the target Underlay subnet, and then select **Update**. + +6. Add `enableMulticastSnoop: true` to `spec`: + + ```yaml + spec: + enableMulticastSnoop: true + ``` + +7. Click **Update**. + +Repeat these steps for every Underlay subnet that needs to carry multicast traffic. + +## View the Configuration Result + +After the update is complete, view the YAML of the target subnet in the web console and verify the following fields: + +- `spec.enableMulticastSnoop` is `true`, indicating that multicast snooping is enabled. +- `status.mcastQuerierIP` and `status.mcastQuerierMAC` have values, indicating that the multicast querier has been created. + +If the querier IP or MAC address is empty, make sure the subnet has an available IP address. + +## Disable Multicast Snooping + +In the web console, open the YAML of the target subnet, set `spec.enableMulticastSnoop` to `false`, and then click **Update**. + +After the update is complete, Kube-OVN releases the querier IP and MAC address, and `status.mcastQuerierIP` and `status.mcastQuerierMAC` become empty. diff --git a/docs/en/networking/how_to/kube_ovn/kubeovn_underlay_py.mdx b/docs/en/networking/how_to/kube_ovn/kubeovn_underlay_py.mdx index 9a749032..e05e4e13 100644 --- a/docs/en/networking/how_to/kube_ovn/kubeovn_underlay_py.mdx +++ b/docs/en/networking/how_to/kube_ovn/kubeovn_underlay_py.mdx @@ -48,6 +48,8 @@ In Underlay mode, Kube-OVN bridges a physical NIC to OVS and sends packets direc - NIC bonding modes support Mode 0 (balance-rr), Mode 1 (active-backup), Mode 4 (802.3ad), Mode 6 (balance-alb), with a recommendation to use 0 or 1. Other bonding modes have not been tested; please use them with caution. + - If workloads require IPv4 multicast communication, the physical network must permit the required IPv4 multicast groups and IGMP traffic. For configuration details, see [Configure IPv4 Multicast for Kube-OVN Underlay Networks](./configure_underlay_multicast.mdx). + - **IaaS (Virtualization) Layer Configuration Requirements** - For OpenStack VM environments, the **PortSecurity** for the corresponding network port needs to be disabled.