aboutsummaryrefslogtreecommitdiffstats
path: root/examples/tg23/templates/edge.conf
diff options
context:
space:
mode:
Diffstat (limited to 'examples/tg23/templates/edge.conf')
-rw-r--r--examples/tg23/templates/edge.conf431
1 files changed, 431 insertions, 0 deletions
diff --git a/examples/tg23/templates/edge.conf b/examples/tg23/templates/edge.conf
new file mode 100644
index 0000000..f52c649
--- /dev/null
+++ b/examples/tg23/templates/edge.conf
@@ -0,0 +1,431 @@
+{# Query parameters: ?switch=e1-1 #}
+{% include "global.conf" %}
+{% set poe_interface_port_numbers = [40, 41, 42, 43] %}
+
+protocols {
+ rstp {
+ bridge-priority 32k;
+ interface edge-ports {
+ edge;
+ no-root-port;
+ }
+ }
+ lldp {
+ port-id-subtype interface-name;
+ port-description-type interface-description;
+ interface uplink-ports;
+ {% if "wifi" in v.switch_tags and "ex4300-48mp" in v.switch_tags %}
+ interface mge-0/0/40;
+ interface mge-0/0/41;
+ interface mge-0/0/42;
+ interface mge-0/0/43;
+ {% elif "wifi" in v.switch_tags %}
+ interface ge-0/0/40;
+ interface ge-0/0/41;
+ interface ge-0/0/42;
+ interface ge-0/0/43;
+ {% endif %}
+ }
+}
+
+interfaces {
+ interface-range edge-ports {
+ {% if 'multirate' in v.switch_tags %}
+ member-range ge-0/0/0 to ge-0/0/23;
+ member-range mge-0/0/24 to mge-0/0/43;
+ {% elif 'net-event-activites' in v.switch_tags and 'net-event-artnet' in v.switch_tags %}
+ member-range ge-0/0/0 to ge-0/0/27;
+ member-range ge-0/0/36 to ge-0/0/43;
+ {% elif 'net-event-arena' in v.switch_tags and 'net-event-artnet' in v.switch_tags %}
+ member-range ge-0/0/0 to ge-0/0/31;
+ member-range ge-0/0/40 to ge-0/0/43;
+ {% elif 'net-event-activites' in v.switch_tags and 'net-event-arena' in v.switch_tags %}
+ member-range ge-0/0/0 to ge-0/0/27;
+ member-range ge-0/0/32 to ge-0/0/35;
+ member-range ge-0/0/40 to ge-0/0/43;
+ {% elif 'net-event-activites' in v.switch_tags and 'net-event-artnet' in v.switch_tags and 'net-event-arena' in v.switch_tags %}
+ member-range ge-0/0/0 to ge-0/0/27;
+ member-range ge-0/0/40 to ge-0/0/43;
+ {% elif 'net-location-beredskap' in v.switch_tags %}
+ member-range ge-0/0/0 to ge-0/0/23;
+ member-range ge-0/0/28 to ge-0/0/43;
+ {% elif 'net-event-activites' in v.switch_tags %}
+ member-range ge-0/0/0 to ge-0/0/27;
+ member-range ge-0/0/32 to ge-0/0/43;
+ {% elif 'net-event-artnet' in v.switch_tags %}
+ member-range ge-0/0/0 to ge-0/0/31;
+ member-range ge-0/0/36 to ge-0/0/43;
+ {% elif 'net-event-arena' in v.switch_tags %}
+ member-range ge-0/0/0 to ge-0/0/35;
+ member-range ge-0/0/40 to ge-0/0/43;
+ {% else %}
+ member-range ge-0/0/0 to ge-0/0/43;
+ {% endif %}
+ {% if 'wifi-switch' in v.switch_tags %}
+ description "C: AP - VLAN 777 untagged (mgmt) - VLAN 778 tagged";
+ {% if "els-software" in v.switch_tags %}
+ native-vlan-id 777;
+ {% endif %}
+ {% else %}
+ description "C: {{ v.network.name }} - VLAN {{ v.network.vlan }}";
+ {% endif %}
+ unit 0 {
+ family ethernet-switching {
+ {% if 'wifi-switch' in v.switch_tags %}
+ {% if "els-software" in v.switch_tags %}
+ interface-mode trunk;
+ {% else %}
+ port-mode trunk;
+ native-vlan-id 777;
+ {% endif %}
+ vlan {
+ members [ ssid-the-gathering ];
+ }
+ {% else %}
+ {% if "els-software" in v.switch_tags %}
+ interface-mode access;
+ {% else %}
+ port-mode access;
+ {% endif %}
+ vlan {
+ members {{ v.network.name }};
+ }
+ {% endif %}
+ }
+ }
+ }
+{% for ifindex in range(24, 44) %}
+ {% if "net-event-arena" in v.switch_tags and "crew" in v.switch_tags and ifindex in (36,37,38,39) %}
+ ge-0/0/{{ ifindex }} {
+ description "C: event-arena - VLAN 3000";
+ unit 0 {
+ family ethernet-switching {
+ {% if "els-software" in v.switch_tags %}
+ interface-mode access;
+ {% else %}
+ port-mode access;
+ {% endif %}
+ vlan {
+ members event-arena;
+ }
+ }
+ }
+ }
+ {% endif %}
+ {% if "net-event-artnet" in v.switch_tags and "crew" in v.switch_tags and ifindex in (32,33,34,35) %}
+ ge-0/0/{{ ifindex }} {
+ description "C: event-artnet - VLAN 3001";
+ unit 0 {
+ family ethernet-switching {
+ {% if "els-software" in v.switch_tags %}
+ interface-mode access;
+ {% else %}
+ port-mode access;
+ {% endif %}
+ vlan {
+ members event-artnet;
+ }
+ }
+ }
+ }
+ {% endif %}
+ {% if "net-event-activites" in v.switch_tags and "crew" in v.switch_tags and ifindex in (28,29,30,31) %}
+ ge-0/0/{{ ifindex }} {
+ description "C: event-activites - VLAN 3002";
+ unit 0 {
+ family ethernet-switching {
+ {% if "els-software" in v.switch_tags %}
+ interface-mode access;
+ {% else %}
+ port-mode access;
+ {% endif %}
+ vlan {
+ members event-activites;
+ }
+ }
+ }
+ }
+ {% endif %}
+ {% if "net-location-beredskap" in v.switch_tags and "crew" in v.switch_tags and ifindex in (24,25,26,27) %}
+ ge-0/0/{{ ifindex }} {
+ description "C: location-beredskap - VLAN 3003";
+ unit 0 {
+ family ethernet-switching {
+ {% if "els-software" in v.switch_tags %}
+ interface-mode access;
+ {% else %}
+ port-mode access;
+ {% endif %}
+ vlan {
+ members location-beredskap;
+ }
+ }
+ }
+ }
+ {% endif %}
+ {% if ("wifi" in v.switch_tags and "crew" in v.switch_tags and ifindex in (40,41,42,43)) or (switch_name == "e1.crew" and ifindex in (40,41,42,43)) %}
+ {% set wifi_vlan_list = ["ssid-the-gathering"] %}
+ {% if "els-software" in v.switch_tags %}
+ {% do wifi_vlan_list.append("aps-mgmt") %}
+ {% endif %}
+ {% if "ex4300-48mp" in v.switch_tags %}
+ mge-0/0/{{ ifindex }} {
+ {% else %}
+ ge-0/0/{{ ifindex }} {
+ {% endif %}
+ description "C: AP - VLAN 777 untagged (mgmt) - VLAN 778 tagged";
+ {% if "els-software" in v.switch_tags %}
+ native-vlan-id 777;
+ {% endif %}
+ unit 0 {
+ family ethernet-switching {
+ {% if "els-software" in v.switch_tags %}
+ interface-mode trunk;
+ {% else %}
+ port-mode trunk;
+ native-vlan-id 777;
+ {% endif %}
+ vlan {
+ members [ {% for vlan_name in wifi_vlan_list %}{{ vlan_name }} {% endfor %}];
+ }
+ }
+ }
+ }
+ {% endif %}
+{% endfor %}
+ interface-range uplink-ports {
+ description "G: {{ v.switch_management.distro_name }} (ae0)";
+ {% for port in v.uplink_ns.uplink_ports %}
+ member {{ port }};
+ {% endfor %}
+ ether-options {
+ 802.3ad ae0;
+ }
+ }
+
+ {% if not "multirate" in v.switch_tags %}
+ interface-range unused-ports {
+ description "not-in-use";
+ disable;
+ {% for port in v.uplink_ns.all_ports %}
+ {% if port not in v.uplink_ns.uplink_ports %}
+ member {{ port }};
+ {% endif %}
+ {% endfor %}
+ }
+ {% endif %}
+ ae0 {
+ description "B: {{ v.switch_management.distro_name }}";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ {% if "els-software" in v.switch_tags %}
+ interface-mode trunk;
+ {% else %}
+ port-mode trunk;
+ {% endif %}
+ vlan {
+ {% set vlan_list = [] %}
+ {% if "net-event-arena" in v.switch_tags and "crew" in v.switch_tags %}
+ {% do vlan_list.append("event-arena") %}
+ {% endif %}
+ {% if "net-event-artnet" in v.switch_tags and "crew" in v.switch_tags %}
+ {% do vlan_list.append("event-artnet") %}
+ {% endif %}
+ {% if "net-event-activites" in v.switch_tags and "crew" in v.switch_tags %}
+ {% do vlan_list.append("event-activites") %}
+ {% endif %}
+ {% if "net-location-beredskap" in v.switch_tags and "crew" in v.switch_tags %}
+ {% do vlan_list.append("location-beredskap") %}
+ {% endif %}
+ {% if "wifi" in v.switch_tags and "crew" in v.switch_tags %}
+ {% do vlan_list.append("aps-mgmt") %}
+ {% do vlan_list.append("ssid-the-gathering") %}
+ {% endif %}
+ {% if "wifi-switch" in v.switch_tags %}
+ members [ aps-mgmt ssid-the-gathering edge-mgmt ];
+ {% else %}
+ members [ {{ v.network.name }} edge-mgmt {% for vlan in vlan_list %}{{ vlan }} {% endfor %}];
+ {% endif %}
+ }
+ }
+ }
+ }
+ {% if "els-software" in v.switch_tags %}
+ irb {
+ {% else %}
+ vlan {
+ {% endif %}
+ unit 666 {
+ description "switch management";
+ family inet {
+ filter {
+ input mgmt-v4;
+ }
+ address {{ v.switch_management.mgmt_v4_addr }}/{{ v.switch_management_network.subnet4|cidr }};
+ }
+ family inet6 {
+ filter {
+ input mgmt-v6;
+ }
+ address {{ v.switch_management.mgmt_v6_addr }}/{{ v.switch_management_network.subnet6|cidr }};
+ }
+ }
+ }
+}
+routing-options {
+ rib inet.0 {
+ static {
+ route 0.0.0.0/0 next-hop {{ v.switch_management_network.gw4 }};
+ }
+ }
+ rib inet6.0 {
+ static {
+ route ::/0 next-hop {{ v.switch_management_network.gw6 }};
+ }
+ }
+}
+{% if not "els-software" in v.switch_tags %}
+ethernet-switching-options {
+ port-error-disable {
+ /* 30 minutes in seconds */
+ disable-timeout 1800;
+ }
+ secure-access-port {
+ interface edge-ports {
+ no-dhcp-trusted;
+ }
+ {% if "wifi-switch" in v.switch_tags %}
+ vlan aps-mgmt {
+ {% else %}
+ vlan {{ v.network.name }} {
+ {% endif %}
+ arp-inspection;
+ examine-dhcp;
+ examine-dhcpv6;
+ neighbor-discovery-inspection;
+ ip-source-guard;
+ ipv6-source-guard;
+ dhcp-option82 {
+ circuit-id {
+ use-vlan-id;
+ }
+ }
+ no-option-37;
+ /* inactive due to DHCP drops on MX platform */
+ inactive: dhcpv6-option18 {
+ use-option-82;
+ }
+ }
+ ipv6-source-guard-sessions {
+ max-number 128;
+ }
+ }
+ storm-control {
+ action-shutdown;
+ interface edge-ports {
+ bandwidth 20000;
+ multicast;
+ }
+ }
+}
+{% endif %}
+protocols {
+ {% if "els-software" in v.switch_tags %}
+ {% else %}
+ igmp-snooping {
+ vlan all {
+ version 3;
+ immediate-leave;
+ }
+ {% if "wifi" in v.switch_tags %}
+ vlan aps-mgmt {
+ disable;
+ }
+ vlan ssid-the-gathering {
+ disable;
+ }
+ {% endif %}
+ }
+ mld-snooping {
+ vlan all {
+ version 2;
+ immediate-leave;
+ }
+ {% if "wifi" in v.switch_tags %}
+ vlan aps-mgmt {
+ disable;
+ }
+ vlan ssid-the-gathering {
+ disable;
+ }
+ {% endif %}
+ }
+ {% endif %}
+ {% if "wifi" in v.switch_tags and "multirate" in v.switch_tags %}
+ lldp-med {
+ {% for poe_interface_port_number in poe_interface_port_numbers %}
+ interface mge-0/0/{{ poe_interface_port_number }};
+ {% endfor %}
+ }
+ {% endif %}
+}
+vlans {
+ edge-mgmt {
+ vlan-id 666;
+ {% if "els-software" in v.switch_tags %}
+ l3-interface irb.666;
+ {% else %}
+ l3-interface vlan.666;
+ {% endif %}
+ }
+{# special nets for crew #}
+ {% if "net-event-arena" in v.switch_tags and "crew" in v.switch_tags %}
+ event-arena {
+ vlan-id 3000;
+ }
+ {% endif %}
+ {% if "net-event-artnet" in v.switch_tags and "crew" in v.switch_tags %}
+ event-artnet {
+ vlan-id 3001;
+ }
+ {% endif %}
+ {% if "net-event-activities" in v.switch_tags and "crew" in v.switch_tags %}
+ event-activites {
+ vlan-id 3002;
+ }
+ {% endif %}
+ {% if "net-location-beredskap" in v.switch_tags and "crew" in v.switch_tags %}
+ location-beredskap {
+ vlan-id 3003;
+ }
+ {% endif %}
+ {% if "wifi" in v.switch_tags or "wifi-switch" in v.switch_tags %}
+ aps-mgmt {
+ vlan-id 777;
+ }
+ ssid-the-gathering {
+ vlan-id 778;
+ }
+ {% endif %}
+ {% if "wifi-switch" not in v.switch_tags %}
+ {{ v.network.name }} {
+ vlan-id {{ v.network.vlan }};
+ }
+ {% endif %}
+}
+{% if "wifi" in v.switch_tags and "multirate" in v.switch_tags %}
+poe {
+ {% if "ex4300-48mp" in v.switch_tags %}
+ interface all {
+ high-power;
+ }
+ {% else %}
+ interface all;
+ {% endif %}
+}
+{% endif %}