MWC fabric setup

Change-Id: I312e3d280aa17ef854eb057d6a34e89dbeef0902
diff --git a/p4-pod-configs/mwc-pod/cavium-spine1.json b/p4-pod-configs/mwc-pod/cavium-spine1.json
new file mode 100644
index 0000000..c8943fa
--- /dev/null
+++ b/p4-pod-configs/mwc-pod/cavium-spine1.json
@@ -0,0 +1,41 @@
+{
+  "devices": {
+    "device:cavium:spine1": {
+      "chassisId": "000000000226",
+      "generalprovider": {
+        "p4runtime": {
+          "ip": "10.128.13.101",
+          "deviceKeyId": "p4runtime:device:cavium:spine1",
+          "port": 50051,
+          "deviceId": 1
+        }
+      },
+      "piPipeconf": {
+        "piPipeconfId": "org.onosproject.pipelines.fabric"
+      },
+      "ports": {
+        "1": {
+          "name": "s226-eth1",
+          "speed": 100000,
+          "enabled": true,
+          "number": 1,
+          "removed": false,
+          "type": "copper"
+        },
+        "2": {
+          "name": "s226-eth2",
+          "speed": 100000,
+          "enabled": true,
+          "number": 2,
+          "removed": false,
+          "type": "copper"
+        }
+      },
+      "basic": {
+        "driver": "cavium-pro",
+        "name": "spine1"
+      }
+    }
+  }
+}
+
diff --git a/p4-pod-configs/mwc-pod/cavium-spine2.json b/p4-pod-configs/mwc-pod/cavium-spine2.json
new file mode 100644
index 0000000..889c4b5
--- /dev/null
+++ b/p4-pod-configs/mwc-pod/cavium-spine2.json
@@ -0,0 +1,41 @@
+{
+  "devices": {
+    "device:cavium:spine2": {
+      "chassisId": "000000000227",
+      "generalprovider": {
+        "p4runtime": {
+          "ip": "10.128.13.102",
+          "deviceKeyId": "p4runtime:device:cavium:spine2",
+          "port": 50051,
+          "deviceId": 1
+        }
+      },
+      "piPipeconf": {
+        "piPipeconfId": "org.onosproject.pipelines.fabric.bmv2"
+      },
+      "ports": {
+        "1": {
+          "name": "s227-eth1",
+          "speed": 100000,
+          "enabled": true,
+          "number": 1,
+          "removed": false,
+          "type": "copper"
+        },
+        "2": {
+          "name": "s227-eth2",
+          "speed": 100000,
+          "enabled": true,
+          "number": 2,
+          "removed": false,
+          "type": "copper"
+        }
+      },
+      "basic": {
+        "driver": "cavium-pro",
+        "name": "spine2"
+      }
+    }
+  }
+}
+
diff --git a/p4-pod-configs/mwc-pod/mellanox-spine1.json b/p4-pod-configs/mwc-pod/mellanox-spine1.json
new file mode 100644
index 0000000..6c07b4d
--- /dev/null
+++ b/p4-pod-configs/mwc-pod/mellanox-spine1.json
@@ -0,0 +1,39 @@
+{
+  "devices": {
+    "device:mellanox:spine1": {
+      "generalprovider": {
+        "p4runtime": {
+          "ip": "10.92.0.61",
+          "deviceKeyId": "p4runtime:device:mellanox:spine1",
+          "port": 50051,
+          "deviceId": 0
+        }
+      },
+      "piPipeconf": {
+        "piPipeconfId": "org.onosproject.pipelines.fabric.bmv2"
+      },
+      "ports": {
+        "1/0": {
+          "name": "1/0",
+          "speed": 100000,
+          "enabled": true,
+          "number": 1,
+          "removed": false,
+          "type": "copper"
+        },
+        "2/0": {
+          "name": "2/0",
+          "speed": 100000,
+          "enabled": true,
+          "number": 2,
+          "removed": false,
+          "type": "copper"
+        }
+      },
+      "basic": {
+        "driver": "mellanox-pro",
+        "name": "spine1"
+      }
+    }
+  }
+}
diff --git a/p4-pod-configs/mwc-pod/mwc-demo-two-cavium.json b/p4-pod-configs/mwc-pod/mwc-demo-two-cavium.json
new file mode 100644
index 0000000..5db7aee
--- /dev/null
+++ b/p4-pod-configs/mwc-pod/mwc-demo-two-cavium.json
@@ -0,0 +1,150 @@
+{
+  "devices": {
+    "device:tofino:leaf1": {
+      "segmentrouting": {
+        "name": "leaf1",
+        "ipv4NodeSid": 204,
+        "ipv4Loopback": "192.168.0.204",
+        "ipv6NodeSid": 214,
+        "ipv6Loopback": "2000::c0a8:0204",
+        "routerMac": "00:00:00:00:02:04",
+        "isEdgeRouter": true,
+        "adjacencySids": []
+      }
+    },
+    "device:tofino:leaf2": {
+      "segmentrouting": {
+        "name": "leaf2",
+        "ipv4NodeSid": 205,
+        "ipv4Loopback": "192.168.0.205",
+        "ipv6NodeSid": 215,
+        "ipv6Loopback": "2000::c0a8:0205",
+        "routerMac": "00:00:00:00:02:05",
+        "isEdgeRouter": true,
+        "adjacencySids": []
+      }
+    },
+    "device:cavium:spine1": {
+      "segmentrouting": {
+        "name": "spine1",
+        "ipv4NodeSid": 226,
+        "ipv4Loopback": "192.168.0.226",
+        "ipv6NodeSid": 236,
+        "ipv6Loopback": "2000::c0a8:0226",
+        "routerMac": "00:00:00:00:02:26",
+        "isEdgeRouter": false,
+        "adjacencySids": []
+      }
+    },
+    "device:cavium:spine2": {
+      "segmentrouting": {
+        "name": "spine2",
+        "ipv4NodeSid": 227,
+        "ipv4Loopback": "192.168.0.227",
+        "ipv6NodeSid": 237,
+        "ipv6Loopback": "2000::c0a8:0227",
+        "routerMac": "00:00:00:00:02:27",
+        "isEdgeRouter": false,
+        "adjacencySids": []
+      }
+    }
+  },
+  "ports": {
+    "device:tofino:leaf1/144": {
+      "interfaces": [
+        {
+          "name": "leaf1-3/0",
+          "ips": [
+            "10.6.1.254/24"
+          ],
+          "vlan-untagged": 10
+        }
+      ]
+    },
+    "device:tofino:leaf1/145": {
+      "interfaces": [
+        {
+          "name": "leaf1-3/1",
+          "ips": [
+            "10.6.1.254/24"
+          ],
+          "vlan-untagged": 10
+        }
+      ]
+    },
+    "device:tofino:leaf1/146": {
+      "interfaces": [
+        {
+          "name": "leaf1-3/2",
+          "ips": [
+            "10.6.1.254/24"
+          ],
+          "vlan-untagged": 10
+        }
+      ]
+    },
+    "device:tofino:leaf1/147": {
+      "interfaces": [
+        {
+          "name": "leaf1-3/3",
+          "ips": [
+            "10.6.1.254/24"
+          ],
+          "vlan-untagged": 10
+        }
+      ]
+    },
+    "device:tofino:leaf2/144": {
+      "interfaces": [
+        {
+          "name": "leaf2-3/0",
+          "ips": [
+            "10.6.2.254/24",
+            "118.0.0.1/24",
+            "119.0.0.1/24"
+          ],
+          "vlan-untagged": 20
+        }
+      ]
+    },
+    "device:tofino:leaf2/145": {
+      "interfaces": [
+        {
+          "name": "leaf2-3/1",
+          "ips": [
+            "10.6.2.254/24",
+            "118.0.0.1/24",
+            "119.0.0.1/24"
+          ],
+          "vlan-untagged": 20
+        }
+      ]
+    },
+    "device:tofino:leaf2/146": {
+      "interfaces": [
+        {
+          "name": "leaf2-3/2",
+          "ips": [
+            "10.6.2.254/24",
+            "118.0.0.1/24",
+            "119.0.0.1/24"
+          ],
+          "vlan-untagged": 20
+        }
+      ]
+    },
+    "device:tofino:leaf2/147": {
+      "interfaces": [
+        {
+          "name": "leaf2-3/3",
+          "ips": [
+            "10.6.2.254/24",
+            "118.0.0.1/24",
+            "119.0.0.1/24"
+          ],
+          "vlan-untagged": 20
+        }
+      ]
+    }
+  }
+}
diff --git a/p4-pod-configs/mwc-pod/mwc-demo.json b/p4-pod-configs/mwc-pod/mwc-demo.json
new file mode 100644
index 0000000..88ee7d5
--- /dev/null
+++ b/p4-pod-configs/mwc-pod/mwc-demo.json
@@ -0,0 +1,137 @@
+{
+  "devices": {
+    "device:tofino:leaf1": {
+      "segmentrouting": {
+        "name": "leaf1",
+        "ipv4NodeSid": 204,
+        "ipv4Loopback": "192.168.0.204",
+        "ipv6NodeSid": 214,
+        "ipv6Loopback": "2000::c0a8:0204",
+        "routerMac": "00:00:00:00:02:04",
+        "isEdgeRouter": true,
+        "adjacencySids": []
+      }
+    },
+    "device:tofino:leaf2": {
+      "segmentrouting": {
+        "name": "leaf2",
+        "ipv4NodeSid": 205,
+        "ipv4Loopback": "192.168.0.205",
+        "ipv6NodeSid": 215,
+        "ipv6Loopback": "2000::c0a8:0205",
+        "routerMac": "00:00:00:00:02:05",
+        "isEdgeRouter": true,
+        "adjacencySids": []
+      }
+    },
+    "device:cavium:spine1": {
+      "segmentrouting": {
+        "name": "spine1",
+        "ipv4NodeSid": 226,
+        "ipv4Loopback": "192.168.0.226",
+        "ipv6NodeSid": 236,
+        "ipv6Loopback": "2000::c0a8:0226",
+        "routerMac": "00:00:00:00:02:26",
+        "isEdgeRouter": false,
+        "adjacencySids": []
+      }
+    },
+    "device:mellanox:spine2": {
+      "segmentrouting": {
+        "name": "spine2",
+        "ipv4NodeSid": 227,
+        "ipv4Loopback": "192.168.0.227",
+        "ipv6NodeSid": 237,
+        "ipv6Loopback": "2000::c0a8:0227",
+        "routerMac": "00:00:00:00:02:27",
+        "isEdgeRouter": false,
+        "adjacencySids": []
+      }
+    }
+  },
+  "ports": {
+    "device:tofino:leaf1/144": {
+      "interfaces": [
+        {
+          "name": "leaf1-3/0",
+          "ips": [
+          ],
+          "vlan-untagged": 10
+        }
+      ]
+    },
+    "device:tofino:leaf1/145": {
+      "interfaces": [
+        {
+          "name": "leaf1-3/1",
+          "ips": [
+          ],
+          "vlan-untagged": 10
+        }
+      ]
+    },
+    "device:tofino:leaf1/146": {
+      "interfaces": [
+        {
+          "name": "leaf1-3/2",
+          "ips": [
+          ],
+          "vlan-untagged": 10
+        }
+      ]
+    },
+    "device:tofino:leaf1/147": {
+      "interfaces": [
+        {
+          "name": "leaf1-3/3",
+          "ips": [
+          ],
+          "vlan-untagged": 10
+        }
+      ]
+    },
+    "device:tofino:leaf2/144": {
+      "interfaces": [
+        {
+          "name": "leaf2-3/0",
+          "ips": [
+          ],
+          "vlan-untagged": 20
+        }
+      ]
+    },
+    "device:tofino:leaf2/145": {
+      "interfaces": [
+        {
+          "name": "leaf2-3/1",
+          "ips": [
+            "10.6.1.254/24"
+          ],
+          "vlan-untagged": 20
+        }
+      ]
+    },
+    "device:tofino:leaf2/146": {
+      "interfaces": [
+        {
+          "name": "leaf2-3/2",
+          "ips": [
+            "10.6.1.254/24"
+          ],
+          "vlan-untagged": 20
+        }
+      ]
+    },
+    "device:tofino:leaf2/147": {
+      "interfaces": [
+        {
+          "name": "leaf2-3/3",
+          "ips": [
+            "10.6.1.254/24"
+          ],
+          "vlan-untagged": 20
+        }
+      ]
+    }
+  }
+}
diff --git a/p4-pod-configs/mwc-pod/tofino-leaf1-netcfg.json b/p4-pod-configs/mwc-pod/tofino-leaf1-netcfg.json
new file mode 100644
index 0000000..a9d2923
--- /dev/null
+++ b/p4-pod-configs/mwc-pod/tofino-leaf1-netcfg.json
@@ -0,0 +1,72 @@
+{
+  "devices": {
+    "device:tofino:leaf1": {
+      "chassisId": "000000000204",
+      "generalprovider": {
+        "p4runtime": {
+          "ip": "10.6.0.221",
+          "deviceKeyId": "p4runtime:device:tofino:leaf1",
+          "port": 50051,
+          "deviceId": 0
+        }
+      },
+      "piPipeconf": {
+        "piPipeconfId": "org.onosproject.pipelines.fabric.montana"
+      },
+      "ports": {
+        "1/0": {
+          "name": "1/0",
+          "speed": 100000,
+          "enabled": true,
+          "number": 128,
+          "removed": false,
+          "type": "copper"
+        },
+        "2/0": {
+          "name": "2/0",
+          "speed": 100000,
+          "enabled": true,
+          "number": 136,
+          "removed": false,
+          "type": "copper"
+        },
+        "3/0": {
+          "name": "4/0",
+          "speed": 10000,
+          "enabled": true,
+          "number": 144,
+          "removed": false,
+          "type": "copper"
+        },
+        "3/1": {
+          "name": "3/1",
+          "speed": 10000,
+          "enabled": true,
+          "number": 145,
+          "removed": false,
+          "type": "copper"
+        },
+        "3/2": {
+          "name": "3/2",
+          "speed": 10000,
+          "enabled": true,
+          "number": 146,
+          "removed": false,
+          "type": "copper"
+        },
+        "3/3": {
+          "name": "3/3",
+          "speed": 10000,
+          "enabled": true,
+          "number": 147,
+          "removed": false,
+          "type": "copper"
+        }
+      },
+      "basic": {
+        "driver": "barefoot-pro",
+        "name": "leaf1"
+      }
+    }
+  }
+}
diff --git a/p4-pod-configs/mwc-pod/tofino-leaf2-netcfg.json b/p4-pod-configs/mwc-pod/tofino-leaf2-netcfg.json
new file mode 100644
index 0000000..4f09e43
--- /dev/null
+++ b/p4-pod-configs/mwc-pod/tofino-leaf2-netcfg.json
@@ -0,0 +1,72 @@
+{
+  "devices": {
+    "device:tofino:leaf2": {
+      "chassisId": "000000000205",
+      "generalprovider": {
+        "p4runtime": {
+          "ip": "10.6.0.222",
+          "deviceKeyId": "p4runtime:device:tofino:leaf2",
+          "port": 50051,
+          "deviceId": 0
+        }
+      },
+      "piPipeconf": {
+        "piPipeconfId": "org.onosproject.pipelines.fabric-spgw.montana"
+      },
+      "ports": {
+        "1/0": {
+          "name": "1/0",
+          "speed": 100000,
+          "enabled": true,
+          "number": 128,
+          "removed": false,
+          "type": "copper"
+        },
+        "2/0": {
+          "name": "2/0",
+          "speed": 100000,
+          "enabled": true,
+          "number": 136,
+          "removed": false,
+          "type": "copper"
+        },
+        "3/0": {
+          "name": "4/0",
+          "speed": 10000,
+          "enabled": true,
+          "number": 144,
+          "removed": false,
+          "type": "copper"
+        },
+        "3/1": {
+          "name": "3/1",
+          "speed": 10000,
+          "enabled": true,
+          "number": 145,
+          "removed": false,
+          "type": "copper"
+        },
+        "3/2": {
+          "name": "3/2",
+          "speed": 10000,
+          "enabled": true,
+          "number": 146,
+          "removed": false,
+          "type": "copper"
+        },
+        "3/3": {
+          "name": "3/3",
+          "speed": 10000,
+          "enabled": true,
+          "number": 147,
+          "removed": false,
+          "type": "copper"
+        }
+      },
+      "basic": {
+        "driver": "barefoot-pro",
+        "name": "leaf2"
+      }
+    }
+  }
+}