This feature is available in ONOS 1.11.1

The IPv6 multicast routes are maintained in ONOS in the multicast route-table. This table can be programmed using the REST-API or CLI. 

The REST API requires the multicast route, multicast ingress Connect Point (device ID and port of the source device), and the multicast sinks (egress connect points.)

Use the following request URL to configure the multicast route and multicast ingress Connect Point.

 Request URL: http://localhost:8181/onos/v1/mcast

EXAMPLE JSON FILE”

{
  "source": "2001:db8:1::1",
  "group": "ff08::101",
  "ingress": "of:0000000000000001/3"
}

 

Use the following request URL to configure the sinks for the multicast connection

  Request URL: http://localhost:8181/onos/v1/mcast/sinks/<multicast group IP>/<multicast source IP>

EXAMPLE JSON FILE:

{
  "sinks": [
    "of:0000000000000001/1",
    "of:0000000000000001/2"
  ]
}

 

The CLI interface is comparable to the REST API with 3 commands for multicast administration.

  1.  mcast-join     
    To create the equivalent of the multicast routes in CLI use the “mcast-join” command.
    Onos > mcast-join 2001:db8:1::1 ff08::101 of:0000000000000001/3  of:0000000000000002/4
  2.  mcast-show
    To show the multicast routes provisioned
    onos> mcast-show
    route=McastRoute{source=2001:db8:1::1, group=ff08::101, origin=STATIC}, source=of:0000000000000001/3, sinks=[of:0000000000000002/4]
  3. mcast-delete  
    To delete the multicast route 
    onos > mcast-delete 2001:db8:3::2 ff08::101 of:0000000000000002/4

 

When changes are made to the Multicast RIB in ONOS via the REST API or CLI, notifications are sent out to all listeners. The 'segmentrouting' app, which programs the fabric, listens to these changes and creates the multicast tree for individual multicast groups.

The  'segmentrouting' app needs to know the vlan-ids to use at ingress (multicast-source) and egress (multicast-sinks). If not configured, both ingressVlan and egressVlan default to None (untagged). We  currently do not support ingress/egress vlan configurations for individual multicast groups ie. all trees will be programmed with the same ingress/egress vlans.

"apps": {
  "org.onosproject.core": {
    "multicast": {
      "ingressVlan": "400",
      "egressVlan": "None"
    }
  }
}

line 4: Expected VLAN of the multicast traffic coming from to upstream router or any other multicast source.
line 5: VLAN of the multicast traffic going to downstream multicast sinks.