<!--
  ~ 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:s204 1 device: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:s204'"/>
            <step name="Net-Trellis-P4-Links.Validate-204-226-Link-1-Dst-Device" requires="^"
                  exec="test '${link_204_226_1_DstDevice}' == 'device: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:s226 1 device: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:s226'"/>
            <step name="Net-Trellis-P4-Links.Validate-226-204-Link-2-Dst-Device" requires="^"
                  exec="test '${link_226_204_2_DstDevice}' == 'device: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:s205 2 device: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:s205'"/>
            <step name="Net-Trellis-P4-Links.Validate-205-227-Link-1-Dst-Device" requires="^"
                  exec="test '${link_205_227_1_DstDevice}' == 'device: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:s227 2 device: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:s227'"/>
            <step name="Net-Trellis-P4-Links.Validate-227-205-Link-2-Dst-Device" requires="^"
                  exec="test '${link_227_205_2_DstDevice}' == 'device: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>
