06-05-2016 12:18 PM
Contents
Graceful insertion of VSM card on ASR9000 routers
Part-A: VSM card readiness
VSM Services Infra Pie |
asr9k-services-infra.pie |
CGv6 Services pie |
asr9k-services-px.pie |
FPD PIE |
asr9k-fpd-px.pie |
VSM OVA Package |
asr9k-vsm-cgv6-<version>.ova |
Mandatory SMU(s) for target release |
asr9k-CSCxxxxx-px.pie |
Part-B: installation with service configuration
Check with Show install summary
Check with sh hw-module fpd location all
Note: - To identify the bare minimum mandatory SMUs we need for VSM in key releases using CSM, Please refer below link.
Note: - Pre-533 IOS XR code, disabling CoPP TFTP config was required. From IOS-XR 5.3.3 no TFTP config changes required.
RP/0/RSP0/CPU0:ESC_CGN(config)#show run
Building configuration...
control-plane
management-plane
out-of-band
interface all
allow TFTP
end
RP/0/RSP0/CPU0:ESC_CGN(config)#commit
Step 1: Copy cgn.ova file to RSP (E.g. to disk0:)
Step 2: Enable virtual service.
RP/0/RSP0/CPU0:Esc_CGN(config)#virtual-service enable
RP/0/RSP0/CPU0:Esc_CGN(config)#commit
Step 3: Install CGN OVA using CLI from execution mode:
RP/0/RSP0/CPU0:Esc_CGN# virtual-service install name cgn123 package disk0:/asr9k-vsm-cgv6-<version>.ova node 0/1/CPU0
Please note: Installation will take about 6-8 minutes.
Step 4: Check installation progress using show virtual-service list CLI. When the status is shown as "Installed", installation is completed.
RP/0/RSP0/CPU0:Esc_CGN#sh virtual-service list
Mon May 17 18:01:38.310 UTC
Virtual Service List:
Name Status Package Name
_________________________________________________________
cgn123 Installing asr9k-vsm-cgv6-<version>.ova
RP/0/RSP0/CPU0:Esc_CGN#sh virtual-service list
Mon May 17 18:10:17.291 UTC
Virtual Service List:
Name Status Package Name
_________________________________________________________
cgn123 Installed asr9k-vsm-cgv6-<version>.ova
Activate CGv6 VM
Step 1: Configure CGv6 VM, 10-GE interfaces and Activate
RP/0/RSP0/CPU0:Esc_CGN#conf t
Mon May17 18:10:25.525 UTC
RP/0/RSP0/CPU0:Esc_CGN(config)#virtual-service cgn123
RP/0/RSP0/CPU0:Esc_CGN(config-virt-service)#vnic interface tenGigE 0/1/1/0
RP/0/RSP0/CPU0:Esc_CGN(config-virt-service)#vnic interface tenGigE 0/1/1/1
………
RP/0/RSP0/CPU0:Esc_CGN(config-virt-service)#vnic interface tenGigE 0/1/1/10
RP/0/RSP0/CPU0:Esc_CGN(config-virt-service)#vnic interface tenGigE 0/1/1/11
RP/0/RSP0/CPU0:Esc_CGN(config-virt-service)#commit
Mon May17 18:11:34.285 UTC
RP/0/RSP0/CPU0:Esc_CGN(config-virt-service)#activate
RP/0/RSP0/CPU0:Esc_CGN(config-virt-service)#commit
Step 2: Un-shut and assign description to VNIC interface
Bring up 10-GE interfaces on VSM
Must before configuring any ServiceInfra/App interfaces
-------------------------------------------------------
Interface TenGigE 0/1/1/0
Description VSM VNIC 1 ===>>>
No shut
Interface TenGigE 0/1/1/1
Description VSM VNIC 2
No shut
.......
Interface TenGigE 0/1/1/11
Description VSM VNIC 12
No shut
(Note: Adding interface Description is best practice. This will help VNIC interfaces in Admin UP state [Post Installation/Config activity] once VSM card reloaded due to any operational reasons. )
Step 3: Check VM status via show virtual-service list CLI till it shows as "Activated".
RP/0/RSP0/CPU0: Esc_CGN#sh virtual-service list
Mon May 2 18:12:23.863 UTC
Virtual Service List:
Name Status Package Name
_________________________________________________________
cgn123 Activated asr9k-vsm-cgv6-<version>.ova
Please note: After activating the VM, it will take some 5 min for CGv6 Application processes to come up.
Step 4: Configure ServiceInfra interface.
RP/0/RSP0/CPU0:Esc_CGN#conf t
RP/0/RSP0/CPU0:Esc_CGN(config)# interface ServiceInfra 1
RP/0/RSP0/CPU0:Esc_CGN(config-int)# ipv4 address <IP> <mask>
RP/0/RSP0/CPU0:Esc_CGN(config-int)# service-location 0/1/CPU0
RP/0/RSP0/CPU0:Esc_CGN(config-int)# commit
Step 5: Configure Ingress interfaces
interface TenGigE1/0/0/0
Add it to Inside VRF
vrf ivrf1
Assign IP address to it
interface TenGigE1/0/0/1
vrf ivrf2
Assign IP address to it
Step 6: Configure Egress interfaces
interface TenGigE0/2/0/0
vrf ovrf1
Add it to Inside VRF
interface TenGigE0/2/0/1
vrf ovrf2
Add it to Inside VRF
Step 6: Configure CGN and NAT44 Service parameters
Define CGN Instance
service cgn cgn1
-- Define location
service-location preferred-active 0/1/CPU0
- Define NAT44 Service Type and instance (one per VSM card)
service-type nat44 nat1
- Define per-user Port limit for NAT44 instance
portlimit 250
inside-vrf ivrf1
- Define Public IP address Pool
map outside-vrf ovrf1 address-pool 9.0.0.0/24
- Define inside VRF
inside-vrf ivrf2
- Define Public IP address Pool
map outside-vrf ovrf2 address-pool 9.1.0.0/24
Step 7: Configure Inside and Outside ServiceApp interfaces
Define Inside Service App interfaces
interface ServiceApp 1
-- Define VRF where it should belong to (optional)
vrf ivrf1
- Assign IPv4 address and netmask
- Define CGN instance and service type in which it belongs to
service cgn cgn1 service-type nat44
interface ServiceApp 3
vrf ivrf2
- Assign IPv4 address and netmask
service cgn cgn1 service-type nat44
-- Define Outside Service App interfaces
interface ServiceApp 2
vrf ovrf1
- Assign IPv4 address and netmask
service cgn cgn1 service-type nat44
interface ServiceApp 4
vrf ovrf2
- Assign IPv4 address and netmask
service cgn cgn1 service-type nat44
Step 8: Configure Inside and Outside ServiceApp interfaces
Define inside Service App interfaces
interface ServiceApp 1
-- Define VRF where it should belong to (optional)
vrf ivrf1
- Assign IPv4 address and netmask
- Define CGN instance and service type in which it belongs to
service cgn cgn1 service-type nat44
interface ServiceApp 3
vrf ivrf2
- Assign IPv4 address and netmask
service cgn cgn1 service-type nat44
-- Define Outside Service App interfaces
interface ServiceApp 2
vrf ovrf1
- Assign IPv4 address and netmask
service cgn cgn1 service-type nat44
interface ServiceApp 4
vrf ovrf2
- Assign IPv4 address and netmask
service cgn cgn1 service-type nat44
Step 9: Define static route for Inside-to-outside traffic
router static
-- Specify the Inside VRF
vrf ivrf1
- Define address family
address-family ipv4 unicast
- Re-direct all traffic to Inside Service App
0.0.0.0/0 ServiceApp 1
router static
vrf ivrf2
address-family ipv4 unicast
0.0.0.0/0 ServiceApp 3
Step 10: Define static route for Outside-to-inside traffic
router static
vrf ovrf1
address-family ipv4 unicast
-Assign IP pool ServiceApp 2
router static
vrf ovrf2
address-family ipv4 unicast
-Assign IP pool ServiceApp 4
Refer link for service Configuration
Part-C: Traffic restoration on VSM
Redundancy options on VSM card.
Note 1: - on VSM-500 card for redundancy enabling reload we don’t need to enable
service-cgv6-ha location 0/1/CPU0 puntpath-test command. This command is only applicable
to ISM-100 card.
Note 2: The data/punt path failures will be detected even if the CLI is not enabled but the card won’t be
reloaded if any problem encounter between CGv6 App to CGv6 HA Agent or vice versa.
VSM on ASR9000 supports 1:1 warm standby redundancy.
1:1 Warm-Standby Redundancy
RP/0/RSP0/CPU0:Esc_CGN(config)#
service cgn HA_CGN
service-location preferred-active 0/1/CPU0 preferred-standby 0/2/CPU0 >>>>>
RP/0/RP0/CPU0:Esc_CGN#show services redundancy
Service type Name Pref. Active Pref. Standby
--------------------------------------------------------------------------------
ServiceInfra ServiceInfra1 0/1/CPU0 Active
ServiceInfra ServiceInfra2 0/2/CPU0 Active
ServiceCgn HA_CGN 0/2/CPU0 Standby 0/1/CPU0 Active
For redundancy enabling reload for data path tests need to config below command on CGN router for VSM-500 card:-
RP/0/RSP1/CPU0:Esc_CGN#configure
RP/0/RSP1/CPU0:Esc_CGN(config)#service-cgv6-ha location 0/x/CPU0 datapath-test
RP/0/RSP1/CPU0:Esc_CGN(config)#commit
CGN n:1 Redundancy with ABF (NAT44)
Note: - User needs to configure datapath tests knob to detect failure at CGv6 App to CGv6 HA Agent of VSM-500 card
service cgn ABF-cgn-HA1
service-location preferred-active 0/0/CPU0
service-type nat44 nat44-ABF
inside-vrf Inside-1
map address-pool 10.0.0.0/24
!
service cgn ABF-cgn-HA2
service-location preferred-active 0/1/CPU0
service-type nat44 nat44-ABF2
inside-vrf Inside-2
map address-pool 10.0.1.0/24
!
service cgn ABF-cgn-HA-backup
service-location preferred-active 0/2/CPU0
service-type nat44 nat44-ABF-backup
inside-vrf iBackUp-1
map address-pool 10.0.0.0/24
inside-vrf iBackUp-2
map address-pool 10.0.1.0/24
!
ipv4 access-list CGN-ABF-HA
10 permit ipv4 9.1.0.0/24 any nexthop1 vrf Inside-1 ipv4 100.68.51.6 nexthop2 vrf iBackUp-1 ipv4 100.68.33.6
20 permit ipv4 9.2.1.0/24 any nexthop1 vrf Inside-2 ipv4 100.68.151.6 nexthop2 vrf iBackUp-2 ipv4 100.68.33.6
100 permit ipv4 any any
!
router static
address-family ipv4 unicast
110.1.0.0/16 100.1.1.2 description Ixia-i2o-Default
151.0.0.0/24 ServiceApp2 1 description Static-Ixia-o2i-ABF
151.0.1.0/24 ServiceApp4 1 description Static-Ixia-o2i-ABF
151.0.0.0/24 ServiceApp6 2 description Floating-static-Ixia-o2i-ABF
151.0.1.0/24 ServiceApp6 2 description Floating-static-Ixia-o2i-ABF
Performance / Scalability information between ISM and VSM card.
Per Blade Limits |
ISM |
VSM |
NAT44 instances supported |
1 per card |
1 per card |
End-point Dependent Filtering |
Not Supported |
Supported |
TCP Sequence Check |
Not Supported |
Supported |
CLI: map ip many-to-one |
Supported |
Not Supported |
Number of service infra |
1 |
1 |
Number of service app |
244 (per system) |
256 per card |
IP pool supported |
/16 to /30 (max 65535 addresses) |
/16 to /27(max 65535 addresses) |
Max Static Port forwarding |
6K |
6K |
Max number of NAT users |
1M |
4M |
FIB scale |
512k |
1M |
Configuration CLIs |
Same |
Same |
Uses SVI |
Yes |
Yes |
Network Processor |
No, handled by a dedicated process |
Yes (Typhoon) |
Egress FIB Lookup |
Within CGv6 App |
On Typhoon NPU |
ServiceApp placement |
Associated with Niantic port/VQI |
Associated with NP ports / Niantic ports |
# of CGv6 instances |
8 |
48 |
Stateless protocols (in CGN card) |
6rd, MAP-T/E |
6rd, MAP-T/E |
Inline support |
Yes for SL protocols |
With Typhoon & Tomahawk LC for MAP-T/E & 6rd |
12-18-2016 05:17 AM
Hi all
I have simulated the ISM redundancy and it functions well
When i turn down one of the modules (the primary) , the traffic is redirected to the secondary module via ABF , the ping continues but the web traffic is lost for a while and comes back again , why the ping is keep working and is there a specific timer that I can tune in order to change the TCP/UDP traffic behavior?
BR,
Mohammad
07-03-2017 03:09 AM
Hi Nitin,
I am trying to implement "cold-redundancy" with 2 VSM located on 2 different ASR9912 and using ABF with Track feature.
First of all, regardless of the Track feature, I only manage to direct traffic to the inside VRF with this ABF line:
720 permit ipv4 host 172.16.19.9 any nexthop1 vrf PAT3
RP/0/RP0/CPU0:RZ01-9912-01#sh access-lists ipv4 CGN hardware ingress location 0/1/CPU0
Mon Jul 3 11:58:56.951 mesz
ipv4 access-list CGN
720 permit ipv4 host 172.16.19.9 any (next-hop: addr=0.0.0.0, vrf name=PAT3)
If I put the IP address of the ServiceApp interface together with the inside VRF (see below), it won't work.
720 permit ipv4 host 172.16.19.9 any nexthop1 vrf PAT3 ipv4 172.17.77.9
This is the output of the above command:
RP/0/RP0/CPU0:RZ01-9912-01#sh access-lists ipv4 CGN hardware ingress location 0/1/CPU0
Mon Jul 3 12:00:36.341 mesz
ipv4 access-list CGN
720 permit ipv4 host 172.16.19.9 any
When I then add the track option, even the first example won't work.
720 permit ipv4 host 172.16.19.9 any nexthop1 vrf PAT3 track PAT3
Any idea about what could be wrong?
Thanks in advance for your help!
Cheers,
Stefano
09-27-2016 04:11 AM
And for scalability , I am confused regarding the max number of NAT users mentioned in the table above (which says 4M for VSM and 1M for ISM)
RP/0/RSP0/CPU0:UM-HQ1-CGN-3G-NAT1#sh cgn nat44 nat1 statistics
Sun Sep 4 13:31:04.144 AST
Statistics summary of NAT44 instance: 'nat1'
Number of active translations: 5451912
Number of sessions: 246854
Translations create rate: 26727
Translations delete rate: 25376
Inside to outside forward rate: 1047085
Outside to inside forward rate: 1685388
Inside to outside drops port limit exceeded: 5320844
Inside to outside drops system limit reached: 0
Inside to outside drops resource depletion: 0
No translation entry drops: 4902541717
PPTP active tunnels: 4
PPTP active channels: 4
PPTP ctrl message drops: 7113
Number of subscribers: 311582
Drops due to session db limit exceeded: 0
Drops due to source ip not configured: 0
Is it Number of sessions ?
BR,
Mohammad
10-07-2016 07:59 AM
Hey Mohammad,
Number of active translations: 5451912 >>> This number indicates per user translation request.
Number of subscribers: 311582 >>> This number indicates total number of active users.
Aside to the query, by seeing the stats, it looks you have either wrong load balancing of traffic among the service apps or less configured port limit. There are high number of drops.
high time for you to optimize the CGN solution over VSM. if port-limit is default then increase it either globally or per VRF basis and check the performance.
Thanks
Nitin Pabbi
08-22-2016 05:54 AM
Hi Nitin
What am thinking of is restrictions on ABF
Is there an limitation on ABF ? as I read that the ABF will not work when the nexthop is VRF?
Thanks
BR,
Mohammad
08-19-2016 06:48 AM
Just a comment. I would revise:
Note: - Pre-533 IOS XR code, disabling CoPP TFTP config was required. From IOS-XR 5.3.3 no TFTP config changes required.
OVA didn't install properly until I added tftp to control-plane config.
Regards,
c.
08-19-2016 10:42 AM
Hey Carlos,
If user don't disable management plane config or not edit MPP to allow TFTP then OVA installation will get fail.
This is because of due to default binding between MPP and application.
We have fixed this behavior in 532 code through DDTS CSCut56161.
That way you dont need to disable COPP or enable TFTP on MGMT interface from 532 release onwards.
HTH
Thanks
Nitin Pabbi
08-19-2016 10:42 AM
What I was trying to say (maybe poorly) is that I know for a fact that it didn't work for me in 5.3.3.
08-19-2016 11:08 AM
Hey Carlos,
If you help me with error log or can share the access to your node which is in broken state then i can understand the issue.
Otherwise if you have opened SR with Cisco then please share with me.
Below is the error you get when OVA installation fails due to the bug i shared:-
RP/0/RSP0/CPU0:Node1#RP/0/RSP0/CPU0:Mar 25 14:56:55.648 : service_mgr[407]: %OS-SMGR-3-VM_INSTALL_FAIL : 'Install' of service VM 'cgn1' Failed. Error: SM SVC[cgn1]: 'cgn1' VM Installation failed, err code [1], err : VM [cgn1, 0/2/CPU0]: Install failed, server failure result: Failed to tftp
RP/0/RSP0/CPU0:Mar 25 14:56:56.026 : service_mgr[407]: %OS-LIB_VMAN-3-INSTALL_FAILURE : Virtual Service[cgn1]::Install::The installation of the virtual service failed
Thanks
Nitin Pabbi
08-19-2016 12:41 PM
Well, I opened 680802487, but the case is not related to my comments above. Thanks, Nitin.
08-22-2016 07:53 AM
Hi, Nitin:
I was wondering if you could help with this. I have 2 VSMs, one of them seems to be working fine since I see this:
RP/0/RSP0/CPU0:XXXXX# show services redundancy
Mon Aug 22 09:16:59.876 CST
Service type Name Pref. Active Pref. Standby
--------------------------------------------------------------------------------
ServiceInfra ServiceInfra1 0/7/CPU0 Active
ServiceCgn cgn1 0/7/CPU0 Active
RP/0/RSP0/CPU0:XXXXX#
On the other one, I see this (check log message):
RP/0/RSP0/CPU0:YYYYY#show services redundancy
Mon Aug 22 09:25:09.468 CST
Service type Name Pref. Active Pref. Standby
--------------------------------------------------------------------------------
ServiceInfra ServiceInfra1 0/7/CPU0 Active
ServiceCgn cgn1 0/7/CPU0 Offline
RP/0/RSP0/CPU0:YYYYY#
and
LC/0/7/CPU0:Aug 22 09:21:29.350 : secontroller[326]: %SERVICES-SESVI_EA-3-INTERNAL_ERR : ens_read_failed (ignore this error if cgv6 is not configured or sesvi_ea process is not yet spawned) with error : No such process
Both were installed with the same procedure and (up to this point) are configured exactly alike. Is there anything that jumps out at you?
Thanks in advance!
c.
Forgot to add this:
RP/0/RSP0/CPU0:XXXXX#show cgn nat44 NAT44 statistics
Mon Aug 22 09:51:43.606 CST
Unable to obtain requested information Error:'cgn' detected the 'warning' condition 'LWM Channel not open'
RP/0/RSP0/CPU0:XXXXX#
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide