[c-nsp] mpls vpn load balancing issue [LONG]

Federico Cossu federico.cossu at gmail.com
Wed Jun 16 13:49:55 EDT 2010


(sorry i forget to add the tag in front of the subject)




hi all, my first post, please be kind! :)

i have a typical mpls network, as a nation-wide mpls-vpn topology,
where CE's are connected to PE's via eBGP sesssions.

P routers and PE routers are each other inside an ospf area 0,
all the PE's are connected to 3 core P's, and P's are acting as route
reflectors for all PE's with MP-Bgp.



       ce1 ce2 ..ceN
        \  |  /
         \ | /
           PE1
           |
           |
           P
          / \
         /   \
        /     \
       P-------P
      /         \
     /           \
    PE2        PE3
   /   |            /  |
  /    |           /   |
ce4 ce5---ce6  ce7


PE are fully meshed with all three P's,
please see Figure 6-5 for reference on
http://fengnet.com/book/MPLS%20Configuration%20on%20Cisco%20IOS%20Software/ch06lev1sec2.html

the ios is at Version 12.2(33)SRD2a.


on the PE's, "maximum-paths ibgb unequal 2 import 2" is configured
under the routing bgp process,
inside the <address-family ipv4 vrf $VRFNAME>.


based on this, think about two different CE's in the same AS 65xxx,
they are connected to two different PE for
redundancy. (ce5 and ce6 above, connected to PE2 and PE3 respectively)

BOTH ce5 and ce6 are advertising few routes, the SAME ROUTES for the
two CE's, these routes
are first statically configured and then announced via network command
under the bgp process

so for ce5 and ce6 i can see :
ip route 1.2.3.0 255.255.255.0 g1/0 a.b.c.d1
ip route 1.2.4.0 255.255.255.0 g1/1 a.b.c.d2
ip route 1.2.5.0 255.255.255.0 g1/0 a.b.c.d1
ip route 1.2.6.0 255.255.255.0 g1/1 a.b.c.d2

and then
router bgp 65xxx
network 1.2.3.0 mask 255.255.255.0
network 1.2.4.0 mask 255.255.255.0
network 1.2.5.0 mask 255.255.255.0
network 1.2.6.0 mask 255.255.255.0

the issue can be noticed on the remote PE1.
on this remote PE1, under the vrf bgp table, you can see that only one
of those 4 routes is load balanced
with 2 paths, the other 3 ones are not loadbalanced, even if all paths
are there in the bgp table for the vrf.

so for example on network 1.2.4.0 i have no multipath loadbalancing
even if there are 3 available paths:

PE1-ROUTER7600#sh ip bgp vpnv4 vrf $VRFNAME 1.2.4.0
BGP routing table entry for 10:1555:1.2.4.0/24, version 381822021
Paths: (3 available, best #3, table $VRFNAME)
Multipath: iBGP
 Advertised to update-groups:
    4          6
 65xxx, imported path from 10:8888:1.2.4.0/24
   10.1.2.2 (metric 45) from 10.0.0.2 (10.10.10.2)
     Origin IGP, metric 0, localpref 100, valid, internal
     Extended Community: RT:10:8888
     Originator: 10.1.2.99, Cluster list: 0.0.0.1
     mpls labels in/out nolabel/459

 65xxx, imported path from 10:7777:1.2.4.0/24
   10.1.2.3 (metric 45) from 10.0.0.3 (10.10.10.3)
     Origin IGP, metric 0, localpref 100, valid, internal
     Extended Community: RT:10:7777
     Originator: 10.1.2.88, Cluster list: 0.0.0.2
     mpls labels in/out nolabel/839

 65xxx, imported path from 10:7777:1.2.4.0/24
   10.1.2.3 (metric 45) from 10.0.0.2 (10.10.10.2)
     Origin IGP, metric 0, localpref 100, valid, internal, multipath, best
     Extended Community: RT:10:777
     Originator: 10.1.2.88, Cluster list: 0.0.0.1
     mpls labels in/out nolabel/839

on network 1.2.3.0 i do have multipath and loadbalancing as expected:

PE1-ROUTER7600#sh ip bgp vpnv4 vrf $VRFNAME 1.2.3.0
BGP routing table entry for 10:2222:1.2.3.0/24, version 381822020
Paths: (3 available, best #3, table $VRFNAME)
Multipath: iBGP
 Advertised to update-groups:
    3          5
 65xxx, imported path from 10:8888:1.2.3.0/24
   10.1.2.29 (metric 45) from 10.0.0.2 (10.10.10.2)
     Origin IGP, metric 0, localpref 100, valid, internal, multipath
     Extended Community: RT:10:8888
     Originator: 10.1.2.99, Cluster list: 0.0.0.1
     mpls labels in/out nolabel/1282

 65xxx, imported path from 10:7777:1.2.3.0/24
   10.1.2.28 (metric 45) from 10.0.0.3 (10.10.10.3)
     Origin IGP, metric 0, localpref 100, valid, internal
     Extended Community: RT:10:7777
     Originator: 10.1.2.88, Cluster list: 0.0.0.2
     mpls labels in/out nolabel/719

 65xxx, imported path from 10:7777:1.2.3.0/24
   10.1.2.28 (metric 45) from 10.0.0.2 (10.10.10.2)
     Origin IGP, metric 0, localpref 100, valid, internal, multipath, best
     Extended Community: RT:10:7777
     Originator: 10.1.2.88, Cluster list: 0.0.0.1
     mpls labels in/out nolabel/719

why for a network i have lodbalancing and for the other one i haven't?

other than the missing multipath,
why the vrf bgp table shows 3 paths, even if i configured it to import
only 2 at maximum?

lastly, the issue isn't "live" all the days, somedays i have 4 paths
for each prefix and multipathing occurs as well.

hope it's clear enough, i did also a dynamips emulation but everything
works fine there, even if with a newer 12.4T.

thanks to whom patiently read til here and thanks anyway.

best regards.





-- 
--



More information about the cisco-nsp mailing list