<!--
  ~ Copyright 2016-present Open Networking Laboratory
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the License.
  ~ You may obtain a copy of the License at
  ~
  ~     http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  -->
<scenario name="net-single-to-multi-intent"
          description="Network single point to multi point intent connectivity test">
    <!-- TODO: parametrize this via recipes -->
    <group name="S2M-Intent-Connectivity">

        <!-- Create a single point to three points intent -->
        <step name="S2M-Intent.Create-Intent-forward"
              exec="onos-create-intent ${OC1} forward single-to-multi of:0000000000000011/1 of:0000000000000014/1 of:0000000000000002/1 of:000000000000000E/1"/>

        <!-- Create back links from the 3 points back to the source -->
        <step name="S2M-Intent.Create-Intent-back1" requires="^"
              exec="onos-create-intent ${OC1} back1 point of:0000000000000014/1 of:0000000000000011/1"/>
        <step name="S2M-Intent.Create-Intent-back2" requires="^"
              exec="onos-create-intent ${OC1} back2 point of:0000000000000002/1 of:0000000000000011/1"/>
        <step name="S2M-Intent.Create-Intent-back3" requires="^"
              exec="onos-create-intent ${OC1} back3 point of:000000000000000E/1 of:0000000000000011/1"/>

        <!-- Make sure intents installed properly -->
        <step name="S2M-Intent.Validate-Intent-forward-Installed" requires="^"
              exec="onos-check-intent ${OC1} forward INSTALLED"/>
        <step name="S2M-Intent.Validate-Intent-back1-Installed" requires="^"
              exec="onos-check-intent ${OC1} back1 INSTALLED"/>
        <step name="S2M-Intent.Validate-Intent-back2-Installed" requires="^"
              exec="onos-check-intent ${OC1} back2 INSTALLED"/>
        <step name="S2M-Intent.Validate-Intent-back3-Installed" requires="^"
              exec="onos-check-intent ${OC1} back3 INSTALLED"/>

        <!-- Check the connectivity of the 11 <-> 14 intent -->
        <step name="S2M-Intent.Ping-1-forward"
              exec="onos-mininet sendAndExpect h17 ping -c1 h20 --expect \ 0% packet loss" requires="^" />
        <step name="S2M-Intent.Ping-1-back"
              exec="onos-mininet sendAndExpect h20 ping -c1 h17 --expect \ 0% packet loss" requires="^" />

        <!-- Check the connectivity of the 11 <-> 2 intent -->
        <step name="S2M-Intent.Ping-2-forward"
              exec="onos-mininet sendAndExpect h17 ping -c1 h2 --expect \ 0% packet loss" requires="^" />
        <step name="S2M-Intent.Ping-2-back"
              exec="onos-mininet sendAndExpect h2 ping -c1 h17 --expect \ 0% packet loss" requires="^" />

        <!-- Check the connectivity of the 11 <-> E intent -->
        <step name="S2M-Intent.Ping-3-forward"
              exec="onos-mininet sendAndExpect h17 ping -c1 h14 --expect \ 0% packet loss" requires="^" />
        <step name="S2M-Intent.Ping-3-back"
              exec="onos-mininet sendAndExpect h14 ping -c1 h17 --expect \ 0% packet loss" requires="^" />

        <!-- Clean up intents -->
        <step name="S2M-Intent.Remove-Intent-forward" requires="~S2M-Intent.Ping-3-back"
              exec="onos -f ${OC1} remove-intent -p org.onosproject.cli forward"/>
        <step name="S2M-Intent.Remove-Intent-back1" requires="~S2M-Intent.Ping-3-back"
              exec="onos -f ${OC1} remove-intent -p org.onosproject.cli back1"/>
        <step name="S2M-Intent.Remove-Intent-back2" requires="~S2M-Intent.Ping-3-back"
              exec="onos -f ${OC1} remove-intent -p org.onosproject.cli back2"/>
        <step name="S2M-Intent.Remove-Intent-back3" requires="~S2M-Intent.Ping-3-back"
              exec="onos -f ${OC1} remove-intent -p org.onosproject.cli back3"/>
    </group>
</scenario>
