Add fabric tosca file to connect Cavium

Change-Id: I1471d5b2645594f19652b1777cd0c24f8c2b018c
diff --git a/tosca-configs/mcord/mcord-local-cluster-fabric-cavium.yaml b/tosca-configs/mcord/mcord-local-cluster-fabric-cavium.yaml
new file mode 100644
index 0000000..521baab
--- /dev/null
+++ b/tosca-configs/mcord/mcord-local-cluster-fabric-cavium.yaml
@@ -0,0 +1,291 @@
+# Copyright 2017-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.
+
+# curl -H "xos-username: admin@opencord.org" -H "xos-password: letmein" -X POST --data-binary @mcord-barcelona-fabric.yaml http://192.168.69.1:30007/run
+
+tosca_definitions_version: tosca_simple_yaml_1_0
+imports:
+  - custom_types/switch.yaml
+  - custom_types/switchport.yaml
+  - custom_types/portinterface.yaml
+  - custom_types/fabricipaddress.yaml
+  - custom_types/site.yaml
+  - custom_types/node.yaml
+  - custom_types/vrouterservice.yaml
+  - custom_types/vrouterserviceinstance.yaml
+
+description: Configures the ONF COMAC POD with Cavium
+
+topology_template:
+  node_templates:
+
+    # Site deployment
+    mySite:
+      type: tosca.nodes.Site
+      properties:
+        name: mysite
+        login_base: opencord
+        abbreviated_name: ms
+        site_url: http://opencord.org/
+        hosts_nodes: true
+
+    # compute nodes
+    node#node1:
+      type: tosca.nodes.Node
+      properties:
+        dataPlaneIntf: eth2
+        dataPlaneIp: 118.0.0.101
+        name: node1
+
+    node#node2:
+      type: tosca.nodes.Node
+      properties:
+        dataPlaneIntf: eth2
+        dataPlaneIp: 118.0.0.102
+        name: node2
+
+    node#node3:
+      type: tosca.nodes.Node
+      properties:
+        dataPlaneIntf: eth2
+        dataPlaneIp: 118.0.0.103
+        name: node3
+
+    # static routes
+    service#vrouter:
+      type: tosca.nodes.VRouterService
+      properties:
+        name: vrouter
+        must-exist: true
+
+    vroutersi#calico:
+      type: tosca.nodes.VRouterServiceInstance
+      properties:
+        name: calico
+      requirements:
+        - owner:
+            node: service#vrouter
+            relationship: tosca.relationships.BelongsToOne
+
+    # Fabric configuration
+    switch#leaf_1:
+      type: tosca.nodes.Switch
+      properties:
+        driver: ofdpa3
+        ipv4Loopback: 192.168.0.204
+        ipv4NodeSid: 214
+        isEdgeRouter: true
+        name: Agg Switch
+        ofId: of:0000000000000001
+        routerMac: 54:87:de:ad:be:ef # 48:0f:cf:ae:7e:90
+
+    # Node1 Port
+    port#node_1_port:
+      type: tosca.nodes.SwitchPort
+      properties:
+        portId: 33
+      requirements:
+        - switch:
+            node: switch#leaf_1
+            relationship: tosca.relationships.BelongsToOne
+
+    interface#port_1_interface:
+      type: tosca.nodes.PortInterface
+      properties:
+        vlanUntagged: 20
+        name: node_1
+      requirements:
+        - port:
+            node: port#node_1_port
+            relationship: tosca.relationships.BelongsToOne
+
+    ip#port_1_sgi_net:
+      type: tosca.nodes.FabricIpAddress
+      properties:
+        ip: 13.1.1.254/24
+        description: node_1_sgi_net
+      requirements:
+        - interface:
+            node: interface#port_1_interface
+            relationship: tosca.relationships.BelongsToOne
+
+    ip#port_1_s1u_net:
+      type: tosca.nodes.FabricIpAddress
+      properties:
+        ip: 119.0.0.254/24
+        description: node_1_s1u_net
+      requirements:
+        - interface:
+            node: interface#port_1_interface
+            relationship: tosca.relationships.BelongsToOne
+
+    ip#port_1_rru_net:
+      type: tosca.nodes.FabricIpAddress
+      properties:
+        ip: 118.0.0.254/24
+        description: node_1_rru_net
+      requirements:
+        - interface:
+            node: interface#port_1_interface
+            relationship: tosca.relationships.BelongsToOne
+
+    # Node2 Port
+    port#node_2_port:
+      type: tosca.nodes.SwitchPort
+      properties:
+        portId: 34
+      requirements:
+        - switch:
+            node: switch#leaf_1
+            relationship: tosca.relationships.BelongsToOne
+
+    interface#port_2_interface:
+      type: tosca.nodes.PortInterface
+      properties:
+        vlanUntagged: 20
+        name: node_2
+      requirements:
+        - port:
+            node: port#node_2_port
+            relationship: tosca.relationships.BelongsToOne
+
+    ip#port_2_sgi_net:
+      type: tosca.nodes.FabricIpAddress
+      properties:
+        ip: 13.1.1.254/24
+        description: node_2_sgi_net
+      requirements:
+        - interface:
+            node: interface#port_2_interface
+            relationship: tosca.relationships.BelongsToOne
+
+    ip#port_2_s1u_net:
+      type: tosca.nodes.FabricIpAddress
+      properties:
+        ip: 119.0.0.254/24
+        description: node_2_s1u_net
+      requirements:
+        - interface:
+            node: interface#port_2_interface
+            relationship: tosca.relationships.BelongsToOne
+
+    ip#port_2_rru_net:
+      type: tosca.nodes.FabricIpAddress
+      properties:
+        ip: 118.0.0.254/24
+        description: node_2_rru_net
+      requirements:
+        - interface:
+            node: interface#port_2_interface
+            relationship: tosca.relationships.BelongsToOne
+
+    # Node3 Port
+    port#node_3_port:
+      type: tosca.nodes.SwitchPort
+      properties:
+        portId: 35
+      requirements:
+        - switch:
+            node: switch#leaf_1
+            relationship: tosca.relationships.BelongsToOne
+
+    interface#port_3_interface:
+      type: tosca.nodes.PortInterface
+      properties:
+        vlanUntagged: 20
+        name: node_3
+      requirements:
+        - port:
+            node: port#node_3_port
+            relationship: tosca.relationships.BelongsToOne
+
+    ip#port_3_sgi_net:
+      type: tosca.nodes.FabricIpAddress
+      properties:
+        ip: 13.1.1.254/24
+        description: node_3_sgi_net
+      requirements:
+        - interface:
+            node: interface#port_3_interface
+            relationship: tosca.relationships.BelongsToOne
+
+    ip#port_3_s1u_net:
+      type: tosca.nodes.FabricIpAddress
+      properties:
+        ip: 119.0.0.254/24
+        description: node_3_s1u_net
+      requirements:
+        - interface:
+            node: interface#port_3_interface
+            relationship: tosca.relationships.BelongsToOne
+
+    ip#port_3_rru_net:
+      type: tosca.nodes.FabricIpAddress
+      properties:
+        ip: 118.0.0.254/24
+        description: node_3_rru_net
+      requirements:
+        - interface:
+            node: interface#port_3_interface
+            relationship: tosca.relationships.BelongsToOne
+
+    # RRU Port
+    port#rru_port:
+      type: tosca.nodes.SwitchPort
+      properties:
+        portId: 37
+      requirements:
+        - switch:
+            node: switch#leaf_1
+            relationship: tosca.relationships.BelongsToOne
+
+    interface#rru_interface:
+      type: tosca.nodes.PortInterface
+      properties:
+        vlanUntagged: 20
+        name: rru
+      requirements:
+        - port:
+            node: port#rru_port
+            relationship: tosca.relationships.BelongsToOne
+
+    ip#port_rru_sgi_net:
+      type: tosca.nodes.FabricIpAddress
+      properties:
+        ip: 13.1.1.254/24
+        description: rru_sgi_net
+      requirements:
+        - interface:
+            node: interface#rru_interface
+            relationship: tosca.relationships.BelongsToOne
+
+    ip#port_rru_s1u_net:
+      type: tosca.nodes.FabricIpAddress
+      properties:
+        ip: 119.0.0.254/24
+        description: rru_s1u_net
+      requirements:
+        - interface:
+            node: interface#rru_interface
+            relationship: tosca.relationships.BelongsToOne
+
+    ip#port_rru_net:
+      type: tosca.nodes.FabricIpAddress
+      properties:
+        ip: 118.0.0.254/24
+        description: rru_net
+      requirements:
+        - interface:
+            node: interface#rru_interface
+            relationship: tosca.relationships.BelongsToOne