Configuring an interface persona
A persona is a template interface. It is a mechanism intended to ease the process of configuring one or multiple interfaces that behave in the same manner. For example, a persona could be an uplink interface with a well-known collection of VLANs to which it belongs. Instead of manually configuring each interface one-by-one, the persona collects the common configuration settings and allows them to be applied on the interface or a collection of interfaces.
Persona configuration is similar to configuring other interfaces. Most of the commands in the interface context are available. Because of the nature of the commands, several of them do not apply to the persona (for example, applying the same IP address configuration to several ports) and have been removed from the available list.
Configuration AAA and port-access commands is not supported within the interface context when configuring a persona:
switch(config)# interface persona access
switch(config-if)#port-access <command>
switch(config-if)#aaa <command>
In addition, the following commands are not supported:
aaa authentication port-access dot1x authenticator macsec
aaa authentication port-access dot1x supplicant
aaa authentication port-access dot1x authenticator mka cak-length
arp ipv4 <IPV4_ADDR> mac <MAC_ADDR>
downshift-enable
energy-efficient-ethernet
error-control { auto | none | base-r-fec | rs-fec }
ip bootp-gateway <IPV4-ADDR>
ip forward-protocol udp <IPV4-ADDR> {<PORT-NUM> | <PROTOCOL>}
ip helper-address <IPV4-ADDR> [vrf <VRF-NAME>]
ip igmp router-alert-check [enable | disable]
ip igmp snooping [auto vlan <VLAN-LIST>]
ip igmp snooping [blocked vlan <VLAN-LIST>]
ip igmp snooping [fastleave vlan <VLAN-LIST>]
ip igmp snooping [forced-fastleave vlan <VLAN-LIST>]
ip igmp snooping [forward vlan <VLAN-LIST>]
ip ospf <PROCESS-ID> area <AREA-ID>
ip ospf passive
ip rip <PROCESS-ID> {all-ip | ip-address}
ip rip all-ip disable
ip rip all-ip enable
ip rip all-ip receive disable
ip rip all-ip send disable
ipv6 helper-address multicast {all-dhcp-servers | <MULTICAST-IPV6-ADDR>} egress <PORT-NUM>
ipv6 mld snooping [auto vlan <VLAN-LIST>]
ipv6 mld snooping [blocked vlan <VLAN-LIST>]
ipv6 mld snooping [fastleave vlan <VLAN-LIST>]
ipv6 mld snooping [forced-fastleave vlan <VLAN-LIST>]
ipv6 mld snooping [forward vlan <VLAN-LIST>]
ipv6 neighbor <IPV6-ADDR> mac <MAC-ADDR>
ipv6 ospfv3 <PROCESS-ID> area <AREA-ID>
ipv6 ospfv3 passive
ipv6 ripng <PROCESS-ID>
lacp port-id <PORT-ID>
lacp port-priority <PORT-PRIORITY>
lag <ID>
link-poe
lldp dot3 eee
lldp dot3 poe
lldp med poe
lldp med poe [priority-override]
persona {access | uplink | custom <PERSONA-NAME>} [copy | attach]
port-access port-security sticky-learn mac-address
power-over-ethernet
power-over-ethernet allocate-by {usage | class}
power-over-ethernet assigned-class {3 | 4 | 6 | 8}
power-over-ethernet pd-class-override
power-over-ethernet power-pairs {alt-a|alt-a-and-alt-b}
power-over-ethernet pre-std-detect
power-over-ethernet priority {critical|high|low}
ptp lag-role {primary | secondary}
spanning-tree cost <PORT-COST>
spanning-tree instance <INSTANCE-ID> cost <PORT-COST>
spanning-tree instance <INSTANCE-ID> port-priority <PRIORITY-MULTIPLIER>
spanning-tree port-priority <PRIORITY-MULTIPLIER>
spanning-tree vlan <A:1-4094> cost <0-200000000>
spanning-tree vlan <A:1-4094> port-priority <0-15>
split [confirm]
track by <OBJECT-ID>
vsx-sync {access-lists | qos | rate-limits | vlans | policies | irdp}
Modes
There are three supported modes:
1. Copy—The copy mode is a one-step configuration that copies the persona configuration to an interface. Further changes to the persona will not be applied to the interfaces using that mode.
2. Attach—Unlike the copy mode, besides applying the configuration to the interface immediately, the attach mode also follows the persona configuration. It means that the subsequent changes to the persona will be applied to the interfaces attached to it.
3. Label—The label mode follows the interface persona configuration. The two exceptions are copy and attach modes. The label mode classifies the purpose of an interface and maintains functionality without requiring a persona to exist.
Predefined and custom persona names
There are two predefined interface persona names:
- uplink
- access
These names have no predefined configuration. To use them, they must be manually configured as needed. You can also create personas with a custom name. These custom personas can be created and configured in the same manner as the predefined ones. The only difference is the command used to apply them to the interface. The procedure below provides the details.
Creating and configuring an interface persona
Follow these steps to create and configure an interface persona:
- Create the interface persona with the command interface persona <PERSONA-NAME>.
- Set the interface configuration as any other physical interface.
- Review the configuration with the command show running-configuration current-context.
- Switch to an interface context with the command interface <PORT>.
- Apply the persona configuration to the interface and set the mode with the command persona custom <PERSONA-NAME> <mode>. Note that <custom> is listed among the three arguments required for configuration.
For information on this feature, see the related video on the AirHeads Broadcasting Channel.
All interface configurations related to Device-Profile are supported persona interface.
Examples
To copy a predefined persona name configuration to an interface:
1. Configure the interface persona:
switch(config)# interface persona uplink switch(config-if)# no shutdown switch(config-if)# no routing switch(config-if)# vlan access 100 switch(config-if)# exit
2. Apply the configuration with copy mode:
switch(config)# interface 1/1/1 switch(config-if)# persona uplink copy switch(config-if)# exit
To attach a custom persona name to several interfaces simultaneously:
1. Configure the interface persona:
switch(config)# interface persona mytemplate switch(config-if)# no shutdown switch(config-if)# vrf attach upstream switch(config-if)# exit
2. Apply the configuration with attach mode:
switch(config)# interface 1/1/1-1/1/24 switch(config-if)# persona custom mytemplate attach switch(config-if)# exit
To label a custom persona name to an interface:
1. Apply the configuration with label mode:
switch(config)# interface 1/1/1
switch(config-if)# persona custom mypersona
switch(config-if)# exit