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:

  1. Create the interface persona with the command interface persona <PERSONA-NAME>.
  2. Set the interface configuration as any other physical interface.
  3. Review the configuration with the command show running-configuration current-context.
  4. Switch to an interface context with the command interface <PORT>.
  5. 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