<!--
  ~ Copyright 2018-present Open Networking Foundation
  ~
  ~ 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-trellis-p4-links" description="Trellis P4 network link check steps">

        <group name="Net-Trellis-P4-Links">
            <!-- Verify some links using the REST API -->

            <!-- Bi-Directional link between s204 and s226 -->
            <!-- Link 1 -->
            <step name="Net-Trellis-P4-Links.Query-204-226-Link-1"
                  exec="find-link.py ${OC1} link_204_226_1_ device:bmv2:s204 1 device:bmv2:s226 1"/>
            <step name="Net-Trellis-P4-Links.Validate-204-226-Link-1-State" requires="^"
                  exec="test '${link_204_226_1_State}' == 'ACTIVE'"/>
            <step name="Net-Trellis-P4-Links.Validate-204-226-Link-1-Type" requires="^"
                  exec="test '${link_204_226_1_Type}' == 'DIRECT'"/>
            <step name="Net-Trellis-P4-Links.Validate-204-226-Link-1-Src-Device" requires="^"
                  exec="test '${link_204_226_1_SrcDevice}' == 'device:bmv2:s204'"/>
            <step name="Net-Trellis-P4-Links.Validate-204-226-Link-1-Dst-Device" requires="^"
                  exec="test '${link_204_226_1_DstDevice}' == 'device:bmv2:s226'"/>
            <step name="Net-Trellis-P4-Links.Validate-204-226-Link-1-Src-Port" requires="^"
                  exec="test '${link_204_226_1_SrcPort}' == '1'"/>
            <step name="Net-Trellis-P4-Links.Validate-204-226-Link-1-Dst-Port" requires="^"
                  exec="test '${link_204_226_1_DstPort}' == '1'"/>

            <step name="Net-Trellis-P4-Links.Query-226-204-Link-2"
                  exec="find-link.py ${OC1} link_226_204_2_ device:bmv2:s226 1 device:bmv2:s204 1"/>
            <step name="Net-Trellis-P4-Links.Validate-226-204-Link-2-State" requires="^"
                  exec="test '${link_226_204_2_State}' == 'ACTIVE'"/>
            <step name="Net-Trellis-P4-Links.Validate-226-204-Link-2-Type" requires="^"
                  exec="test '${link_226_204_2_Type}' == 'DIRECT'"/>
            <step name="Net-Trellis-P4-Links.Validate-226-204-Link-2-Src-Device" requires="^"
                  exec="test '${link_226_204_2_SrcDevice}' == 'device:bmv2:s226'"/>
            <step name="Net-Trellis-P4-Links.Validate-226-204-Link-2-Dst-Device" requires="^"
                  exec="test '${link_226_204_2_DstDevice}' == 'device:bmv2:s204'"/>
            <step name="Net-Trellis-P4-Links.Validate-226-204-Link-2-Src-Port" requires="^"
                  exec="test '${link_226_204_2_SrcPort}' == '1'"/>
            <step name="Net-Trellis-P4-Links.Validate-226-204-Link-2-Dst-Port" requires="^"
                  exec="test '${link_226_204_2_DstPort}' == '1'"/>

            <!-- Bi-Directional link between s205 and s227 -->
            <!-- Link 1 -->
            <step name="Net-Trellis-P4-Links.Query-205-227-Link-1"
                  exec="find-link.py ${OC1} link_205_227_1_ device:bmv2:s205 2 device:bmv2:s227 2"/>
            <step name="Net-Trellis-P4-Links.Validate-205-227-Link-1-State" requires="^"
                  exec="test '${link_205_227_1_State}' == 'ACTIVE'"/>
            <step name="Net-Trellis-P4-Links.Validate-205-227-Link-1-Type" requires="^"
                  exec="test '${link_205_227_1_Type}' == 'DIRECT'"/>
            <step name="Net-Trellis-P4-Links.Validate-205-227-Link-1-Src-Device" requires="^"
                  exec="test '${link_205_227_1_SrcDevice}' == 'device:bmv2:s205'"/>
            <step name="Net-Trellis-P4-Links.Validate-205-227-Link-1-Dst-Device" requires="^"
                  exec="test '${link_205_227_1_DstDevice}' == 'device:bmv2:s227'"/>
            <step name="Net-Trellis-P4-Links.Validate-205-227-Link-1-Src-Port" requires="^"
                  exec="test '${link_205_227_1_SrcPort}' == '2'"/>
            <step name="Net-Trellis-P4-Links.Validate-205-227-Link-1-Dst-Port" requires="^"
                  exec="test '${link_205_227_1_DstPort}' == '2'"/>

            <step name="Net-Trellis-P4-Links.Query-227-205-Link-2"
                  exec="find-link.py ${OC1} link_227_205_2_ device:bmv2:s227 2 device:bmv2:s205 2"/>
            <step name="Net-Trellis-P4-Links.Validate-227-205-Link-2-State" requires="^"
                  exec="test '${link_227_205_2_State}' == 'ACTIVE'"/>
            <step name="Net-Trellis-P4-Links.Validate-227-205-Link-2-Type" requires="^"
                  exec="test '${link_227_205_2_Type}' == 'DIRECT'"/>
            <step name="Net-Trellis-P4-Links.Validate-227-205-Link-2-Src-Device" requires="^"
                  exec="test '${link_227_205_2_SrcDevice}' == 'device:bmv2:s227'"/>
            <step name="Net-Trellis-P4-Links.Validate-227-205-Link-2-Dst-Device" requires="^"
                  exec="test '${link_227_205_2_DstDevice}' == 'device:bmv2:s205'"/>
            <step name="Net-Trellis-P4-Links.Validate-227-205-Link-2-Src-Port" requires="^"
                  exec="test '${link_227_205_2_SrcPort}' == '2'"/>
            <step name="Net-Trellis-P4-Links.Validate-227-205-Link-2-Dst-Port" requires="^"
                  exec="test '${link_227_205_2_DstPort}' == '2'"/>

        </group>

</scenario>
