Service Switchport Feature
This feature configures switchport functionality on SD-WAN devices, enabling Layer 2 switching capabilities with support for VLANs, 802.1X authentication, and MAC address management.
Diagram
Section titled “Diagram”Classes
Section titled “Classes”service_profiles (sdwan.feature_profiles)
Section titled “service_profiles (sdwan.feature_profiles)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| switchport_features | List | [switchport_features] | No |
switchport_features (sdwan.feature_profiles.service_profiles)
Section titled “switchport_features (sdwan.feature_profiles.service_profiles)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| name | String | Regex: ^[^<>!&" ]{1,128}$ | Yes | |
| description | String | No | ||
| age_out_time | Integer | min: 0, max: 1000000 | No | |
| age_out_time_variable | String | Regex: ^[./\[\]a-zA-Z0-9_-]{1,128}$ | No | |
| interfaces | List | [interfaces] | No | |
| static_mac_addresses | List | [static_mac_addresses] | No |
interfaces (sdwan.feature_profiles.service_profiles.switchport_features)
Section titled “interfaces (sdwan.feature_profiles.service_profiles.switchport_features)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| name | String | Regex: (ATM|ATM-ACR|AppGigabitEthernet|AppNav-Compress|AppNav-UnCompress|Async|BD-VIF|BDI|CEM|CEM-ACR|Cellular|Dialer|Embedded-Service-Engine|Ethernet|Ethernet-Internal|FastEthernet|FiftyGigabitEthernet|FiveGigabitEthernet|FortyGigabitEthernet|FourHundredGigE|GMPLS|GigabitEthernet|Group-Async|HundredGigE|L2LISP|LISP|Loopback|MFR|Multilink|Port-channel|SM|Serial|Service-Engine|TenGigabitEthernet|Tunnel|TwentyFiveGigE|TwentyFiveGigabitEthernet|TwoGigabitEthernet|TwoHundredGigE|Vif|Virtual-PPP|Virtual-Template|VirtualPortGroup|Vlan|Wlan-GigabitEthernet|nat64|nat66|ntp|nve|ospfv3|overlay|pseudowire|ucse|vasileft|vasiright|vmi)([0-9]*(. ?[1-9][0-9]*)*|[0-9/]+|[0-9]+/[0-9]+/[0-9]+:[0-9]+|[0-9]+/[0-9]+/[0-9]+|[0-9]+/[0-9]+|[0-9]+) | No | |
| name_variable | String | Regex: ^[./\[\]a-zA-Z0-9_-]{1,128}$ | No | |
| access_vlan | Integer | min: 1, max: 4094 | No | |
| access_vlan_variable | String | Regex: ^[./\[\]a-zA-Z0-9_-]{1,128}$ | No | |
| control_direction | Choice | both, in | No | |
| control_direction_variable | String | Regex: ^[./\[\]a-zA-Z0-9_-]{1,128}$ | No | |
| critical_vlan | Integer | min: 1, max: 4094 | No | |
| critical_vlan_variable | String | Regex: ^[./\[\]a-zA-Z0-9_-]{1,128}$ | No | |
| duplex | Choice | full, half | No | |
| duplex_variable | String | Regex: ^[./\[\]a-zA-Z0-9_-]{1,128}$ | No | |
| enable_dot1x | Boolean | true, false | No | |
| enable_periodic_reauth | Boolean | true, false | No | |
| enable_periodic_reauth_variable | String | Regex: ^[./\[\]a-zA-Z0-9_-]{1,128}$ | No | |
| enable_voice | Boolean | true, false | No | |
| enable_voice_variable | String | Regex: ^[./\[\]a-zA-Z0-9_-]{1,128}$ | No | |
| guest_vlan | Integer | min: 1, max: 4094 | No | |
| guest_vlan_variable | String | Regex: ^[./\[\]a-zA-Z0-9_-]{1,128}$ | No | |
| host_mode | Choice | single-host, multi-auth, multi-host, multi-domain | No | |
| host_mode_variable | String | Regex: ^[./\[\]a-zA-Z0-9_-]{1,128}$ | No | |
| inactivity | Integer | min: 1, max: 65535 | No | |
| inactivity_variable | String | Regex: ^[./\[\]a-zA-Z0-9_-]{1,128}$ | No | |
| mac_authentication_bypass | Boolean | true, false | No | |
| mac_authentication_bypass_variable | String | Regex: ^[./\[\]a-zA-Z0-9_-]{1,128}$ | No | |
| mode | Choice | access, trunk | Yes | |
| pae_enable | Boolean | true, false | No | |
| pae_enable_variable | String | Regex: ^[./\[\]a-zA-Z0-9_-]{1,128}$ | No | |
| port_control | Choice | auto, force-authorized, force-unauthorized | No | |
| port_control_variable | String | Regex: ^[./\[\]a-zA-Z0-9_-]{1,128}$ | No | |
| reauthentication | Integer | min: 1, max: 1073741823 | No | |
| reauthentication_variable | String | Regex: ^[./\[\]a-zA-Z0-9_-]{1,128}$ | No | |
| restricted_vlan | Integer | min: 1, max: 4094 | No | |
| restricted_vlan_variable | String | Regex: ^[./\[\]a-zA-Z0-9_-]{1,128}$ | No | |
| shutdown | Boolean | true, false | No | |
| shutdown_variable | String | Regex: ^[./\[\]a-zA-Z0-9_-]{1,128}$ | No | |
| speed | Choice | 10, 100, 1000, 2500, 10000, 25000 | No | |
| speed_variable | String | Regex: ^[./\[\]a-zA-Z0-9_-]{1,128}$ | No | |
| trunk_allowed_vlans | List | Integer[min: 1, max: 4094] | No | |
| trunk_allowed_vlans_variable | String | Regex: ^[./\[\]a-zA-Z0-9_-]{1,128}$ | No | |
| trunk_native_vlan | Integer | min: 1, max: 4094 | No | |
| trunk_native_vlan_variable | String | Regex: ^[./\[\]a-zA-Z0-9_-]{1,128}$ | No | |
| voice_vlan | Integer | min: 1, max: 4094 | No | |
| voice_vlan_variable | String | Regex: ^[./\[\]a-zA-Z0-9_-]{1,128}$ | No |
static_mac_addresses (sdwan.feature_profiles.service_profiles.switchport_features)
Section titled “static_mac_addresses (sdwan.feature_profiles.service_profiles.switchport_features)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| interface_name | String | Regex: (ATM|ATM-ACR|AppGigabitEthernet|AppNav-Compress|AppNav-UnCompress|Async|BD-VIF|BDI|CEM|CEM-ACR|Cellular|Dialer|Embedded-Service-Engine|Ethernet|Ethernet-Internal|FastEthernet|FiftyGigabitEthernet|FiveGigabitEthernet|FortyGigabitEthernet|FourHundredGigE|GMPLS|GigabitEthernet|Group-Async|HundredGigE|L2LISP|LISP|Loopback|MFR|Multilink|Port-channel|SM|Serial|Service-Engine|TenGigabitEthernet|Tunnel|TwentyFiveGigE|TwentyFiveGigabitEthernet|TwoGigabitEthernet|TwoHundredGigE|Vif|Virtual-PPP|Virtual-Template|VirtualPortGroup|Vlan|Wlan-GigabitEthernet|nat64|nat66|ntp|nve|ospfv3|overlay|pseudowire|ucse|vasileft|vasiright|vmi)([0-9]*(. ?[1-9][0-9]*)*|[0-9/]+|[0-9]+/[0-9]+/[0-9]+:[0-9]+|[0-9]+/[0-9]+/[0-9]+|[0-9]+/[0-9]+|[0-9]+) | No | |
| interface_name_variable | String | Regex: ^[./\[\]a-zA-Z0-9_-]{1,128}$ | No | |
| mac_address | String | Regex: ^([0-9A-Fa-f]{4}\.){2}([0-9A-Fa-f]{4})$ | No | |
| mac_address_variable | String | Regex: ^[./\[\]a-zA-Z0-9_-]{1,128}$ | No | |
| vlan_id | Integer | min: 1, max: 4094 | No | |
| vlan_id_variable | String | Regex: ^[./\[\]a-zA-Z0-9_-]{1,128}$ | No |
Examples
Section titled “Examples”Example-1: The example below demonstrates how to configure a service switchport feature with access mode interface and basic settings.
sdwan: feature_profiles: service_profiles: - name: service1 switchport_features: - name: service_switchport_1 description: Basic access port configuration age_out_time: 300 interfaces: - name: GigabitEthernet0/0/1 mode: access access_vlan: 100 speed: 1000 duplex: fullExample-2: The example below demonstrates how to configure a trunk port with VLAN ranges and 802.1X authentication.
sdwan: feature_profiles: service_profiles: - name: service1 switchport_features: - name: service_switchport_2 description: Trunk port with authentication interfaces: - name: GigabitEthernet0/0/2 mode: trunk trunk_native_vlan: 1 trunk_allowed_vlans: - 10 - 20 - 30 - 500-600 host_mode: multi-auth control_direction: both mac_authentication_bypass: true guest_vlan: 999 critical_vlan: 998 enable_voice: true voice_vlan: 300Example-3: The example below demonstrates how to configure static MAC address bindings.
sdwan: feature_profiles: service_profiles: - name: service1 switchport_features: - name: service_switchport_3 description: Switchport with static MAC addresses interfaces: - name: GigabitEthernet0/0/3 mode: access access_vlan: 150 static_mac_addresses: - interface_name: GigabitEthernet0/0/3 mac_address: 0102.0303.0402 vlan_id: 150