Yes kids, the Cisco IOS IPv6 General-Prefix feature is cool
The Cisco IOS IPv6 General-Prefix feature has been around for awhile and has not been that widely used until lately. I have met with several customers who deployed the feature during their pilot deployments of IPv6 when they were using an RFC4193 Unique Local Address (ULA) or some temporary IPv6 prefix such as the RFC3849 IPv6 documentation prefix. They started out with one of these address prefixes until they were ready to use a provider-assigned or provider-independent prefix for production use to the outside world.
First off what is it? IPv6 General-Prefix is a feature developed by Cisco that allows you to associate a friendly/user-defined name to an IPv6 prefix. This friendly or user-defined name is then used on the interfaces of a switch or router in replacement of a fully defined prefix string. An example:
6k-agg-1(config)#ipv6 general-prefix ESE-DC-1 2001:DB8:CAFE::/48
The global configuration string above states that we are defining a friendly name of “ESE-DC-1″ and associating this with the IPv6 prefix of “2001:DB8:CAFE::/48. Now we can use this name on our interfaces instead of identifying the entire prefix by hand each time:
6k-agg-1(config-if)#ipv6 address ESE-DC-1 ::10:0:0:F1A1:6500/64
We can see the full details of the address using normal show commands:
6k-agg-1#show ipv6 interface vlan 10
Vlan10 is up, line protocol is up
IPv6 is enabled, link-local address is FE80::211:BCFF:FEC0:C800
Description: VLAN-SERVERFARM-WEB
Global unicast address(es):
2001:DB8:CAFE:10::F1A1:6500, subnet is 2001:DB8:CAFE:10::/64
Ok great, I can save myself some typing by using this friendly name business. What does this really do for me. Well, this allows you to very rapidly change, add or remove entire prefixes from a switch or router using a single command. For instance I know many accounts who were using ULA prefixes before connecting to the Internet over IPv6. When they needed to add or change to something like a Provider-Independent prefix they simply edited their general-prefix name (in the global configuration) and all of the subordinate addresses interfaces associated with that prefix change to the new prefix. Pretty cool huh?
Limitations:
-General-prefix is locally significant to each switch or router
-It does not work with ACLs or other policies that could or do use names (it would be super cool to have this feature work so that you could conditionally change the general-prefix and have it also change the prefixes of all ACLs using the same name as the general-prefix name…hmm, potential roadmap item.
)
Other considerations:
-You can use pretty much any prefix length (both on the general-prefix command and the subordinate interfaces)
-You can have multiple general-prefixes defined (just so they do not have the exact same name or exact same prefix).
More info can be found at the Cisco IOS documentation site:
http://bit.ly/jSJ96
Shannon

