[c-nsp] C10K - CEF per packet load sharing inside VRF in 12.0(S) ?

Rodney Dunn rodunn at cisco.com
Thu Mar 1 16:00:20 EST 2007


This should work I think.

I remember an old bug fixed back in 12.0(23)S2 timeframe around this:

CSCdy23609 pplb on VRF interfaces not working

Can you open a TAC case on it?


On Wed, Feb 28, 2007 at 12:27:49AM -0000, David Freedman wrote:
> 
> 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
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> _______________________________________________
> cisco-nsp mailing list  cisco-nsp at puck.nether.net
> https://puck.nether.net/mailman/listinfo/cisco-nsp
> archive at http://puck.nether.net/pipermail/cisco-nsp/


More information about the cisco-nsp mailing list