Configuring MPLS VPNs - Troubleshooting Any Transport Over MPLS Based VPNs
Configuring MPLS VPNs - Troubleshooting Any Transport Over MPLS Based VPNs
Configuring MPLS VPNs - Troubleshooting Any Transport Over MPLS Based VPNs
Search
🔎
Home Shop By Cert Formats Cisco Networking Academy Deals & Promotions Video Training Explore Community
Home > Articles > Cisco Network Technology > General Networking > Troubleshooting Any Transport over MPLS Based VPNs
http://www.ciscopress.com/articles/article.asp?p=391649&seqNum=2 1/19
14/09/2018 Configuring MPLS VPNs > Troubleshooting Any Transport over MPLS Based VPNs
When configuring an MPLS VPN, there are three types of devices that must be
configured, the CE router, the PE router, and the P router. The configuration of each of
these devices is discussed in this section.
It may be useful to reference Figure 6-31 on page 476 while reading this section. Note,
however, that not all configuration discussed in this section is illustrated.
NOTE
The CE router is not enabled for MPLS unless carrier's carrier MPLS VPNs are
configured.
Step 1 Configure the loopback interface to be used as the BGP update source
and LDP router ID.
http://www.ciscopress.com/articles/article.asp?p=391649&seqNum=2 2/19
14/09/2018 Configuring MPLS VPNs > Troubleshooting Any Transport over MPLS Based VPNs
Step 9 Configure the VRF instances.
Step 1: Configure the Loopback Interface to Be Used as the BGP Update Source
and LDP Router ID
A loopback interface should be configured to act as the update source for BGP sessions,
as well as the LDP router ID.
Ensure that the IP address on the loopback interface is configured with a 32-bit mask.
This will prevent a lot of problems later.
For example, if the IGP used in the MPLS backbone is OSPF, and the loopback interface
is not configured with a 32-bit mask, the PE router will advertise a label binding for the
loopback address with the mask as specified on the loopback interface. The route
advertised in OSPF to neighboring routers, on the other hand, will include a 32-bit mask.
This is because OSPF advertises loopback addresses with a 32-bit mask by default
(irrespective of the configured mask). The neighboring routers (LSRs) will create a label
binding that corresponds to the OSPF route advertised by the PE router (using the
advertised 32-bit mask), but because the label binding advertised by the PE router uses
the configured non-32-bit mask, an LSP failure will result.
There are two ways around this: either configure the loopback interface on the PE router
with a 32-bit mask, or configure the ip ospf network point-to-point command on the
loopback interface, which will cause OSPF to advertise the mask as it is actually
configured.
It is also very important to configure just one update source for MP-BGP if you intend to
configure MVPNs. More than one update source can break MVPN.
Example 6-1 shows the configuration of the loopback interface to be used as the BGP
update source and LDP router ID.
interface Loopback0
ip address 10.1.1.1 255.255.255.255
http://www.ciscopress.com/articles/article.asp?p=391649&seqNum=2 3/19
14/09/2018 Configuring MPLS VPNs > Troubleshooting Any Transport over MPLS Based VPNs
It's good practice to allocate one address block to use for all PE router loopback interface
addresses.
Note that PE router loopback addresses should not be summarized in the core because
this will break LSPs within the MPLS backbone.
Be sure to enable CEF. If CEF is not enabled on the PE router, MPLS will not function.
ip cef [distributed]
Note the keyword distributed. This is used to enable distributed CEF (dCEF). dCEF is
available on high-end platforms such as the 12000 GSR and 7500 series.
If using LDP in the MPLS backbone, you should configure LDP next. Note that TDP is the
default label distribution protocol on Cisco routers. Example 6-3 shows the global
configuration of LDP as the label distribution protocol.
The next step is to configure the TDP/LDP router ID. This step is optional, but it can make
the troubleshooting process easier if you are able to easily identify TDP/LDP routers in
the network.
In Example 6-4, the IP address on interface loopback 0 is configured as the LDP router
ID. Note the optional force keyword, which ensures that the IP address on interface
loopback 0, and not the IP address of any other interface, becomes the LDP router ID.
If the LDP router ID is not explicitly configured as shown in Example 6-4, the LDP ID will
become the highest loopback interface address or, in the absence of a loopback interface,
http://www.ciscopress.com/articles/article.asp?p=391649&seqNum=2 4/19
14/09/2018 Configuring MPLS VPNs > Troubleshooting Any Transport over MPLS Based VPNs
the highest IP address configured on a physical interface. It is definitely a good idea to
ensure that the LDP ID corresponds to a loopback interface because loopback interfaces
are always in an up state.
The next step is to enable MPLS on interfaces connected to other PE and P routers. Note
that when MPLS is enabled on the first interface, it is also globally enabled on the router.
interface Serial4/0
mpls ip
As previously mentioned, ATM interfaces can be configured for either frame-mode or cell-
mode.
Frame-mode can be configured over ATM PVCs between edge LSRs. In this case,
intervening ATM switches do not participate in MPLS at all and do not need to be MPLS-
enabled.
Example 6-6 shows the configuration of an ATM interface for frame-mode MPLS.
In Example 6-6, MPLS is enabled on an ATM PVC with VPI/VCI 1/50. Note that the
subinterface type is point-to-point and that the mpls ip command is configured on the
subinterface.
ATM interfaces can also be configured for cell-mode MPLS. These interfaces are known
as Label Controlled ATM (LC-ATM) interfaces.
Example 6-7 shows the configuration of cell-mode MPLS on an ATM interface of an IOS
router.
http://www.ciscopress.com/articles/article.asp?p=391649&seqNum=2 5/19
14/09/2018 Configuring MPLS VPNs > Troubleshooting Any Transport over MPLS Based VPNs
In Example 6-7, the subinterface type is mpls. Also note the command mpls ip on the
subinterface itself.
When cell-mode MPLS is enabled on an ATM interface, a PVC with VPI/VCI 0/32 (by
default) is automatically created for control plane traffic.
Although it is possible to use any IGP for IP reachability within the MPLS VPN backbone,
IS-IS and OSPF are the two most commonly chosen because they are the only two IGPs
that currently support MPLS traffic engineering.
The OSPF and IS-IS protocol configurations covered in the two sections that follow are
only examples.
IS-IS
Example 6-8 shows the configuration of IS-IS for IP reachability within the MPLS VPN
backbone.
router isis
passive-interface Loopback0
net 49.0001.0000.0000.0001.00
is-type level-2-only
metric-style wide
Interface loopback 0 is then enabled for IS-IS using the passive-interface loopback0
command. Note that because the interface is passive, no IS-IS packets are needlessly
sent on the interface.
Be sure to advertise the BGP update source into the IS-IS. If the update source is not
advertised, MPLS VPNs will break.
Finally, the command metric-style wide configures the router to send and to receive only
new style 24- or 32-bit metrics. Support for new style metrics are essential if you are
intending to use MPLS traffic engineering.
Ensure that all IS-IS routers in the backbone are configured to support standard or wide
metrics (or both). IS-IS must also be enabled on each of its core interfaces.
http://www.ciscopress.com/articles/article.asp?p=391649&seqNum=2 6/19
14/09/2018 Configuring MPLS VPNs > Troubleshooting Any Transport over MPLS Based VPNs
Example 6-9 shows the configuration of IS-IS on core interfaces.
interface FastEthernet1/0
ip router isis
In Example 6-9, IS-IS for IP is enabled on interface FastEthernet1/0 using the command
ip router isis.
OSPF
Example 6-10 shows the configuration of OSPF for IP reachability within the MPLS VPN
backbone.
The command router ospf 100 enables OSPF process 100 on the PE router.
All backbone interfaces in network 10.0.0.0/8 are placed in OSPF area 0 using the
network 10.0.0.0 0.255.255.255 area 0 command.
Be sure to advertise the BGP update source into OSPF. If the update source is not
advertised, MPLS VPNs will break.
Note that if your network consists of ATM-LSRs, make sure that summarization of IGP
routes is not configured on P routers. This is because ATM-LSRs have no "IP intelligence"
on the data plane.
MP-BGP is used to advertise customer routes across the MPLS VPN backbone between
PE routers. The configuration of MP-BGP is a two-step process, with neighbors being
configured globally and then activated for MP-BGP route exchange under the VPNv4
(VPN-IPv4) address family.
http://www.ciscopress.com/articles/article.asp?p=391649&seqNum=2 7/19
14/09/2018 Configuring MPLS VPNs > Troubleshooting Any Transport over MPLS Based VPNs
The first command, router bgp autonomous_system, enables BGP on the PE router.
The command no auto-summary is used to ensure that routes redistributed into BGP
(via the redistribute command) are not summarized at major network boundaries.
One other command that might be useful on the PE router is the no bgp default ipv4-
unicast command, which disables the exchange of global BGP (Internet) routes. Only
MP-BGP, and not global BGP, routes are required for MPLS VPN functionality.
MP-BGP is used for the exchange of VPN routes between the PE routers. MP-BGP route
exchange must be activated under the VPNv4 address family.
The command address-family vpnv4 is used to enter the VPNv4 address family
configuration mode.
http://www.ciscopress.com/articles/article.asp?p=391649&seqNum=2 8/19
14/09/2018 Configuring MPLS VPNs > Troubleshooting Any Transport over MPLS Based VPNs
The command neighbor ip_address send-community extended is configured by default
and enables the exchange of BGP extended communities, such as route target and site of
origin.
TIP
If you want BGP peers to also exchange standard BGP communities, you must use the
keyword both in place of the extended keyword.
Note that if route reflectors are used for VPN route exchange between PE routers, ensure
that they are also configured for MP-BGP route exchange between route reflector clients.
The next step is the configuration of the VRFs, as demonstrated in Example 6-13.
ip vrf mjlnet_VPN
rd 64512:100
route-target export 64512:100
route-target import 64512:100
NOTE
It is worth noting that VRF names are case-sensitive and have local significance
only. They do not need to match between the PE-routers, although it is good
practice.The second line, rd 64512:100, is used to configure the route distinguisher
for the VRF. The VRF, in this case, uses the ASN:XX format (autonomous system
number : local administrator number).
Next comes the configuration of the export and import route targets. The route
targets here also use the ASN:XX format.
The route-target export 64512:100 comand configures an export route target. This
route target is attached to customer routes when they are redistributed into MP-
BGP.
It is also possible to use an export map to advertise selected routes with certain
route targets. This can be useful, for example, when advertising the loopback
interface addresses of CE routers with a certain route target. These CE router
loopback IP address routes can then be imported into a management VRF so that
the provider can remotely manage the CE routers.
NOTE
http://www.ciscopress.com/articles/article.asp?p=391649&seqNum=2 9/19
14/09/2018 Configuring MPLS VPNs > Troubleshooting Any Transport over MPLS Based VPNs
For more information about the configuration of export-maps, see the following
URL:http://www.cisco.com/en/US/products/sw/iosswrel/ps1831/products_command_reference_chapter09186a0080080c7a.html#1058515
The route-target import 64512:100 command configures an import route target.
This command is used to specify which routes are imported into the VRF. In this
case, routes with an attached route target of 64512:100 will be imported.
Routes can be more selectively imported into a VRF using an import map.
NOTE
interface Serial4/1
ip vrf forwarding mjlnet_VPN
Configuration of the PE-CE routing protocol varies according to whether RIP version 2,
EIGRP, OSPF, or EBGP is being used. Static routes can also be used for PE-CE
connectivity.
The sections that follow describe configuration of the various PE-CE routing protocols.
RIP Version 2
When configuring RIP version 2 for PE-CE routing, most of the configuration is under the
IPv4 address family. Example 6-15 shows the configuration of RIP version 2 for PE-CE
routing.
router rip
version 2
!
address-family ipv4 vrf mjlnet_VPN
version 2
redistribute bgp 64512 metric transparent
network 172.16.0.0
http://www.ciscopress.com/articles/article.asp?p=391649&seqNum=2 10/19
14/09/2018 Configuring MPLS VPNs > Troubleshooting Any Transport over MPLS Based VPNs
no auto-summary
exit-address-family
The command router rip enables RIP on the PE router. RIP version 2 is then configured
using the command version 2.
Next comes the address-family ipv4 vrf vrf_name command. RIP configuration for the
VRF is configured under the IPv4 address family.
By specifying version 2 globally (directly under router rip), it is inherited by all the
address families configured under RIP.
Under the address family, be sure to specify redistribution from (MP-BGP or BGP into
RIP. Alternatively, you can originate a default route into RIP if it is a large network.
Remember that customer routes are advertised between PE routers using MP-BGP.
These routes are then imported into the customer VRFs. The command redistribute bgp
autonomous_system metric transparent can then be used to redistribute these routes
into RIP for advertisement to the attached customer site or sites.
Note the use of metric transparent. RIP metrics are preserved when they are advertised
in MP-BGP (they are copied into the MED attribute), which ensures that these metrics are
redistributed back into RIP unmodified.
Make sure that a metric, whether a specific metric or the keyword transparent, is
configured when redistributing MP-BGP routes into RIP. If one is not specified, the routes
may not be redistributed.
The rest of the configuration is pretty standard stuff, with the network command used to
specify the networks enabled for RIP, and the no-auto-summary command used to
ensure that networks are not summarized at major network boundaries. Note that no
auto-summary is on by default under the address family.
EIGRP
Configuration of EIGRP is similar to RIP, with most parameters configured under the IPv4
address-family.
router eigrp 10
no auto-summary
!
address-family ipv4 vrf mjlnet_VPN
redistribute bgp 64512 metric 1 1 255 1 1500
network 172.16.0.0
no auto-summary
autonomous-system 100
exit-address-family
The router eigrp 10 command enables EIGRP autonomous system 10 on the PE router.
http://www.ciscopress.com/articles/article.asp?p=391649&seqNum=2 11/19
14/09/2018 Configuring MPLS VPNs > Troubleshooting Any Transport over MPLS Based VPNs
The second command is no auto-summary. This ensures that networks are not
summarized at major network boundaries.
The configuration of EIGRP for PE-CE connectivity itself is specified under an IPv4
address-family (address-family ipv4 vrf vrf_name). Each customer VRF requires a
separate address family.
The configuration under the IPv4 address family starts with redistribution of MP-BGP
routes from other customer sites into EIGRP using redistribute bgp autonomous_system
metric metric (bandwidth, delay, reliability, load, and MTU). Make sure that you specify a
metric when redistributing MP-BGP routes into EIGRP. If one is not specified,
redistribution may fail. Next is the network command, which is used to specify the
networks enabled for EIGRP. The no auto-summary command is configured by default
under the address family.
NOTE
If you want all the sites in the VPN to be in the same EIGRP autonomous system,
the autonomous system number must be consistent for the VRF on all PE routers.
OSPF
When configuring OSPF, a separate OSPF process must be configured for each customer
VRF running OSPF as the PE-CE routing protocol.
Example 6-17 shows the configuration of OSPF for customer site routing.
The first command in the configuration is router ospf process_ID vrf vrf_name. In this
case, OSPF process 100 is configured for VRF mjlnet_VPN.
NOTE
If you want all the sites in the VPN to be in the same OSPF autonomous system, the
process ID configured for the VRF on all PE routers must be the same. Alternatively,
use the domain-id command to configure a consistent domain ID number (by
default, the domain ID corresponds to the OSPF process ID).
The OSPF domain ID is carried in the Domain Identifier BGP extended community
described in Internet Draft draft-ietf-l3vpn-ospf-2547.
http://www.ciscopress.com/articles/article.asp?p=391649&seqNum=2 12/19
14/09/2018 Configuring MPLS VPNs > Troubleshooting Any Transport over MPLS Based VPNs
The third command is redistribute bgp autonomous_system subnets. This is used to
configure redistribution of MP-BGP (routes from remote sites) into OSPF. Note the
subnets keyword. This ensures that subnets, and not just major networks, are
redistributed.
EBGP
Configuration of EBGP for PE-CE connectivity is pretty straightforward. Again, most of the
configuration is under the IPv4 address family.
The address-family ipv4 vrf vrf_name command is used to enter the IPv4 address family
configuration mode.
The first command under the IPv4 address family is neighbor ip_address remote-as
autonomous_system. This configures the IP address and autonomous system of the CE
router.
Next is neighbor ip_address activate. This activates the BGP session with the CE router.
Note that unlike for other PE-CE routing protocols, redistribution is unnecessary from MP-
BGP into EBGP.
Static Routes
Static routes can also be used for PE-CE connectivity. Example 6-19 shows configuration
of static routes for PE-CE connectivity.
http://www.ciscopress.com/articles/article.asp?p=391649&seqNum=2 13/19
14/09/2018 Configuring MPLS VPNs > Troubleshooting Any Transport over MPLS Based VPNs
Configuration of static routes is the same as that for regular static routes with the network,
mask, and next-hop specified. The vrf keyword must be used, however, to ensure that the
static route is placed in the VRF specified (in this case, mjlnet_VPN).
Note also the permanent keyword. This can optionally be used to ensure that the route
will remain in the VRF even if reachability to the next hop is lost. This can be important for
stability when redistributing static routes into MP-BGP.
The final step is to configure the redistribution of customer routes into MP-BGP, as
demonstrated in Example 6-20.
The address-family ipv4 vrf vrf_name command is used to enter the IPv4 address family
configuration mode.
The redistribute rip command is used to redistribute customer RIPv2 routes into MP-
BGP.
For OSPF, the command redistribute ospf process_ID match internal external 1
external 2 can be used. Note that in this case, internal and external type 1 and 2 routes
are redistributed.
Finally, if static routes are being used, the command redistribute static can be used. It is
also worth noting that if EBGP is being used, redistribution is not required.
http://www.ciscopress.com/articles/article.asp?p=391649&seqNum=2 14/19
14/09/2018 Configuring MPLS VPNs > Troubleshooting Any Transport over MPLS Based VPNs
Chengdu_PE#show running-config
Building configuration...
Current configuration : 3434 bytes
!
version 12.0
service nagle
no service pad
service tcp-keepalives-in
service timestamps debug datetime msec localtime show-timezone
service timestamps log datetime msec localtime show-timezone
service password-encryption
!
hostname Chengdu_PE
!
logging buffered 16384 debugging
enable secret 5 $1$4pDG$mVThUgDZG33pNYZ20.UKU/
!
ip subnet-zero
no ip source-route
!
! Enable Cisco Express Forwarding (CEF)
ip cef
!
!
no ip finger
no ip bootp server
!
! Configure the VPN Routing and Forwarding (VRF) instances
ip vrf mjlnet_VPN
rd 64512:100
route-target export 64512:100
route-target import 64512:100
!
ip vrf cisco_VPN
rd 64512:200
route-target export 64512:200
route-target import 64512:200
!
! Configure the label distribution protocol
mpls label protocol ldp
no mpls traffic-eng auto-bw timers frequency 0
!
! Configure the TDP/LDP router-id (tag-switching tdp router-id = mp
tag-switching tdp router-id Loopback0 force
!
! Configure the loopback interface to be used as the BGP update sou
interface Loopback0
ip address 10.1.1.1 255.255.255.255
no ip directed-broadcast
!
! Configure MPLS on core interfaces
interface FastEthernet1/0
ip address 10.20.10.1 255.255.255.0
no ip redirects
no ip directed-broadcast
no ip proxy-arp
ip router isis
tag-switching ip
no cdp enable
!
! Configure VRF interfaces
interface Serial4/1
ip vrf forwarding mjlnet_VPN
ip address 172.16.4.1 255.255.255.0
no ip redirects
http://www.ciscopress.com/articles/article.asp?p=391649&seqNum=2 15/19
14/09/2018 Configuring MPLS VPNs > Troubleshooting Any Transport over MPLS Based VPNs
no ip directed-broadcast
no ip proxy-arp
encapsulation ppp
no cdp enable
!
interface Serial4/2
ip vrf forwarding cisco_VPN
ip address 192.168.4.1 255.255.255.0
no ip redirects
no ip directed-broadcast
no ip proxy-arp
no cdp enable
!
! Configure PE-CE routing protocol for cisco_VPN
router ospf 200 vrf cisco_VPN
log-adjacency-changes
redistribute bgp 64512 subnets
network 192.168.4.0 0.0.0.255 area 0
!
! Configure the MPLS VPN backbone IGP
router isis
passive-interface Loopback0
net 49.0001.0000.0000.0001.00
is-type level-2-only
metric-style wide
!
! Configure PE-CE routing protocol for mjlnet_VPN
router rip
version 2
!
address-family ipv4 vrf mjlnet_VPN
version 2
redistribute bgp 64512 metric transparent
network 172.16.0.0
no auto-summary
exit-address-family
!
! Configure basic BGP parameters
router bgp 64512
no synchronization
bgp log-neighbor-changes
neighbor 10.1.1.4 remote-as 64512
neighbor 10.1.1.4 update-source Loopback0
neighbor 10.1.1.6 remote-as 64512
neighbor 10.1.1.6 update-source Loopback0
no auto-summary
!
! Configure MP-BGP neighbor relationships
address-family vpnv4
neighbor 10.1.1.4 activate
neighbor 10.1.1.4 send-community extended
neighbor 10.1.1.6 activate
neighbor 10.1.1.6 send-community extended
no auto-summary
exit-address-family
!
! Redistribute customer routes into MP-BGP
address-family ipv4 vrf cisco_VPN
redistribute ospf 200 match internal external 1 external 2
no auto-summary
no synchronization
exit-address-family
!
address-family ipv4 vrf mjlnet_VPN
redistribute rip
no auto-summary
http://www.ciscopress.com/articles/article.asp?p=391649&seqNum=2 16/19
14/09/2018 Configuring MPLS VPNs > Troubleshooting Any Transport over MPLS Based VPNs
no synchronization
exit-address-family
!
ip classless
!
logging trap debugging
!
!
line con 0
exec-timeout 0 0
password 7 1511021F0725
login
line aux 0
line vty 0 4
password 7 110A1016141D
login
!
end
You might notice that a number of commands discussed in this section are not
immediately apparent in the configuration shown in Example 6-21. An example is the
mpls ip command. In fact, the mpls keyword is translated into the tag-switching
keyword. This allows backward compatibility with versions of the Cisco IOS software that
do not support the mpls keyword.
The only exception to this is the mpls label protocol command, which remains in its
original form.
Step 1 Configure the loopback interface to be used as the LDP router ID.
http://www.ciscopress.com/articles/article.asp?p=391649&seqNum=2 17/19
14/09/2018 Configuring MPLS VPNs > Troubleshooting Any Transport over MPLS Based VPNs
As you can see, these six steps are identical to the first six steps for the configuration of
the PE router. Please refer to the previous section for an explanation of each of these
steps.
Chengdu_P#show running-config
Building configuration...
Current configuration : 1991 bytes
!
version 12.0
service nagle
no service pad
service tcp-keepalives-in
service timestamps debug datetime msec localtime show-timezone
service timestamps log datetime msec localtime show-timezone
service password-encryption
!
hostname Chengdu_P
!
logging buffered 16384 debugging
no logging console
enable secret 5 $1$4pDG$mVThUgDZG33pNYZ20.UKU/
!
ip subnet-zero
no ip source-route
!
! Enable Cisco Express Forwarding (CEF)
ip cef
!
!
no ip finger
no ip bootp server
!
! Configure the label distribution protocol
mpls label protocol ldp
no mpls traffic-eng auto-bw timers frequency 0
!
! Configure the TDP/LDP router-id
tag-switching tdp router-id Loopback0 force
!
! Configure the loopback interface to be used as the LDP router id
interface Loopback0
ip address 10.1.1.2 255.255.255.255
no ip directed-broadcast
!
! Configure MPLS on core interfaces
interface FastEthernet1/0
ip address 10.20.10.2 255.255.255.0
no ip redirects
no ip directed-broadcast
no ip proxy-arp
ip router isis
tag-switching ip
no cdp enable
!
interface Serial1/0
ip address 10.20.20.1 255.255.255.0
http://www.ciscopress.com/articles/article.asp?p=391649&seqNum=2 18/19
14/09/2018 Configuring MPLS VPNs > Troubleshooting Any Transport over MPLS Based VPNs
no ip redirects
no ip directed-broadcast
no ip proxy-arp
ip router isis
encapsulation ppp
tag-switching ip
no fair-queue
no cdp enable
!
interface Serial1/1
ip address 10.20.40.1 255.255.255.0
no ip redirects
no ip directed-broadcast
no ip proxy-arp
ip router isis
encapsulation ppp
tag-switching ip
no fair-queue
no cdp enable
!
!
! Configure IS-IS as the MPLS VPN backbone IGP
router isis
passive-interface Loopback0
net 49.0001.0000.0000.0002.00
is-type level-2-only
metric-style wide
!
ip classless
!
logging trap debugging
!
line con 0
exec-timeout 0 0
password 7 1511021F0725
login
line aux 0
line vty 0 4
password 7 110A1016141D
login
!
end
Notice again that the mpls keyword has been converted into the tag-switching keyword
for backward compatibility. This completes the configuration of MPLS VPNs.
About Affiliates Cisco Systems, Inc. Contact Us FAQ Jobs Legal Notice Privacy Notice Site Help Site Map Write for Us
http://www.ciscopress.com/articles/article.asp?p=391649&seqNum=2 19/19