You can use multicast on your Single Root I/O Virtualization (SR-IOV) hardware network.

High performance multicast

The OpenShift SDN network plugin supports multicast between pods on the default network. This is best used for low-bandwidth coordination or service discovery, and not high-bandwidth applications. For applications such as streaming media, like Internet Protocol television (IPTV) and multipoint videoconferencing, you can utilize Single Root I/O Virtualization (SR-IOV) hardware to provide near-native performance.

When using additional SR-IOV interfaces for multicast:

  • Multicast packages must be sent or received by a pod through the additional SR-IOV interface.

  • The physical network which connects the SR-IOV interfaces decides the multicast routing and topology, which is not controlled by OpenShift Container Platform.

Configuring an SR-IOV interface for multicast

The follow procedure creates an example SR-IOV interface for multicast.

  • Install the OpenShift CLI (oc).

  • You must log in to the cluster with a user that has the cluster-admin role.

  1. Create a SriovNetworkNodePolicy object:

    apiVersion: sriovnetwork.openshift.io/v1
    kind: SriovNetworkNodePolicy
      name: policy-example
      namespace: openshift-sriov-network-operator
      resourceName: example
        feature.node.kubernetes.io/network-sriov.capable: "true"
      numVfs: 4
        vendor: "8086"
        pfNames: ['ens803f0']
        rootDevices: ['0000:86:00.0']
  2. Create a SriovNetwork object:

    apiVersion: sriovnetwork.openshift.io/v1
    kind: SriovNetwork
      name: net-example
      namespace: openshift-sriov-network-operator
      networkNamespace: default
      ipam: | (1)
          "type": "host-local", (1)
          "subnet": "",
          "rangeStart": "",
          "rangeEnd": "",
          "routes": [
            {"dst": ""},
            {"dst": ""}
          "gateway": ""
      resourceName: example
    1 If you choose to configure DHCP as IPAM, ensure that you provision the following default routes through your DHCP server: and This is to override the static multicast route set by the default network provider.
  3. Create a pod with multicast application:

    apiVersion: v1
    kind: Pod
      name: testpmd
      namespace: default
        k8s.v1.cni.cncf.io/networks: nic1
      - name: example
        image: rhel7:latest
            add: ["NET_ADMIN"] (1)
        command: [ "sleep", "infinity"]
    1 The NET_ADMIN capability is required only if your application needs to assign the multicast IP address to the SR-IOV interface. Otherwise, it can be omitted.