VLAN
VLAN interfaces, also known as Switched Virtual Interfaces (SVIs), provide Layer 3 gateway functionality for VLANs by creating routable interfaces associated with specific VLAN IDs, enabling inter-VLAN routing, network segmentation, and centralized gateway services for broadcast domains. They support comprehensive Layer 3 features including IPv4 and IPv6 addressing, routing protocol participation (OSPF, BGP), DHCP relay services, access control lists, and advanced capabilities such as BFD for fast convergence and HSRP/VRRP for high availability. VLAN interfaces are essential for network infrastructure design, serving as default gateways for VLANs, enabling communication between different network segments, and providing centralized routing and policy enforcement points in switched network environments.
Diagram
Section titled “Diagram”Classes
Section titled “Classes”interfaces (iosxe.devices.configuration)
Section titled “interfaces (iosxe.devices.configuration)”Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
vlans | List | [vlans] | No |
vlans (iosxe.devices.configuration.interfaces)
Section titled “vlans (iosxe.devices.configuration.interfaces)”Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
id | Integer | min: 1 , max: 4094 | Yes | |
interface_groups | List | String | No | |
description | String | No | ||
shutdown | Boolean | true , false | No | |
autostate | Boolean | true , false | No | |
vrf_forwarding | String | No | ||
ipv4 | Class | [ipv4] | No | |
ipv6 | Class | [ipv6] | No | |
bfd | Class | [bfd] | No | |
load_interval | Integer | min: 30 , max: 600 | No | |
mpls | Class | [mpls] | No | |
ospf | Class | [ospf] | No | |
ospfv3 | Class | [ospfv3] | No | |
pim | Class | [pim] | No |
ipv4 (iosxe.devices.configuration.interfaces.vlans)
Section titled “ipv4 (iosxe.devices.configuration.interfaces.vlans)”Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
address | IP | No | ||
address_mask | IP | No | ||
proxy_arp | Boolean | true , false | No | |
arp_inspection_trust | Boolean | true , false | No | |
arp_inspection_limit_rate | Integer | min: 0 , max: 4294967295 | No | |
dhcp_relay_source_interface_type | Choice | Loopback , Vlan , GigabitEthernet , FiveGigabitEthernet , TenGigabitEthernet , FortyGigabitEthernet , HundredGigabitEthernet , PortChannel | No | |
dhcp_relay_source_interface_id | String | No | ||
helper_addresses | List | [helper_addresses] | No | |
access_group_in | String | No | ||
access_group_out | String | No | ||
redirects | Boolean | true , false | No | |
unreachables | Boolean | true , false | No | |
unnumbered | String | No |
ipv6 (iosxe.devices.configuration.interfaces.vlans)
Section titled “ipv6 (iosxe.devices.configuration.interfaces.vlans)”Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
enable | Boolean | true , false | No | |
addresses | List | [addresses] | No | |
link_local_addresses | List | IP | No | |
address_autoconfig_default | Boolean | true , false | No | |
address_dhcp | Boolean | true , false | No | |
mtu | Integer | min: 1280 , max: 9976 | No | |
nd_ra_suppress_all | Boolean | true , false | No | |
flow_monitors | List | [flow_monitors] | No |
bfd (iosxe.devices.configuration.interfaces.vlans)
Section titled “bfd (iosxe.devices.configuration.interfaces.vlans)”Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
template | String | No | ||
enable | Boolean | true , false | No | |
local_address | String | No | ||
interval | Integer | min: 50 , max: 9999 | No | |
interval_min_rx | Integer | min: 50 , max: 9999 | No | |
interval_multiplier | Integer | min: 3 , max: 50 | No | |
echo | Boolean | true , false | No |
mpls (iosxe.devices.configuration.interfaces.vlans)
Section titled “mpls (iosxe.devices.configuration.interfaces.vlans)”Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
ip | Boolean | true , false | No | |
mtu | Integer | No |
ospf (iosxe.devices.configuration.interfaces.vlans)
Section titled “ospf (iosxe.devices.configuration.interfaces.vlans)”Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
cost | Integer | min: 1 , max: 65535 | No | |
dead_interval | Integer | min: 1 , max: 65535 | No | |
hello_interval | Integer | min: 1 , max: 65535 | No | |
mtu_ignore | Boolean | true , false | No | |
network_type | Choice | broadcast , non-broadcast , point-to-multipoint , point-to-point | No | |
priority | Integer | min: 0 , max: 255 | No | |
ttl_security_hops | Integer | min: 1 , max: 254 | No | |
process_ids | List | [process_ids] | No | |
message_digest_keys | List | [message_digest_keys] | No |
ospfv3 (iosxe.devices.configuration.interfaces.vlans)
Section titled “ospfv3 (iosxe.devices.configuration.interfaces.vlans)”Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
network_type | Choice | broadcast , non-broadcast , point-to-multipoint , point-to-point | No | |
cost | Integer | min: 1 , max: 65535 | No |
pim (iosxe.devices.configuration.interfaces.vlans)
Section titled “pim (iosxe.devices.configuration.interfaces.vlans)”Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
passive | Boolean | true , false | No | |
dense_mode | Boolean | true , false | No | |
sparse_mode | Boolean | true , false | No | |
sparse_dense_mode | Boolean | true , false | No | |
bfd | Boolean | true , false | No | |
border | Boolean | true , false | No | |
bsr_border | Boolean | true , false | No | |
dr_priority | Integer | min: 0 , max: 4294967294 | No |
helper_addresses (iosxe.devices.configuration.interfaces.vlans.ipv4)
Section titled “helper_addresses (iosxe.devices.configuration.interfaces.vlans.ipv4)”Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
address | IP | Yes | ||
global | Boolean | true , false | No | |
vrf | String | No |
addresses (iosxe.devices.configuration.interfaces.vlans.ipv6)
Section titled “addresses (iosxe.devices.configuration.interfaces.vlans.ipv6)”Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
prefix | IP | Yes | ||
eui_64 | Boolean | true , false | No |
flow_monitors (iosxe.devices.configuration.interfaces.vlans.ipv6)
Section titled “flow_monitors (iosxe.devices.configuration.interfaces.vlans.ipv6)”Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
name | String | Yes | ||
direction | Choice | input , output | Yes |
process_ids (iosxe.devices.configuration.interfaces.vlans.ospf)
Section titled “process_ids (iosxe.devices.configuration.interfaces.vlans.ospf)”Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
id | Integer | min: 1 , max: 65535 | No | |
areas | List | String | No |
message_digest_keys (iosxe.devices.configuration.interfaces.vlans.ospf)
Section titled “message_digest_keys (iosxe.devices.configuration.interfaces.vlans.ospf)”Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
id | Integer | min: 1 , max: 255 | Yes | |
md5_auth_key | String | No | ||
md5_auth_type | Choice | 0 , 7 | No |
Examples
Section titled “Examples”iosxe: devices: - name: Device1 configuration: interfaces: vlans: - id: 100 description: Production VLAN 100 Gateway shutdown: false autostate: true ipv4: address: 10.100.1.1 address_mask: 255.255.255.0 proxy_arp: false helper_addresses: - address: 10.1.1.10
Full example:
iosxe: devices: - name: Device1 configuration: interfaces: vlans: - id: 10 description: VLAN 10 interface_groups: - dot1x shutdown: false ipv4: address: 172.16.10.1 address_mask: 255.255.255.0 proxy_arp: true dhcp_relay_source_interface_type: GigabitEthernet dhcp_relay_source_interface_id: "1/0/1" helper_addresses: - address: 10.1.1.1 access_group_in: ACL_IN access_group_out: ACL_OUT redirects: false unreachables: false ipv6: enable: true addresses: - prefix: 2001:db8:10::1/64 link_local_addresses: - fe80::11 address_autoconfig_default: false address_dhcp: false mtu: 1450 nd_ra_suppress_all: true bfd: enable: true local_address: 1.2.3.4 interval: 100 interval_multiplier: 3 interval_min_rx: 120 echo: false mpls: ip: true mtu: 1450 ospf: cost: 50 dead_interval: 3 hello_interval: 1 mtu_ignore: true network_type: broadcast priority: 1 ttl_security_hops: 2 process_ids: - id: 1 areas: - "0.0.0.1" ospfv3: network_type: broadcast cost: 50 pim: passive: true dense_mode: false sparse_mode: false sparse_dense_mode: false bfd: true border: true bsr_border: true dr_priority: 100