Skip to content

Switch Stacks Routing Interfaces Configuration

Dashboard Location: Switching > Switch Stacks > [Stack Name] > Routing & DHCP

Switch stack routing interfaces configuration in Meraki networks provides administrators with comprehensive Layer 3 connectivity and inter-VLAN routing capabilities for stacked switches, enabling VLAN interface creation, IP address assignment, DHCP service management, and OSPF routing integration. This functionality supports network segmentation, subnet routing, multicast forwarding, and centralized DHCP services across the switch stack. Stack routing interfaces are essential for creating routed networks, enabling inter-VLAN communication, providing DHCP services, and integrating with dynamic routing protocols in enterprise network architectures.

Diagram

switch_stacks (meraki.domains.organizations.networks)

Section titled “switch_stacks (meraki.domains.organizations.networks)”
NameTypeConstraintMandatoryDefault Value
routing_interfacesList[routing_interfaces]No

routing_interfaces (meraki.domains.organizations.networks.switch_stacks)

Section titled “routing_interfaces (meraki.domains.organizations.networks.switch_stacks)”
NameTypeConstraintMandatoryDefault Value
nameStringmin: 1, max: 127No
subnetStringRegex: ^((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])\/([1-9]|[12][0-9]|3[0-2])$No
interface_ipIPNo
multicast_routingChoiceIGMP snooping querier, disabled, enabledNo
vlan_idAnyInteger[min: 1, max: 4094] or String[matches: `(?:[1-9][1-9][0-9][1-9][0-9]2
default_gatewayIPNo
static_v4_dns1IPNo
static_v4_dns2IPNo
uplink_v4Booleantrue, falseNo
uplink_v6Booleantrue, falseNo
ospf_settingsClass[ospf_settings]No
ipv6Class[ipv6]No
dhcpClass[dhcp]No

ospf_settings (meraki.domains.organizations.networks.switch_stacks.routing_interfaces)

Section titled “ospf_settings (meraki.domains.organizations.networks.switch_stacks.routing_interfaces)”
NameTypeConstraintMandatoryDefault Value
areaAnyString[min: 1, max: 13] or IP or Integer[min: 1, max: 4294967295]No
costIntegermin: 1, max: 65535No
is_passiveBooleantrue, falseNo

ipv6 (meraki.domains.organizations.networks.switch_stacks.routing_interfaces)

Section titled “ipv6 (meraki.domains.organizations.networks.switch_stacks.routing_interfaces)”
NameTypeConstraintMandatoryDefault Value
assignment_modeChoiceeui-64, staticNo
prefixIPNo
addressIPNo
gatewayIPNo
static_v6_dns1IPNo
static_v6_dns2IPNo

dhcp (meraki.domains.organizations.networks.switch_stacks.routing_interfaces)

Section titled “dhcp (meraki.domains.organizations.networks.switch_stacks.routing_interfaces)”
NameTypeConstraintMandatoryDefault Value
dhcp_modeChoicedhcpDisabled, dhcpRelay, dhcpServerNo
dhcp_relay_server_ipsListIPNo
dhcp_lease_timeChoice1 day, 1 hour, 1 week, 12 hours, 30 minutes, 4 hoursNo
dns_nameservers_optionChoicecustom, googlePublicDns, openDnsNo
dns_custom_nameserversListIPNo
boot_next_serverIPNo
boot_file_nameStringmin: 1, max: 127No
dhcp_optionsList[dhcp_options]No
reserved_ip_rangesList[reserved_ip_ranges]No
fixed_ip_assignmentsList[fixed_ip_assignments]No
boot_optionsBooleantrue, falseNo

dhcp_options (meraki.domains.organizations.networks.switch_stacks.routing_interfaces.dhcp)

Section titled “dhcp_options (meraki.domains.organizations.networks.switch_stacks.routing_interfaces.dhcp)”
NameTypeConstraintMandatoryDefault Value
codeStringRegex: ^([2-9]|1[0-9][0-9]?|2[0-9]|2[0-5][0-4]|[3-9][0-9])$Yes
typeChoicehex, integer, ip, textYes
valueStringmin: 1, max: 127Yes

reserved_ip_ranges (meraki.domains.organizations.networks.switch_stacks.routing_interfaces.dhcp)

Section titled “reserved_ip_ranges (meraki.domains.organizations.networks.switch_stacks.routing_interfaces.dhcp)”
NameTypeConstraintMandatoryDefault Value
startIPYes
endIPYes
commentStringmin: 1, max: 127Yes

fixed_ip_assignments (meraki.domains.organizations.networks.switch_stacks.routing_interfaces.dhcp)

Section titled “fixed_ip_assignments (meraki.domains.organizations.networks.switch_stacks.routing_interfaces.dhcp)”
NameTypeConstraintMandatoryDefault Value
nameStringmin: 1, max: 127Yes
macMACYes
ipIPYes

Important: Only one interface per switch stack can be designated as the uplink interface. Additionally, an uplink interface must be defined — no other L3 interfaces can exist on a switch stack without one.

Deleting the last remaining interface: If the last remaining L3 interface (which by definition will be the uplink) needs to be removed, the switch management IP mode must first be set to DHCP (if not already). Without this, Terraform will remove the interface from state but the interface will persist in the Meraki dashboard and will not actually be deleted.

The uplink designation behavior differs by switch type and software version:

Switch TypeUplink Designation
MS Switches and Catalyst Switches (CS software)The presence of default_gateway automatically designates the interface as the uplink. uplink_v4 / uplink_v6 tags are not required.
Catalyst Switches (IOS-XE software)The uplink type must be explicitly declared. The required fields depend on the uplink type:

For Catalyst Switches (IOS-XE), the following fields are required based on uplink type:

Uplink TypeRequired Fields
IPv4 onlydefault_gateway, uplink_v4: true, static_v4_dns1
IPv6 onlyuplink_v6: true, ipv6.gateway, ipv6.static_v6_dns1
Dual-stack (IPv4 + IPv6)All of the above: default_gateway, uplink_v4: true, static_v4_dns1, uplink_v6: true, ipv6.gateway, ipv6.static_v6_dns1

Example-1: The example below demonstrates switch stack routing interfaces configuration including uplink designation and static DNS configuration.

This configuration creates Layer 3 routing interfaces on switch stacks for inter-VLAN routing and gateway services. The example includes subnet assignment, VLAN associations, routing parameters, uplink designation, static DNS configuration, and IPv6-only interfaces.

The switch stack named DEV_CORE includes five routing interfaces:

  • CORP on subnet 100.65.10.0/24 with IP 100.65.10.1 and VLAN 10. Multicast routing is enabled, participates in OSPF area 0 as a passive interface, and acts as a DHCP server with a 30-minute lease using Google Public DNS.
  • BMS on subnet 100.65.20.0/24 with IP 100.65.20.1 and VLAN 20. Same OSPF and DHCP configuration as CORP.
  • P2P on subnet 100.65.2.0/24 with IP 100.65.2.1 and VLAN 2. Designated as a dual-stack uplink (uplink_v4: true, uplink_v6: true) with default gateway 100.65.2.2, static IPv4 DNS servers (8.8.8.8, 8.8.4.4), and static IPv6 configuration with gateway and DNS servers. This is the required configuration for Catalyst switches running IOS-XE. Active in OSPF area 0 with DHCP disabled.
  • MGMT on subnet 100.65.30.0/24 with IP 100.65.30.1 and VLAN 30. Standard IPv4-only interface, not an uplink, passive OSPF, DHCP disabled.
  • IPV6_ONLY on VLAN 40. IPv6-only interface with static assignment, no uplink designation, and DHCP disabled.
meraki:
domains:
- name: !env domain
administrator:
name: !env org_admin
organizations:
- name: !env org
networks:
- name: !env network_name
product_types:
- appliance
- switch
- wireless
- camera
- sensor
- cellularGateway
switch_stacks:
- name: DEV_CORE
routing_interfaces:
- name: CORP
subnet: 100.65.10.0/24
interface_ip: 100.65.10.1
multicast_routing: enabled
vlan_id: 10
ospf_settings:
area: "0"
cost: 1
is_passive: true
dhcp:
dhcp_mode: dhcpServer
dhcp_lease_time: 30 minutes
dns_nameservers_option: googlePublicDns
boot_options: false
- name: BMS
subnet: 100.65.20.0/24
interface_ip: 100.65.20.1
multicast_routing: enabled
vlan_id: 20
ospf_settings:
area: "0"
cost: 1
is_passive: true
dhcp:
dhcp_mode: dhcpServer
dhcp_lease_time: 30 minutes
dns_nameservers_option: googlePublicDns
boot_options: false
- name: P2P
subnet: 100.65.2.0/24
interface_ip: 100.65.2.1
multicast_routing: disabled
vlan_id: 2
default_gateway: 100.65.2.2
uplink_v4: true
uplink_v6: true
static_v4_dns1: 8.8.8.8
static_v4_dns2: 8.8.4.4
ospf_settings:
area: "0"
cost: 1
is_passive: false
ipv6:
assignment_mode: static
address: fc00:65:2::1
prefix: fc00:65:2::/48
gateway: fc00:65:2::2
static_v6_dns1: 2001:4860:4860::8888
static_v6_dns2: 2001:4860:4860::8844
dhcp:
dhcp_mode: dhcpDisabled
- name: MGMT
subnet: 100.65.30.0/24
interface_ip: 100.65.30.1
multicast_routing: disabled
vlan_id: 30
ospf_settings:
area: "0"
cost: 1
is_passive: true
dhcp:
dhcp_mode: dhcpDisabled
- name: IPV6_ONLY
vlan_id: 40
multicast_routing: disabled
ipv6:
assignment_mode: static
address: fc00:65:40::1
prefix: fc00:65:40::/48
dhcp:
dhcp_mode: dhcpDisabled

Dashboard Location: Switching > Switch Stacks > [Stack Name] > Routing & DHCP

Switch stack routing interfaces configuration in Meraki networks provides administrators with comprehensive Layer 3 connectivity and inter-VLAN routing capabilities for stacked switches, enabling VLAN interface creation, IP address assignment, DHCP service management, and OSPF routing integration. This functionality supports network segmentation, subnet routing, multicast forwarding, and centralized DHCP services across the switch stack. Stack routing interfaces are essential for creating routed networks, enabling inter-VLAN communication, providing DHCP services, and integrating with dynamic routing protocols in enterprise network architectures.

Diagram

switch_stacks (meraki.domains.organizations.networks)

Section titled “switch_stacks (meraki.domains.organizations.networks)”
NameTypeConstraintMandatoryDefault Value
routing_interfacesList[routing_interfaces]No

routing_interfaces (meraki.domains.organizations.networks.switch_stacks)

Section titled “routing_interfaces (meraki.domains.organizations.networks.switch_stacks)”
NameTypeConstraintMandatoryDefault Value
nameStringmin: 1, max: 127No
subnetStringRegex: ^((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])\/([1-9]|[12][0-9]|3[0-2])$No
interface_ipIPNo
multicast_routingChoiceIGMP snooping querier, disabled, enabledNo
vlan_idAnyInteger[min: 1, max: 4094] or String[matches: `(?:[1-9][1-9][0-9][1-9][0-9]2
default_gatewayIPNo
ospf_settingsClass[ospf_settings]No
ipv6Class[ipv6]No
dhcpClass[dhcp]No

ospf_settings (meraki.domains.organizations.networks.switch_stacks.routing_interfaces)

Section titled “ospf_settings (meraki.domains.organizations.networks.switch_stacks.routing_interfaces)”
NameTypeConstraintMandatoryDefault Value
areaAnyString[min: 1, max: 13] or IP or Integer[min: 1, max: 4294967295]No
costIntegermin: 1, max: 65535No
is_passiveBooleantrue, falseNo

ipv6 (meraki.domains.organizations.networks.switch_stacks.routing_interfaces)

Section titled “ipv6 (meraki.domains.organizations.networks.switch_stacks.routing_interfaces)”
NameTypeConstraintMandatoryDefault Value
assignment_modeChoiceeui-64, staticNo
prefixStringmin: 1, max: 1024No
addressStringmin: 1, max: 1024No
gatewayIPNo

dhcp (meraki.domains.organizations.networks.switch_stacks.routing_interfaces)

Section titled “dhcp (meraki.domains.organizations.networks.switch_stacks.routing_interfaces)”
NameTypeConstraintMandatoryDefault Value
dhcp_modeChoicedhcpDisabled, dhcpRelay, dhcpServerNo
dhcp_relay_server_ipsListIPNo
dhcp_lease_timeChoice1 day, 1 hour, 1 week, 12 hours, 30 minutes, 4 hoursNo
dns_nameservers_optionChoicecustom, googlePublicDns, openDnsNo
dns_custom_nameserversListIPNo
boot_next_serverIPNo
boot_file_nameStringmin: 1, max: 127No
dhcp_optionsList[dhcp_options]No
reserved_ip_rangesList[reserved_ip_ranges]No
fixed_ip_assignmentsList[fixed_ip_assignments]No
boot_optionsBooleantrue, falseNo

dhcp_options (meraki.domains.organizations.networks.switch_stacks.routing_interfaces.dhcp)

Section titled “dhcp_options (meraki.domains.organizations.networks.switch_stacks.routing_interfaces.dhcp)”
NameTypeConstraintMandatoryDefault Value
codeStringRegex: ^([2-9]|1[0-9][0-9]?|2[0-9]|2[0-5][0-4]|[3-9][0-9])$Yes
typeChoicehex, integer, ip, textYes
valueStringmin: 1, max: 127Yes

reserved_ip_ranges (meraki.domains.organizations.networks.switch_stacks.routing_interfaces.dhcp)

Section titled “reserved_ip_ranges (meraki.domains.organizations.networks.switch_stacks.routing_interfaces.dhcp)”
NameTypeConstraintMandatoryDefault Value
startIPYes
endIPYes
commentStringmin: 1, max: 127Yes

fixed_ip_assignments (meraki.domains.organizations.networks.switch_stacks.routing_interfaces.dhcp)

Section titled “fixed_ip_assignments (meraki.domains.organizations.networks.switch_stacks.routing_interfaces.dhcp)”
NameTypeConstraintMandatoryDefault Value
nameStringmin: 1, max: 127Yes
macMACYes
ipIPYes

Example-1: The example below demonstrates switch stack routing interfaces configuration.

This configuration creates Layer 3 routing interfaces on switch stacks for inter-VLAN routing and gateway services. The example includes subnet assignment, VLAN associations, and routing parameters for stack-based Layer 3 functionality.

The switch stack named DEV_CORE includes two routing interfaces: CORP on subnet 100.65.10.0/24 with IP 100.65.10.1 and VLAN 10, and BMS on subnet 100.65.20.0/24 with IP 100.65.20.1 and VLAN 20. Both interfaces have multicast routing enabled, participate in OSPF area 0 with a cost of 1, and are set as passive interfaces. Additionally, the CORP interface acts as a DHCP server with a 30-minute lease time and uses Google Public DNS servers, while boot options are disabled.

meraki:
domains:
- name: !env domain
administrator:
name: !env org_admin
organizations:
- name: !env org
networks:
- name: !env network_name
product_types:
- appliance
- switch
- wireless
- camera
- sensor
- cellularGateway
switch_stacks:
- name: DEV_CORE
routing_interfaces:
- name: CORP
subnet: 100.65.10.0/24
interface_ip: 100.65.10.1
multicast_routing: enabled
vlan_id: 10
ospf_settings:
area: "0"
cost: 1
is_passive: true
dhcp:
dhcp_mode: dhcpServer
dhcp_lease_time: 30 minutes
dns_nameservers_option: googlePublicDns
boot_options: false
- name: BMS
subnet: 100.65.20.0/24
interface_ip: 100.65.20.1
multicast_routing: enabled
vlan_id: 20
ospf_settings:
area: "0"
cost: 1
is_passive: true
dhcp:
dhcp_mode: dhcpServer
dhcp_lease_time: 30 minutes
dns_nameservers_option: googlePublicDns
boot_options: false
- name: P2P
subnet: 100.65.2.0/24
interface_ip: 100.65.2.1
multicast_routing: disabled
vlan_id: 2
default_gateway: 100.65.2.2
ospf_settings:
area: "0"
cost: 1
is_passive: false
# ipv6:
# assignment_mode: static
# address: FC00:65::1
# prefix: FC00::/7
# gateway: FC00:65::2
dhcp:
dhcp_mode: dhcpDisabled