[c-nsp] C10K - CEF per packet load sharing inside VRF in 12.0(S) ?
David Freedman
david.freedman at uk.clara.net
Tue Feb 27 19:27:49 EST 2007
I seem unable to perform CEF per-packet load sharing within
a VRF on this particular box.
The only striking thing about it is that it is a C10K and running 12.0(S).
I found a document at
http://www.cisco.com/univercd/cc/td/doc/product/software/ios124/124cg/hmp_c/
part20/mpbkvplb.htm#wp1076346
which seems to claim that such things are unsupported in 12.0S where TFIB
architecture (forwarding?) is being used but I am using LDP (LFIB) instead
and assumed that this does not apply (unless wording assumes both?)
If this is the case then please somebody nudge me so , otherwise
the full gory details are below:
Architecture:
-------------
C1008 with dual PRE-1, dual ch4OC3 cards and dual GigE cards.
GigE forms PE->P links and 4OC3 cards form PE->CE links.
Version:
--------
# sh ver
Cisco Internetwork Operating System Software
IOS (tm) 10000 Software (C10K-K4P10-M), Version 12.0(30)S4, RELEASE SOFTWARE
(fc1)
Config:
------
(IF A)
!
interface Se4/0/1.1/1/2/2:0.200
desc Interface A to CE router
ip vrf forwarding ABCD
ip address 10.44.34.57 255.255.255.252
ip load-sharing per-packet
!
#sh cef int Se4/0/1.1/1/2/2:0.200 | in CEF
IP Distributed CEF switching enabled
IP VPN CEF switching turbo vector
(IF B)
!
interface Se4/0/1.1/1/2/3:0.200
desc Interface B to CE router
ip vrf forwarding ABCD
ip address 10.44.34.53 255.255.255.252
ip load-sharing per-packet
!
#sh cef int Se4/0/1.1/1/2/3:0.200 | in CEF
IP Distributed CEF switching enabled
IP VPN CEF switching turbo vector
Static routes:
--------------
#sh run | in 10.9.4.0
ip route vrf CLUK10106 10.9.4.0 255.255.252.0 10.44.34.58
ip route vrf CLUK10106 10.9.4.0 255.255.252.0 10.44.34.54
RIB:
---
#sh ip ro vrf ABCD 10.9.4.1
Routing entry for 10.9.4.0/22
Known via "static", distance 1, metric 0
Redistributing via bgp 1234
Advertised by bgp 1234
Routing Descriptor Blocks:
* 10.44.34.58
Route metric is 0, traffic share count is 1
10.44.34.54
Route metric is 0, traffic share count is 1
CEF Data:
--------
#sh ip cef vrf ABCD 10.9.4.0
10.9.4.0/22, version 465, epoch 0, per-packet sharing
0 packets, 0 bytes
tag information set, all rewrites owned
local tag: 483
via 10.44.34.58, 0 dependencies, recursive
traffic share 1, current path
next hop 10.44.34.58, Serial4/0/1.1/1/2/2:0.200 via 10.44.34.56/30
(ABCD)
valid adjacency
tag rewrite with Se4/0/1.1/1/2/2:0.200, point2point, tags imposed {}
via 10.44.34.54, 0 dependencies, recursive
traffic share 1
next hop 10.44.34.54, Serial4/0/1.1/1/2/3:0.200 via 10.44.34.52/30
(ABCD)
valid adjacency
tag rewrite with Se4/0/1.1/1/2/3:0.200, point2point, tags imposed {}
0 packets, 0 bytes switched through the prefix
tmstats: external 0 packets, 0 bytes
internal 0 packets, 0 bytes
Internal CEF Data:
------------------
#sh ip cef vrf ABCD 10.9.4.0 internal
10.9.4.0/23, version 47, epoch 0, per-packet sharing
0 packets, 0 bytes
tag information set, all rewrites owned
local tag: 483
via 10.44.34.58, 0 dependencies, recursive
traffic share 1, current path
next hop 10.44.34.58, Serial4/0/1.1/1/2/2:0.200 via 10.44.34.56/30
(ABCD)
valid adjacency (0x6902E3A0)
tag rewrite with Se4/0/1.1/1/2/2:0.200, point2point, tags imposed {}
via 10.44.34.54, 0 dependencies, recursive
traffic share 1
next hop 10.44.34.54, Serial4/0/1.1/1/2/3:0.200 via 10.44.34.52/30
(ABCD)
valid adjacency (0x6902E0A0)
tag rewrite with Se4/0/1.1/1/2/3:0.200, point2point, tags imposed {}
0 packets, 0 bytes switched through the prefix
tmstats: external 0 packets, 0 bytes
internal 0 packets, 0 bytes
Load distribution: 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 (refcount 1)
Tags distribution: 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 (addr 69A66D18)
Hash OK Interface Address Packets Tags imposed
1 Y Serial4/0/1.1/1/2/2:0.200 point2point 0 none
2 Y Serial4/0/1.1/1/2/3:0.200 point2point 0 none
3 Y Serial4/0/1.1/1/2/2:0.200 point2point 0 none
4 Y Serial4/0/1.1/1/2/3:0.200 point2point 0 none
5 Y Serial4/0/1.1/1/2/2:0.200 point2point 0 none
6 Y Serial4/0/1.1/1/2/3:0.200 point2point 0 none
7 Y Serial4/0/1.1/1/2/2:0.200 point2point 0 none
8 Y Serial4/0/1.1/1/2/3:0.200 point2point 0 none
9 Y Serial4/0/1.1/1/2/2:0.200 point2point 0 none
10 Y Serial4/0/1.1/1/2/3:0.200 point2point 0 none
11 Y Serial4/0/1.1/1/2/2:0.200 point2point 0 none
12 Y Serial4/0/1.1/1/2/3:0.200 point2point 0 none
13 Y Serial4/0/1.1/1/2/2:0.200 point2point 0 none
14 Y Serial4/0/1.1/1/2/3:0.200 point2point 0 none
15 Y Serial4/0/1.1/1/2/2:0.200 point2point 0 none
16 Y Serial4/0/1.1/1/2/3:0.200 point2point 0 none
CEF Tests:
----------
#sh ip cef vrf ABCD exact-route 10.44.254.18 10.9.4.1
10.44.254.18 -> 10.9.4.1 : Serial4/0/1.1/1/2/2:0.200 (next hop
10.44.34.58)
#sh ip cef vrf ABCD exact-route 10.44.254.18 10.9.4.1
10.44.254.18 -> 10.9.4.1 : Serial4/0/1.1/1/2/3:0.200 (next hop
10.44.34.54)
#sh ip cef vrf ABCD exact-route 10.44.254.18 10.9.4.1
10.44.254.18 -> 10.9.4.1 : Serial4/0/1.1/1/2/2:0.200 (next hop
10.44.34.58)
#sh ip cef vrf ABCD exact-route 10.44.254.18 10.9.4.1
10.44.254.18 -> 10.9.4.1 : Serial4/0/1.1/1/2/3:0.200 (next hop
10.44.34.54)
#sh ip cef vrf ABCD exact-route 10.44.254.18 10.9.4.1
10.44.254.18 -> 10.9.4.1 : Serial4/0/1.1/1/2/2:0.200 (next hop
10.44.34.58)
#sh ip cef vrf ABCD exact-route 10.44.254.18 10.9.4.1
10.44.254.18 -> 10.9.4.1 : Serial4/0/1.1/1/2/3:0.200 (next hop
10.44.34.54)
#sh ip cef vrf ABCD exact-route 10.44.254.18 10.9.4.1
10.44.254.18 -> 10.9.4.1 : Serial4/0/1.1/1/2/2:0.200 (next hop
10.44.34.58)
#sh ip cef vrf ABCD exact-route 10.44.254.18 10.9.4.1
10.44.254.18 -> 10.9.4.1 : Serial4/0/1.1/1/2/3:0.200 (next hop
10.44.34.54)
#sh ip cef vrf ABCD exact-route 10.44.254.18 10.9.4.1
10.44.254.18 -> 10.9.4.1 : Serial4/0/1.1/1/2/2:0.200 (next hop
10.44.34.58)
#sh ip cef vrf ABCD exact-route 10.44.254.18 10.9.4.1
10.44.254.18 -> 10.9.4.1 : Serial4/0/1.1/1/2/3:0.200 (next hop
10.44.34.54)
Actual Experience:
------------------
$ traceroute-nanog -n 10.9.4.1
traceroute to 10.9.4.1 (10.9.4.1), 64 hops max, 40 byte packets
1 10.44.254.28 1 ms 0 ms 0 ms
2 10.44.34.53 [MPLS: Label 483 Exp 0] 1 ms 1 ms 1 ms
3 10.9.4.1 4 ms 3 ms 3 ms
$ traceroute-nanog -n 10.9.4.1
traceroute to 10.9.4.1 (10.9.4.1), 64 hops max, 40 byte packets
1 10.44.254.28 1 ms 0 ms 0 ms
2 10.44.34.53 [MPLS: Label 483 Exp 0] 1 ms 1 ms 1 ms
3 10.9.4.1 4 ms 3 ms 3 ms
$ traceroute-nanog -n 10.9.4.1
traceroute to 10.9.4.1 (10.9.4.1), 64 hops max, 40 byte packets
1 10.44.254.28 1 ms 0 ms 0 ms
2 10.44.34.53 [MPLS: Label 483 Exp 0] 1 ms 1 ms 1 ms
3 10.9.4.1 4 ms 3 ms 3 ms
>From PE itself:
#ping vrf ABCD 10.9.4.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.9.4.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/4/4 ms
Feb 27 21:32:49: ICMP: echo reply rcvd, src 10.9.4.1, dst 10.44.34.57
Feb 27 21:32:49: ICMP: echo reply rcvd, src 10.9.4.1, dst 10.44.34.57
Feb 27 21:32:49: ICMP: echo reply rcvd, src 10.9.4.1, dst 10.44.34.57
Feb 27 21:32:49: ICMP: echo reply rcvd, src 10.9.4.1, dst 10.44.34.57
Feb 27 21:32:49: ICMP: echo reply rcvd, src 10.9.4.1, dst 10.44.34.57
Many thanks,
David Freedman
More information about the cisco-nsp
mailing list