From a6991dc8471455561e155687b5b6345964202519 Mon Sep 17 00:00:00 2001
From: Patrick Holahan <patrickh@tenet.ac.za>
Date: Wed, 23 Aug 2023 15:57:22 +0200
Subject: [PATCH] Adds models for EX4600-40F, MX80-48T, and module-types for
EX4600-EM-8F and QFX-EM-4Q (#1559)
Co-authored-by: Patrick Holahan <tjunyat@gmail.com>
---
device-types/Juniper/EX4600-40F.yaml | 144 +++++++++++++++++++++++++
device-types/Juniper/MX80-48T.yaml | 129 ++++++++++++++++++++++
module-types/Juniper/EX4600-EM-8F.yaml | 21 ++++
module-types/Juniper/QFX-EM-4Q.yaml | 13 +++
4 files changed, 307 insertions(+)
create mode 100644 device-types/Juniper/EX4600-40F.yaml
create mode 100644 device-types/Juniper/MX80-48T.yaml
create mode 100644 module-types/Juniper/EX4600-EM-8F.yaml
create mode 100644 module-types/Juniper/QFX-EM-4Q.yaml
diff --git a/device-types/Juniper/EX4600-40F.yaml b/device-types/Juniper/EX4600-40F.yaml
new file mode 100644
index 00000000..e7d1028c
--- /dev/null
+++ b/device-types/Juniper/EX4600-40F.yaml
@@ -0,0 +1,144 @@
+---
+manufacturer: Juniper
+model: EX4600-40F
+slug: juniper-ex4600-40f
+part_number: EX4600-40F
+u_height: 1
+is_full_depth: true
+airflow: front-to-rear
+weight: 9.84
+weight_unit: kg
+comments: '[Juniper EX4600 Data Sheet](https://www.juniper.net/content/dam/www/assets/datasheets/us/en/switches/ex4600-ethernet-switch-datasheet.pdf)'
+interfaces:
+ - name: ge-0/0/0
+ type: 1000base-x-sfp
+ - name: ge-0/0/1
+ type: 1000base-x-sfp
+ - name: ge-0/0/2
+ type: 1000base-x-sfp
+ - name: ge-0/0/3
+ type: 1000base-x-sfp
+ - name: ge-0/0/4
+ type: 1000base-x-sfp
+ - name: ge-0/0/5
+ type: 1000base-x-sfp
+ - name: ge-0/0/6
+ type: 1000base-x-sfp
+ - name: ge-0/0/7
+ type: 1000base-x-sfp
+ - name: ge-0/0/8
+ type: 1000base-x-sfp
+ - name: ge-0/0/9
+ type: 1000base-x-sfp
+ - name: ge-0/0/10
+ type: 1000base-x-sfp
+ - name: ge-0/0/11
+ type: 1000base-x-sfp
+ - name: ge-0/0/12
+ type: 1000base-x-sfp
+ - name: ge-0/0/13
+ type: 1000base-x-sfp
+ - name: ge-0/0/14
+ type: 1000base-x-sfp
+ - name: ge-0/0/15
+ type: 1000base-x-sfp
+ - name: ge-0/0/16
+ type: 1000base-x-sfp
+ - name: ge-0/0/17
+ type: 1000base-x-sfp
+ - name: ge-0/0/18
+ type: 1000base-x-sfp
+ - name: ge-0/0/19
+ type: 1000base-x-sfp
+ - name: ge-0/0/20
+ type: 1000base-x-sfp
+ - name: ge-0/0/21
+ type: 1000base-x-sfp
+ - name: ge-0/0/22
+ type: 1000base-x-sfp
+ - name: ge-0/0/23
+ type: 1000base-x-sfp
+ - name: xe-0/0/0
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/1
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/2
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/3
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/4
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/5
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/6
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/7
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/8
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/9
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/10
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/11
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/12
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/13
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/14
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/15
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/16
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/17
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/18
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/19
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/20
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/21
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/22
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/23
+ type: 10gbase-x-sfpp
+ - name: et-0/0/24
+ type: 40gbase-x-qsfpp
+ - name: et-0/0/25
+ type: 40gbase-x-qsfpp
+ - name: et-0/0/26
+ type: 40gbase-x-qsfpp
+ - name: et-0/0/27
+ type: 40gbase-x-qsfpp
+ - name: em0
+ type: 1000base-t
+ mgmt_only: true
+ - name: em1
+ type: 1000base-t
+ mgmt_only: true
+module-bays:
+ - name: PIC 1
+ position: '1'
+ - name: PIC 2
+ position: '2'
+ - name: Power Supply 0
+ position: '0'
+ - name: Power Supply 1
+ position: '1'
+ - name: Fan tray 0
+ position: '0'
+ - name: Fan tray 1
+ position: '1'
+ - name: Fan tray 2
+ position: '2'
+ - name: Fan tray 3
+ position: '3'
+ - name: Fan tray 4
+ position: '4'
+console-ports:
+ - name: Console
+ type: rj-45
diff --git a/device-types/Juniper/MX80-48T.yaml b/device-types/Juniper/MX80-48T.yaml
new file mode 100644
index 00000000..527d7b7d
--- /dev/null
+++ b/device-types/Juniper/MX80-48T.yaml
@@ -0,0 +1,129 @@
+---
+manufacturer: Juniper
+model: MX80-48T
+slug: juniper-mx80-48t
+u_height: 2
+part_number: MX80-48T
+is_full_depth: true
+airflow: front-to-rear
+weight: 13.6
+weight_unit: kg
+comments: Data sheet not available, device is EOL
+console-ports:
+ - name: Console
+ type: rj-45
+interfaces:
+ - name: fxp0
+ type: 1000base-t
+ mgmt_only: true
+ - name: ge-1/0/0
+ type: 1000base-t
+ - name: ge-1/0/1
+ type: 1000base-t
+ - name: ge-1/0/2
+ type: 1000base-t
+ - name: ge-1/0/3
+ type: 1000base-t
+ - name: ge-1/0/4
+ type: 1000base-t
+ - name: ge-1/0/5
+ type: 1000base-t
+ - name: ge-1/0/6
+ type: 1000base-t
+ - name: ge-1/0/7
+ type: 1000base-t
+ - name: ge-1/0/8
+ type: 1000base-t
+ - name: ge-1/0/9
+ type: 1000base-t
+ - name: ge-1/0/10
+ type: 1000base-t
+ - name: ge-1/0/11
+ type: 1000base-t
+ - name: ge-1/1/0
+ type: 1000base-t
+ - name: ge-1/1/1
+ type: 1000base-t
+ - name: ge-1/1/2
+ type: 1000base-t
+ - name: ge-1/1/3
+ type: 1000base-t
+ - name: ge-1/1/4
+ type: 1000base-t
+ - name: ge-1/1/5
+ type: 1000base-t
+ - name: ge-1/1/6
+ type: 1000base-t
+ - name: ge-1/1/7
+ type: 1000base-t
+ - name: ge-1/1/8
+ type: 1000base-t
+ - name: ge-1/1/9
+ type: 1000base-t
+ - name: ge-1/1/10
+ type: 1000base-t
+ - name: ge-1/1/11
+ type: 1000base-t
+ - name: ge-1/2/0
+ type: 1000base-t
+ - name: ge-1/2/1
+ type: 1000base-t
+ - name: ge-1/2/2
+ type: 1000base-t
+ - name: ge-1/2/3
+ type: 1000base-t
+ - name: ge-1/2/4
+ type: 1000base-t
+ - name: ge-1/2/5
+ type: 1000base-t
+ - name: ge-1/2/6
+ type: 1000base-t
+ - name: ge-1/2/7
+ type: 1000base-t
+ - name: ge-1/2/8
+ type: 1000base-t
+ - name: ge-1/2/9
+ type: 1000base-t
+ - name: ge-1/2/10
+ type: 1000base-t
+ - name: ge-1/2/11
+ type: 1000base-t
+ - name: ge-1/3/0
+ type: 1000base-t
+ - name: ge-1/3/1
+ type: 1000base-t
+ - name: ge-1/3/2
+ type: 1000base-t
+ - name: ge-1/3/3
+ type: 1000base-t
+ - name: ge-1/3/4
+ type: 1000base-t
+ - name: ge-1/3/5
+ type: 1000base-t
+ - name: ge-1/3/6
+ type: 1000base-t
+ - name: ge-1/3/7
+ type: 1000base-t
+ - name: ge-1/3/8
+ type: 1000base-t
+ - name: ge-1/3/9
+ type: 1000base-t
+ - name: ge-1/3/10
+ type: 1000base-t
+ - name: ge-1/3/11
+ type: 1000base-t
+ - name: xe-0/0/0
+ type: 10gbase-x-xfp
+ - name: xe-0/0/1
+ type: 10gbase-x-xfp
+ - name: xe-0/0/2
+ type: 10gbase-x-xfp
+ - name: xe-0/0/3
+ type: 10gbase-x-xfp
+module-bays:
+ - name: Power Supply 0
+ position: '0'
+ - name: Power Supply 1
+ position: '1'
+ - name: Fan tray 0
+ position: '0'
diff --git a/module-types/Juniper/EX4600-EM-8F.yaml b/module-types/Juniper/EX4600-EM-8F.yaml
new file mode 100644
index 00000000..06ad65df
--- /dev/null
+++ b/module-types/Juniper/EX4600-EM-8F.yaml
@@ -0,0 +1,21 @@
+---
+manufacturer: Juniper
+model: EX4600-EM-8F
+part_number: EX4600-EM-8F
+interfaces:
+ - name: xe-{module}/0/0
+ type: 10gbase-x-sfpp
+ - name: xe-{module}/0/1
+ type: 10gbase-x-sfpp
+ - name: xe-{module}/0/2
+ type: 10gbase-x-sfpp
+ - name: xe-{module}/0/3
+ type: 10gbase-x-sfpp
+ - name: xe-{module}/0/4
+ type: 10gbase-x-sfpp
+ - name: xe-{module}/0/5
+ type: 10gbase-x-sfpp
+ - name: xe-{module}/0/6
+ type: 10gbase-x-sfpp
+ - name: xe-{module}/0/7
+ type: 10gbase-x-sfpp
diff --git a/module-types/Juniper/QFX-EM-4Q.yaml b/module-types/Juniper/QFX-EM-4Q.yaml
new file mode 100644
index 00000000..b31a0d78
--- /dev/null
+++ b/module-types/Juniper/QFX-EM-4Q.yaml
@@ -0,0 +1,13 @@
+---
+manufacturer: Juniper
+model: QFX-EM-4Q
+part_number: QFX-EM-4Q
+interfaces:
+ - name: et-{module}/0/0
+ type: 40gbase-x-qsfpp
+ - name: et-{module}/0/1
+ type: 40gbase-x-qsfpp
+ - name: et-{module}/0/2
+ type: 40gbase-x-qsfpp
+ - name: et-{module}/0/3
+ type: 40gbase-x-qsfpp
--
GitLab