[c-nsp] OSPF equal cost load balancing

CiscoNSP List CiscoNSP_list at hotmail.com
Thu Aug 31 09:20:57 EDT 2017


Thanks James - Really appreciate the assistance on this :)


Ive done a little more digging, checked fnf on 2 ASR1001's that  are directly connected to the ME3600 to see top talkers - now, a quick check of cef exact route of some of those active conversations, and cef is telling me it is load-balancing: (Netflix src), the below conversations were totaling ~18Mb/sec, none (Apparently) using Gi0/0/20...Yet Gi0/0/20 is currently running at ~450Mb/sec, with gi0/0/21,22,23 sitting at basically idle.....so, cef exact route is not reporting what is actually happening.


#sh ip cef exact-route 23.246.28.134 CCC.CCC.127.223
23.246.28.134 -> CCC.CCC.127.223 => label [30|30]TAG adj out of GigabitEthernet0/0/23, addr YYY.YYY.230.102
#sh ip cef exact-route 23.246.28.134 CCC.CCC.127.48
23.246.28.134 -> CCC.CCC.127.48 => label [30|30]TAG adj out of GigabitEthernet0/0/22, addr XXX.XXX.67.152
#sh ip cef exact-route 23.246.28.134 CCC.CCC.126.213
23.246.28.134 -> CCC.CCC.126.213 => label [30|30]TAG adj out of GigabitEthernet0/0/21, addr XXX.XXX.67.154
#sh ip cef exact-route 23.246.28.134 CCC.CCC.127.218
23.246.28.134 -> CCC.CCC.127.218 => label [30|30]TAG adj out of GigabitEthernet0/0/21, addr XXX.XXX.67.154


Then to your question re software CEF tables and whats programmed in hardware?:


show platform hardware pp active feature cef database ipv4 YYY.YYY.229.193/32

show platform hardware pp active feature cef database ipv4 YYY.YYY.229.194/32

show platform hardware pp active feature cef database ipv4 YYY.YYY.229.192/30


I checked those - I get no output(Same with the active FNF IP's above.....but, if I check directly connected IP's, and PE Loop addresses, I get hits...but only on these addresses...we do selective next-hop route filtering, and also only advertise labels for those same prefixes(mpls ldp advertise-labels for FOO_BAR)....could this be causing an issue? (i.e. those are the only prefixes that are actually getting load-balanced?  Everything else is getting thrown down Gi0/0/20?)


Im going to open a tac case, but I wonder if we tried L3 portchan we would actually get load-balancing....hmm....if we do, I dont understand why(Other than the etherchannel encapsulating the load-balancing that is actually happening...i.e Its "seen" as a single (virtual) Int?).....but I need to get a solution in place...last resort Ill start moving the bigger users to the ASR920....was hoping to avoid this...



sh platform hardware output for the 2 loop addresses on the ASR1001's connected to the ME3600...


#show platform hardware pp active feature cef database ipv4 XXX.XXX.76.213/32
=== CEF Prefix ===
XXX.XXX.76.213/32 -- next hop: UEA Load Balance (PI:0x1072a1d8, PD:0x120f39e8)
                Route Flags: (0)
                Handles (PI:0x10636250) (PD:0x11adef88)

  HW Info:
    TCAM handle: 0x00000158    TCAM index: 0x00000016
    FID index  : 0x00006832    EAID      : 0x00003e1e
    MET        : 0x0002a9d0    FID Count : 0x00000002


=== Load Balance OCE ===
   PI:0x1072a1d8, PD:0x120f39e8
   FID Count: 0x00000004

     Load Balance HW Info:
     Hardware Index: 0
       FID Index: 0x00006832    RW Index  : 0x00000000
       MET      : 0x0002a9d0    EAID      : 0x00003e1e
       EL3 Index : 0x000015b2   EL2 Index : 0x00000000
       Hardware Rewrite Str: 00:00:00:00:00:00:00:00:00:00:00:00

     Load Balance HW Info:
     Hardware Index: 1
       FID Index: 0x00006833    RW Index  : 0x00000000
       MET      : 0x0002a9d2    EAID      : 0x00003e1f
       EL3 Index : 0x000015b4   EL2 Index : 0x00000000
       Hardware Rewrite Str: 00:00:00:00:00:00:00:00:00:00:00:00

     Load Balance HW Info:
     Hardware Index: 2
       FID Index: 0x00006834    RW Index  : 0x00000000
       MET      : 0x0002a9b9    EAID      : 0x00003e20
       EL3 Index : 0x000015a6   EL2 Index : 0x00000000
       Hardware Rewrite Str: 00:00:00:00:00:00:00:00:00:00:00:00

     Load Balance HW Info:
     Hardware Index: 3
       FID Index: 0x00006835    RW Index  : 0x00000000
       MET      : 0x0002a9c6    EAID      : 0x00003e21
       EL3 Index : 0x000015aa   EL2 Index : 0x00000000
       Hardware Rewrite Str: 00:00:00:00:00:00:00:00:00:00:00:00

=== Label OCE ===
  Label flags: 20
  Num Labels: 1
  Num Bk Labels: 1
  Out Labels: 29
  Out Backup Labels: 29
  Next OCE Type: Fast ReRoute OCE; Next OCE handle: 0x123cdc38

=== FRR OCE ===
  FRR type         : IP FRR
  FRR state        : Primary
  Primary IF's gid : 21 (DPIDX : 0) Backup IF's DPIDX : 0
  Primary FID      : 0x00006859
  PPO handle       : 0x00000000
  Next OCE         : Adjacency (0x123b4c68)
  Bkup OCE         : Adjacency (0x12105c58)
  Primary BDI      : 0 (Index : 0)
  Backup BDI       : 0 (Index : 0)
  FRR Intf info at Primary array index     DPIDX 0, FRR count 0, MET 0x00000000 0x00000000, EAID 0x00000000
  FRR Intf info at Backup array index      DPIDX 0, FRR count 0, MET 0x00000000 0x00000000, EAID 0x00000000
  Primary HW Info:
     fi_handle FID index: 0x00000000    EAID index: 0x00000000
     nh_handle MET index: 0x00000000    EAID index: 0x00000000
     EL3ID 0x00000000
  Backup HW Info:
     nh_handle MET index: 0x00000000    EAID index: 0x00000000

=== Adjacency OCE ===
  Adj State: COMPLETE(0)   Address: XXX.XXX.67.156
  Interface: GigabitEthernet0/0/20   Protocol: TAG
  mtu:9100, flags:0x0, fixups:0x0, encap_len:14
  Handles (adj_id:0x000007df) (PI:0x107292d8) (PD:0x123b4c68)
  Rewrite Str: 34:62:88:2a:49:d5:00:a6:ca:cf:2c:94:88:47

  HW Info:
    FID index: 0x000065bc    EL3 index: 0x00001015    EL2 index: 0x00000000
    El2RW    : 0x00000128    MET index: 0x00032049    EAID     : 0x00001012
    HW ADJ FLAGS: 0x40
    Hardware MAC Rewrite Str: 00:00:00:00:00:00:00:00:00:00:00:00

=== Adjacency OCE ===
  Adj State: COMPLETE(0)   Address: XXX.XXX.67.154
  Interface: GigabitEthernet0/0/21   Protocol: TAG
  mtu:9100, flags:0x0, fixups:0x0, encap_len:14
  Handles (adj_id:0x000007db) (PI:0x10729058) (PD:0x12105c58)
  Rewrite Str: 34:62:88:2a:49:d6:00:a6:ca:cf:2c:95:88:47

  HW Info:
    FID index: 0x00006597    EL3 index: 0x00001016    EL2 index: 0x00000000
    El2RW    : 0x00000126    MET index: 0x00032047    EAID     : 0x00001013
    HW ADJ FLAGS: 0x40
    Hardware MAC Rewrite Str: 00:00:00:00:00:00:00:00:00:00:00:00

=== Label OCE ===
  Label flags: 20
  Num Labels: 1
  Num Bk Labels: 1
  Out Labels: 29
  Out Backup Labels: 29
  Next OCE Type: Fast ReRoute OCE; Next OCE handle: 0x123d2318

=== FRR OCE ===
  FRR type         : IP FRR
  FRR state        : Primary
  Primary IF's gid : 24 (DPIDX : 0) Backup IF's DPIDX : 0
  Primary FID      : 0x0000685b
  PPO handle       : 0x00000000
  Next OCE         : Adjacency (0x11b41688)
  Bkup OCE         : Adjacency (0x123b4c68)
  Primary BDI      : 0 (Index : 0)
  Backup BDI       : 0 (Index : 0)
  FRR Intf info at Primary array index     DPIDX 0, FRR count 0, MET 0x00000000 0x00000000, EAID 0x00000000
  FRR Intf info at Backup array index      DPIDX 0, FRR count 0, MET 0x00000000 0x00000000, EAID 0x00000000
  Primary HW Info:
     fi_handle FID index: 0x00000000    EAID index: 0x00000000
     nh_handle MET index: 0x00000000    EAID index: 0x00000000
     EL3ID 0x00000000
  Backup HW Info:
     nh_handle MET index: 0x00000000    EAID index: 0x00000000

=== Adjacency OCE ===
  Adj State: COMPLETE(0)   Address: YYY.YYY.230.102
  Interface: GigabitEthernet0/0/23   Protocol: TAG
  mtu:9100, flags:0x0, fixups:0x0, encap_len:14
  Handles (adj_id:0x0000008f) (PI:0x10648c80) (PD:0x11b41688)
  Rewrite Str: 34:62:88:2a:49:d8:00:a6:ca:cf:2c:97:88:47

  HW Info:
    FID index: 0x00006063    EL3 index: 0x00001018    EL2 index: 0x00000000
    El2RW    : 0x0000010c    MET index: 0x0003202a    EAID     : 0x00001011
    HW ADJ FLAGS: 0x40
    Hardware MAC Rewrite Str: 00:00:00:00:00:00:00:00:00:00:00:00

=== Adjacency OCE ===
  Adj State: COMPLETE(0)   Address: XXX.XXX.67.156
  Interface: GigabitEthernet0/0/20   Protocol: TAG
  mtu:9100, flags:0x0, fixups:0x0, encap_len:14
  Handles (adj_id:0x000007df) (PI:0x107292d8) (PD:0x123b4c68)
  Rewrite Str: 34:62:88:2a:49:d5:00:a6:ca:cf:2c:94:88:47

  HW Info:
    FID index: 0x000065bc    EL3 index: 0x00001015    EL2 index: 0x00000000
    El2RW    : 0x00000128    MET index: 0x00032049    EAID     : 0x00001012
    HW ADJ FLAGS: 0x40
    Hardware MAC Rewrite Str: 00:00:00:00:00:00:00:00:00:00:00:00

=== Label OCE ===
  Label flags: 20
  Num Labels: 1
  Num Bk Labels: 1
  Out Labels: 29
  Out Backup Labels: 29
  Next OCE Type: Fast ReRoute OCE; Next OCE handle: 0x12114768

=== FRR OCE ===
  FRR type         : IP FRR
  FRR state        : Primary
  Primary IF's gid : 23 (DPIDX : 0) Backup IF's DPIDX : 0
  Primary FID      : 0x000065e6
  PPO handle       : 0x00000000
  Next OCE         : Adjacency (0x11b284e0)
  Bkup OCE         : Adjacency (0x11b41688)
  Primary BDI      : 0 (Index : 0)
  Backup BDI       : 0 (Index : 0)
  FRR Intf info at Primary array index     DPIDX 0, FRR count 0, MET 0x00000000 0x00000000, EAID 0x00000000
  FRR Intf info at Backup array index      DPIDX 0, FRR count 0, MET 0x00000000 0x00000000, EAID 0x00000000
  Primary HW Info:
     fi_handle FID index: 0x00000000    EAID index: 0x00000000
     nh_handle MET index: 0x00000000    EAID index: 0x00000000
     EL3ID 0x00000000
  Backup HW Info:
     nh_handle MET index: 0x00000000    EAID index: 0x00000000

=== Adjacency OCE ===
  Adj State: COMPLETE(0)   Address: XXX.XXX.67.152
  Interface: GigabitEthernet0/0/22   Protocol: TAG
  mtu:9100, flags:0x0, fixups:0x0, encap_len:14
  Handles (adj_id:0x00000578) (PI:0x10647768) (PD:0x11b284e0)
  Rewrite Str: 34:62:88:2a:49:d7:00:a6:ca:cf:2c:96:88:47

  HW Info:
    FID index: 0x000060a4    EL3 index: 0x00001017    EL2 index: 0x00000000
    El2RW    : 0x0000011e    MET index: 0x0003203f    EAID     : 0x00001010
    HW ADJ FLAGS: 0x40
    Hardware MAC Rewrite Str: 00:00:00:00:00:00:00:00:00:00:00:00

=== Adjacency OCE ===
  Adj State: COMPLETE(0)   Address: YYY.YYY.230.102
  Interface: GigabitEthernet0/0/23   Protocol: TAG
  mtu:9100, flags:0x0, fixups:0x0, encap_len:14
  Handles (adj_id:0x0000008f) (PI:0x10648c80) (PD:0x11b41688)
  Rewrite Str: 34:62:88:2a:49:d8:00:a6:ca:cf:2c:97:88:47

  HW Info:
    FID index: 0x00006063    EL3 index: 0x00001018    EL2 index: 0x00000000
    El2RW    : 0x0000010c    MET index: 0x0003202a    EAID     : 0x00001011
    HW ADJ FLAGS: 0x40
    Hardware MAC Rewrite Str: 00:00:00:00:00:00:00:00:00:00:00:00

=== Label OCE ===
  Label flags: 20
  Num Labels: 1
  Num Bk Labels: 1
  Out Labels: 29
  Out Backup Labels: 29
  Next OCE Type: Fast ReRoute OCE; Next OCE handle: 0x12103078

=== FRR OCE ===
  FRR type         : IP FRR
  FRR state        : Primary
  Primary IF's gid : 22 (DPIDX : 0) Backup IF's DPIDX : 0
  Primary FID      : 0x00006593
  PPO handle       : 0x00000000
  Next OCE         : Adjacency (0x12105c58)
  Bkup OCE         : Adjacency (0x11b284e0)
  Primary BDI      : 0 (Index : 0)
  Backup BDI       : 0 (Index : 0)
  FRR Intf info at Primary array index     DPIDX 0, FRR count 0, MET 0x00000000 0x00000000, EAID 0x00000000
  FRR Intf info at Backup array index      DPIDX 0, FRR count 0, MET 0x00000000 0x00000000, EAID 0x00000000
  Primary HW Info:
     fi_handle FID index: 0x00000000    EAID index: 0x00000000
     nh_handle MET index: 0x00000000    EAID index: 0x00000000
     EL3ID 0x00000000
  Backup HW Info:
     nh_handle MET index: 0x00000000    EAID index: 0x00000000

=== Adjacency OCE ===
  Adj State: COMPLETE(0)   Address: XXX.XXX.67.154
  Interface: GigabitEthernet0/0/21   Protocol: TAG
  mtu:9100, flags:0x0, fixups:0x0, encap_len:14
  Handles (adj_id:0x000007db) (PI:0x10729058) (PD:0x12105c58)
  Rewrite Str: 34:62:88:2a:49:d6:00:a6:ca:cf:2c:95:88:47

  HW Info:
    FID index: 0x00006597    EL3 index: 0x00001016    EL2 index: 0x00000000
    El2RW    : 0x00000126    MET index: 0x00032047    EAID     : 0x00001013
    HW ADJ FLAGS: 0x40
    Hardware MAC Rewrite Str: 00:00:00:00:00:00:00:00:00:00:00:00

=== Adjacency OCE ===
  Adj State: COMPLETE(0)   Address: XXX.XXX.67.152
  Interface: GigabitEthernet0/0/22   Protocol: TAG
  mtu:9100, flags:0x0, fixups:0x0, encap_len:14
  Handles (adj_id:0x00000578) (PI:0x10647768) (PD:0x11b284e0)
  Rewrite Str: 34:62:88:2a:49:d7:00:a6:ca:cf:2c:96:88:47

  HW Info:
    FID index: 0x000060a4    EL3 index: 0x00001017    EL2 index: 0x00000000
    El2RW    : 0x0000011e    MET index: 0x0003203f    EAID     : 0x00001010
    HW ADJ FLAGS: 0x40
    Hardware MAC Rewrite Str: 00:00:00:00:00:00:00:00:00:00:00:00




##########



#show platform hardware pp active feature cef database ipv4 XXX.XXX.76.212/32
=== CEF Prefix ===
XXX.XXX.76.212/32 -- next hop: UEA Load Balance (PI:0x1072a3f8, PD:0x120f3c60)
                Route Flags: (0)
                Handles (PI:0x106362b0) (PD:0x11adf228)

  HW Info:
    TCAM handle: 0x00000159    TCAM index: 0x00000017
    FID index  : 0x00006816    EAID      : 0x00003e23
    MET        : 0x0002a9d1    FID Count : 0x00000002


=== Load Balance OCE ===
   PI:0x1072a3f8, PD:0x120f3c60
   FID Count: 0x00000004

     Load Balance HW Info:
     Hardware Index: 0
       FID Index: 0x00006816    RW Index  : 0x00000000
       MET      : 0x0002a9d1    EAID      : 0x00003e23
       EL3 Index : 0x000015b3   EL2 Index : 0x00000000
       Hardware Rewrite Str: 00:00:00:00:00:00:00:00:00:00:00:00

     Load Balance HW Info:
     Hardware Index: 1
       FID Index: 0x00006817    RW Index  : 0x00000000
       MET      : 0x0002a9c5    EAID      : 0x00003e24
       EL3 Index : 0x000015a9   EL2 Index : 0x00000000
       Hardware Rewrite Str: 00:00:00:00:00:00:00:00:00:00:00:00

     Load Balance HW Info:
     Hardware Index: 2
       FID Index: 0x00006818    RW Index  : 0x00000000
       MET      : 0x0002a9b9    EAID      : 0x00003e25
       EL3 Index : 0x000015a6   EL2 Index : 0x00000000
       Hardware Rewrite Str: 00:00:00:00:00:00:00:00:00:00:00:00

     Load Balance HW Info:
     Hardware Index: 3
       FID Index: 0x00006819    RW Index  : 0x00000000
       MET      : 0x0002a9cd    EAID      : 0x00003e26
       EL3 Index : 0x000015af   EL2 Index : 0x00000000
       Hardware Rewrite Str: 00:00:00:00:00:00:00:00:00:00:00:00

=== Label OCE ===
  Label flags: 20
  Num Labels: 1
  Num Bk Labels: 1
  Out Labels: 30
  Out Backup Labels: 30
  Next OCE Type: Fast ReRoute OCE; Next OCE handle: 0x123d1860

=== FRR OCE ===
  FRR type         : IP FRR
  FRR state        : Primary
  Primary IF's gid : 21 (DPIDX : 0) Backup IF's DPIDX : 0
  Primary FID      : 0x0000685a
  PPO handle       : 0x00000000
  Next OCE         : Adjacency (0x123b4c68)
  Bkup OCE         : Adjacency (0x11b284e0)
  Primary BDI      : 0 (Index : 0)
  Backup BDI       : 0 (Index : 0)
  FRR Intf info at Primary array index     DPIDX 0, FRR count 0, MET 0x00000000 0x00000000, EAID 0x00000000
  FRR Intf info at Backup array index      DPIDX 0, FRR count 0, MET 0x00000000 0x00000000, EAID 0x00000000
  Primary HW Info:
     fi_handle FID index: 0x00000000    EAID index: 0x00000000
     nh_handle MET index: 0x00000000    EAID index: 0x00000000
     EL3ID 0x00000000
  Backup HW Info:
     nh_handle MET index: 0x00000000    EAID index: 0x00000000

=== Adjacency OCE ===
  Adj State: COMPLETE(0)   Address: XXX.XXX.67.156
  Interface: GigabitEthernet0/0/20   Protocol: TAG
  mtu:9100, flags:0x0, fixups:0x0, encap_len:14
  Handles (adj_id:0x000007df) (PI:0x107292d8) (PD:0x123b4c68)
  Rewrite Str: 34:62:88:2a:49:d5:00:a6:ca:cf:2c:94:88:47

  HW Info:
    FID index: 0x000065bc    EL3 index: 0x00001015    EL2 index: 0x00000000
    El2RW    : 0x00000128    MET index: 0x00032049    EAID     : 0x00001012
    HW ADJ FLAGS: 0x40
    Hardware MAC Rewrite Str: 00:00:00:00:00:00:00:00:00:00:00:00

=== Adjacency OCE ===
  Adj State: COMPLETE(0)   Address: XXX.XXX.67.152
  Interface: GigabitEthernet0/0/22   Protocol: TAG
  mtu:9100, flags:0x0, fixups:0x0, encap_len:14
  Handles (adj_id:0x00000578) (PI:0x10647768) (PD:0x11b284e0)
  Rewrite Str: 34:62:88:2a:49:d7:00:a6:ca:cf:2c:96:88:47

  HW Info:
    FID index: 0x000060a4    EL3 index: 0x00001017    EL2 index: 0x00000000
    El2RW    : 0x0000011e    MET index: 0x0003203f    EAID     : 0x00001010
    HW ADJ FLAGS: 0x40
    Hardware MAC Rewrite Str: 00:00:00:00:00:00:00:00:00:00:00:00

=== Label OCE ===
  Label flags: 20
  Num Labels: 1
  Num Bk Labels: 1
  Out Labels: 30
  Out Backup Labels: 30
  Next OCE Type: Fast ReRoute OCE; Next OCE handle: 0x12095ef8

=== FRR OCE ===
  FRR type         : IP FRR
  FRR state        : Primary
  Primary IF's gid : 24 (DPIDX : 0) Backup IF's DPIDX : 0
  Primary FID      : 0x0000658e
  PPO handle       : 0x00000000
  Next OCE         : Adjacency (0x11b41688)
  Bkup OCE         : Adjacency (0x12105c58)
  Primary BDI      : 0 (Index : 0)
  Backup BDI       : 0 (Index : 0)
  FRR Intf info at Primary array index     DPIDX 0, FRR count 0, MET 0x00000000 0x00000000, EAID 0x00000000
  FRR Intf info at Backup array index      DPIDX 0, FRR count 0, MET 0x00000000 0x00000000, EAID 0x00000000
  Primary HW Info:
     fi_handle FID index: 0x00000000    EAID index: 0x00000000
     nh_handle MET index: 0x00000000    EAID index: 0x00000000
     EL3ID 0x00000000
  Backup HW Info:
     nh_handle MET index: 0x00000000    EAID index: 0x00000000

=== Adjacency OCE ===
  Adj State: COMPLETE(0)   Address: YYY.YYY.230.102
  Interface: GigabitEthernet0/0/23   Protocol: TAG
  mtu:9100, flags:0x0, fixups:0x0, encap_len:14
  Handles (adj_id:0x0000008f) (PI:0x10648c80) (PD:0x11b41688)
  Rewrite Str: 34:62:88:2a:49:d8:00:a6:ca:cf:2c:97:88:47

  HW Info:
    FID index: 0x00006063    EL3 index: 0x00001018    EL2 index: 0x00000000
    El2RW    : 0x0000010c    MET index: 0x0003202a    EAID     : 0x00001011
    HW ADJ FLAGS: 0x40
    Hardware MAC Rewrite Str: 00:00:00:00:00:00:00:00:00:00:00:00

=== Adjacency OCE ===
  Adj State: COMPLETE(0)   Address: XXX.XXX.67.154
  Interface: GigabitEthernet0/0/21   Protocol: TAG
  mtu:9100, flags:0x0, fixups:0x0, encap_len:14
  Handles (adj_id:0x000007db) (PI:0x10729058) (PD:0x12105c58)
  Rewrite Str: 34:62:88:2a:49:d6:00:a6:ca:cf:2c:95:88:47

  HW Info:
    FID index: 0x00006597    EL3 index: 0x00001016    EL2 index: 0x00000000
    El2RW    : 0x00000126    MET index: 0x00032047    EAID     : 0x00001013
    HW ADJ FLAGS: 0x40
    Hardware MAC Rewrite Str: 00:00:00:00:00:00:00:00:00:00:00:00

=== Label OCE ===
  Label flags: 20
  Num Labels: 1
  Num Bk Labels: 1
  Out Labels: 30
  Out Backup Labels: 30
  Next OCE Type: Fast ReRoute OCE; Next OCE handle: 0x12114768

=== FRR OCE ===
  FRR type         : IP FRR
  FRR state        : Primary
  Primary IF's gid : 23 (DPIDX : 0) Backup IF's DPIDX : 0
  Primary FID      : 0x000065e6
  PPO handle       : 0x00000000
  Next OCE         : Adjacency (0x11b284e0)
  Bkup OCE         : Adjacency (0x11b41688)
  Primary BDI      : 0 (Index : 0)
  Backup BDI       : 0 (Index : 0)
  FRR Intf info at Primary array index     DPIDX 0, FRR count 0, MET 0x00000000 0x00000000, EAID 0x00000000
  FRR Intf info at Backup array index      DPIDX 0, FRR count 0, MET 0x00000000 0x00000000, EAID 0x00000000
  Primary HW Info:
     fi_handle FID index: 0x00000000    EAID index: 0x00000000
     nh_handle MET index: 0x00000000    EAID index: 0x00000000
     EL3ID 0x00000000
  Backup HW Info:
     nh_handle MET index: 0x00000000    EAID index: 0x00000000

=== Adjacency OCE ===
  Adj State: COMPLETE(0)   Address: XXX.XXX.67.152
  Interface: GigabitEthernet0/0/22   Protocol: TAG
  mtu:9100, flags:0x0, fixups:0x0, encap_len:14
  Handles (adj_id:0x00000578) (PI:0x10647768) (PD:0x11b284e0)
  Rewrite Str: 34:62:88:2a:49:d7:00:a6:ca:cf:2c:96:88:47

  HW Info:
    FID index: 0x000060a4    EL3 index: 0x00001017    EL2 index: 0x00000000
    El2RW    : 0x0000011e    MET index: 0x0003203f    EAID     : 0x00001010
    HW ADJ FLAGS: 0x40
    Hardware MAC Rewrite Str: 00:00:00:00:00:00:00:00:00:00:00:00

=== Adjacency OCE ===
  Adj State: COMPLETE(0)   Address: YYY.YYY.230.102
  Interface: GigabitEthernet0/0/23   Protocol: TAG
  mtu:9100, flags:0x0, fixups:0x0, encap_len:14
  Handles (adj_id:0x0000008f) (PI:0x10648c80) (PD:0x11b41688)
  Rewrite Str: 34:62:88:2a:49:d8:00:a6:ca:cf:2c:97:88:47

  HW Info:
    FID index: 0x00006063    EL3 index: 0x00001018    EL2 index: 0x00000000
    El2RW    : 0x0000010c    MET index: 0x0003202a    EAID     : 0x00001011
    HW ADJ FLAGS: 0x40
    Hardware MAC Rewrite Str: 00:00:00:00:00:00:00:00:00:00:00:00

=== Label OCE ===
  Label flags: 20
  Num Labels: 1
  Num Bk Labels: 1
  Out Labels: 30
  Out Backup Labels: 30
  Next OCE Type: Fast ReRoute OCE; Next OCE handle: 0x123cbd70

=== FRR OCE ===
  FRR type         : IP FRR
  FRR state        : Primary
  Primary IF's gid : 22 (DPIDX : 0) Backup IF's DPIDX : 0
  Primary FID      : 0x00006856
  PPO handle       : 0x00000000
  Next OCE         : Adjacency (0x12105c58)
  Bkup OCE         : Adjacency (0x123b4c68)
  Primary BDI      : 0 (Index : 0)
  Backup BDI       : 0 (Index : 0)
  FRR Intf info at Primary array index     DPIDX 0, FRR count 0, MET 0x00000000 0x00000000, EAID 0x00000000
  FRR Intf info at Backup array index      DPIDX 0, FRR count 0, MET 0x00000000 0x00000000, EAID 0x00000000
  Primary HW Info:
     fi_handle FID index: 0x00000000    EAID index: 0x00000000
     nh_handle MET index: 0x00000000    EAID index: 0x00000000
     EL3ID 0x00000000
  Backup HW Info:
     nh_handle MET index: 0x00000000    EAID index: 0x00000000

=== Adjacency OCE ===
  Adj State: COMPLETE(0)   Address: XXX.XXX.67.154
  Interface: GigabitEthernet0/0/21   Protocol: TAG
  mtu:9100, flags:0x0, fixups:0x0, encap_len:14
  Handles (adj_id:0x000007db) (PI:0x10729058) (PD:0x12105c58)
  Rewrite Str: 34:62:88:2a:49:d6:00:a6:ca:cf:2c:95:88:47

  HW Info:
    FID index: 0x00006597    EL3 index: 0x00001016    EL2 index: 0x00000000
    El2RW    : 0x00000126    MET index: 0x00032047    EAID     : 0x00001013
    HW ADJ FLAGS: 0x40
    Hardware MAC Rewrite Str: 00:00:00:00:00:00:00:00:00:00:00:00

=== Adjacency OCE ===
  Adj State: COMPLETE(0)   Address: XXX.XXX.67.156
  Interface: GigabitEthernet0/0/20   Protocol: TAG
  mtu:9100, flags:0x0, fixups:0x0, encap_len:14
  Handles (adj_id:0x000007df) (PI:0x107292d8) (PD:0x123b4c68)
  Rewrite Str: 34:62:88:2a:49:d5:00:a6:ca:cf:2c:94:88:47

  HW Info:
    FID index: 0x000065bc    EL3 index: 0x00001015    EL2 index: 0x00000000
    El2RW    : 0x00000128    MET index: 0x00032049    EAID     : 0x00001012
    HW ADJ FLAGS: 0x40
    Hardware MAC Rewrite Str: 00:00:00:00:00:00:00:00:00:00:00:00



Thanks again for your assistance on this.









________________________________
From: cisco-nsp <cisco-nsp-bounces at puck.nether.net> on behalf of James Bensley <jwbensley at gmail.com>
Sent: Thursday, 31 August 2017 6:12 PM
To: cisco-nsp at puck.nether.net
Subject: Re: [c-nsp] OSPF equal cost load balancing

On 31 August 2017 at 01:35, CiscoNSP List <CiscoNSP_list at hotmail.com> wrote:
>
> AAh - Thank you James!  So the ASR920 will not ECMP over 2 links, it requires 4...that would explain the difference between egress/ingress (and why the 920 is not working particularly well!)

I'm not 100% sure but that is what the doc's indicate (and as we know,
Cisco doc's aren't the best):
https://www.cisco.com/c/en/us/td/docs/routers/asr920/configuration/guide/mpls/mp-l3-vpns-xe-3s-asr920-book/mp-l3-vpns-xe-3s-asr920-book_chapter_0100.html#reference_EDE971A94BE6443995432BE8D9E82A25
[http://www.cisco.com/web/fw/i/logo-open-graph.gif]<https://www.cisco.com/c/en/us/td/docs/routers/asr920/configuration/guide/mpls/mp-l3-vpns-xe-3s-asr920-book/mp-l3-vpns-xe-3s-asr920-book_chapter_0100.html#reference_EDE971A94BE6443995432BE8D9E82A25>

MPLS: Layer 3 VPNs Configuration Guide (Cisco ASR 920 ...<https://www.cisco.com/c/en/us/td/docs/routers/asr920/configuration/guide/mpls/mp-l3-vpns-xe-3s-asr920-book/mp-l3-vpns-xe-3s-asr920-book_chapter_0100.html#reference_EDE971A94BE6443995432BE8D9E82A25>
www.cisco.com
MPLS: Layer 3 VPNs Configuration Guide (Cisco ASR 920 Series) -ECMP Load Balancing




Restrictions for ECMP Load Balancing
-Both 4 ECMP and 8 ECMP paths are supported.
-Load balancing is supported on global IPv4 and IPv6 traffic. For
global IPv4 and IPv6 traffic, the traffic distribution can be equal
among the available 8 links.
-Per packet load balancing is not supported.
-Label load balancing is supported.

> And yes, we are running MPLS over these links (But not a LAG as mentioned) - So does your comment re MPLS hasting still apply to our setup, or only to a LAG?

Hmm, OK well see above "Label load balancing is supported." - although
not clear I assume that means MPLS labels? So perhaps it seems ECMP
should supports MPLS labelled paths and recognise different labelled
paths with the same IGP cost as seperate "ECMP" paths.


> #sh ip cef YYY.YYY.229.193 internal
> YYY.YYY.229.192/30, epoch 2, flags [rnolbl, rlbls], RIB[B], refcnt 6, per-destination sharing
>   sources: RIB
>   feature space:
>     IPRM: 0x00018000
>     Broker: linked, distributed at 4th priority
>   ifnums:
>     GigabitEthernet0/0/22(29): XXX.XXX.67.152
>     GigabitEthernet0/0/23(30): YYY.YYY.230.102
>   path list 3C293988, 35 locks, per-destination, flags 0x26D [shble, hvsh, rif, rcrsv, hwcn, bgp]
>     path 3C292714, share 1/1, type recursive, for IPv4
>       recursive via XXX.XXX.76.211[IPv4:Default], fib 3C9AE64C, 1 terminal fib, v4:Default:XXX.XXX.76.211/32
>       path list 3D583FF0, 13 locks, per-destination, flags 0x49 [shble, rif, hwcn]
>           path 3D4A221C, share 0/1, type attached nexthop, for IPv4, flags [has-rpr]
>             MPLS short path extensions: MOI flags = 0x21 label explicit-null
>             nexthop YYY.YYY.230.102 GigabitEthernet0/0/23 label [explicit-null|explicit-null], IP adj out of GigabitEthernet0/0/23, addr YYY.YYY.230.102 3C287540
>               repair: attached-nexthop XXX.XXX.67.152 GigabitEthernet0/0/22 (3D4A44A4)
>           path 3D4A44A4, share 1/1, type attached nexthop, for IPv4, flags [has-rpr]
>             MPLS short path extensions: MOI flags = 0x21 label explicit-null
>             nexthop XXX.XXX.67.152 GigabitEthernet0/0/22 label [explicit-null|explicit-null], IP adj out of GigabitEthernet0/0/22, addr XXX.XXX.67.152 3CC74980
>               repair: attached-nexthop YYY.YYY.230.102 GigabitEthernet0/0/23 (3D4A221C)
>   output chain:
>     loadinfo 3D43D410, per-session, 2 choices, flags 0103, 21 locks
>       flags [Per-session, for-rx-IPv4, indirection]
>       16 hash buckets
>         < 0 > label [explicit-null|explicit-null]
>               FRR Primary (0x3D51B980)
>                 <primary: TAG adj out of GigabitEthernet0/0/22, addr XXX.XXX.67.152 3D643CE0>
>                 <repair:  TAG adj out of GigabitEthernet0/0/23, addr YYY.YYY.230.102 3CC74300>
>         < 1 > label [explicit-null|explicit-null]
>               FRR Primary (0x3D51BA40)
>                 <primary: TAG adj out of GigabitEthernet0/0/23, addr YYY.YYY.230.102 3CC74300>
>                 <repair:  TAG adj out of GigabitEthernet0/0/22, addr XXX.XXX.67.152 3D643CE0>
>         < 2 > label [explicit-null|explicit-null]
>               FRR Primary (0x3D51B980)
>                 <primary: TAG adj out of GigabitEthernet0/0/22, addr XXX.XXX.67.152 3D643CE0>
>                 <repair:  TAG adj out of GigabitEthernet0/0/23, addr YYY.YYY.230.102 3CC74300>
>         < 3 > label [explicit-null|explicit-null]
>               FRR Primary (0x3D51BA40)
>                 <primary: TAG adj out of GigabitEthernet0/0/23, addr YYY.YYY.230.102 3CC74300>
>                 <repair:  TAG adj out of GigabitEthernet0/0/22, addr XXX.XXX.67.152 3D643CE0>
>         < 4 > label [explicit-null|explicit-null]
>               FRR Primary (0x3D51B980)
>                 <primary: TAG adj out of GigabitEthernet0/0/22, addr XXX.XXX.67.152 3D643CE0>
>                 <repair:  TAG adj out of GigabitEthernet0/0/23, addr YYY.YYY.230.102 3CC74300>
>         < 5 > label [explicit-null|explicit-null]
>               FRR Primary (0x3D51BA40)
>                 <primary: TAG adj out of GigabitEthernet0/0/23, addr YYY.YYY.230.102 3CC74300>
>                 <repair:  TAG adj out of GigabitEthernet0/0/22, addr XXX.XXX.67.152 3D643CE0>
>         < 6 > label [explicit-null|explicit-null]
>               FRR Primary (0x3D51B980)
>                 <primary: TAG adj out of GigabitEthernet0/0/22, addr XXX.XXX.67.152 3D643CE0>
>                 <repair:  TAG adj out of GigabitEthernet0/0/23, addr YYY.YYY.230.102 3CC74300>
>         < 7 > label [explicit-null|explicit-null]
>               FRR Primary (0x3D51BA40)
>                 <primary: TAG adj out of GigabitEthernet0/0/23, addr YYY.YYY.230.102 3CC74300>
>                 <repair:  TAG adj out of GigabitEthernet0/0/22, addr XXX.XXX.67.152 3D643CE0>
>         < 8 > label [explicit-null|explicit-null]
>               FRR Primary (0x3D51B980)
>                 <primary: TAG adj out of GigabitEthernet0/0/22, addr XXX.XXX.67.152 3D643CE0>
>                 <repair:  TAG adj out of GigabitEthernet0/0/23, addr YYY.YYY.230.102 3CC74300>
>         < 9 > label [explicit-null|explicit-null]
>               FRR Primary (0x3D51BA40)
>                 <primary: TAG adj out of GigabitEthernet0/0/23, addr YYY.YYY.230.102 3CC74300>
>                 <repair:  TAG adj out of GigabitEthernet0/0/22, addr XXX.XXX.67.152 3D643CE0>
>         <10 > label [explicit-null|explicit-null]
>               FRR Primary (0x3D51B980)
>                 <primary: TAG adj out of GigabitEthernet0/0/22, addr XXX.XXX.67.152 3D643CE0>
>                 <repair:  TAG adj out of GigabitEthernet0/0/23, addr YYY.YYY.230.102 3CC74300>
>         <11 > label [explicit-null|explicit-null]
>               FRR Primary (0x3D51BA40)
>                 <primary: TAG adj out of GigabitEthernet0/0/23, addr YYY.YYY.230.102 3CC74300>
>                 <repair:  TAG adj out of GigabitEthernet0/0/22, addr XXX.XXX.67.152 3D643CE0>
>         <12 > label [explicit-null|explicit-null]
>               FRR Primary (0x3D51B980)
>                 <primary: TAG adj out of GigabitEthernet0/0/22, addr XXX.XXX.67.152 3D643CE0>
>                 <repair:  TAG adj out of GigabitEthernet0/0/23, addr YYY.YYY.230.102 3CC74300>
>         <13 > label [explicit-null|explicit-null]
>               FRR Primary (0x3D51BA40)
>                 <primary: TAG adj out of GigabitEthernet0/0/23, addr YYY.YYY.230.102 3CC74300>
>                 <repair:  TAG adj out of GigabitEthernet0/0/22, addr XXX.XXX.67.152 3D643CE0>
>         <14 > label [explicit-null|explicit-null]
>               FRR Primary (0x3D51B980)
>                 <primary: TAG adj out of GigabitEthernet0/0/22, addr XXX.XXX.67.152 3D643CE0>
>                 <repair:  TAG adj out of GigabitEthernet0/0/23, addr YYY.YYY.230.102 3CC74300>
>         <15 > label [explicit-null|explicit-null]
>               FRR Primary (0x3D51BA40)
>                 <primary: TAG adj out of GigabitEthernet0/0/23, addr YYY.YYY.230.102 3CC74300>
>                 <repair:  TAG adj out of GigabitEthernet0/0/22, addr XXX.XXX.67.152 3D643CE0>
>       Subblocks:
>         None

>From the output above it looks like everything should work, the ASR920
has filled 8 of the 16 hash buckets with path 1 and the other 8 with
path 2, so even though only "4" or "8" are configureable when using
"platform loadbalance max-paths..." it looks like it should be OK (in
that both paths are visible and equal in CEF).

Is there a difference between the software CEF tables and whats
programmed in hardware? I think these commands will check the hardware
for you (although not 100% sure):

show platform hardware pp active feature cef database ipv4 YYY.YYY.229.193/32

show platform hardware pp active feature cef database ipv4 YYY.YYY.229.194/32

show platform hardware pp active feature cef database ipv4 YYY.YYY.229.192/30

So given the above, it looks like you have 2 (and based on your most
recent post 4) labelled paths available in CEF, why isn't the traffic
being evenly distributed?

The link that Waris shared to the list a while back indicates that 4
ECMP paths are supported and that labelled traffic is supported for
hashing:
https://drive.google.com/drive/folders/0B5Q6qCRMe89_ZThNbWdDUWpyR2c
"Equal Cost Multi-Path (ECMP) Support - P router - 1. L3VPN traffic ,
default it will load balance on src/dst ip hash"
"Equal Cost Multi-Path (ECMP) Support - PE router - 1. L3VPN traffic -
based on src/ds tip hash"

> #ip cef load-sharing algorithm ?
>   include-ports  Algorithm that includes layer 4 ports
>   original       Original algorithm
>   tunnel         Algorithm for use in tunnel only environments
>   universal      Algorithm for use in most environments

I assume that the options above are related to what Waris provided in
that PDF; "tunnel" is not wanted here due to lack of GTP and probably
not "universal" either as you need to configure a hash offset manually
so I would have thought that either "original" (just src/dst IP) or
"include-ports" would provide the hashing entropy you need. When using
"original" or "include-ports" and the traffic is MPLS labelled
traffic, based on my quote from Waris' PDF above, I assume that would
apply to the L3VPN src/dst IPs or ports.

On 31 August 2017 at 04:13, CBL <alandaluz at gmail.com> wrote:
> What if you were to setup four BDIs running OSPF/MPLS across these two
> physical interfaces. Two BDIs per physical interface. Would that make ECMP
> work correctly using an ASR920?
>
> We're going to be in the same boat soon too.. ASR920's on both sides with
> OSPF across two physical paths and worried about load sharing. Most of our
> traffic is MPLS xconnects traversing these links (licensed backhauls).

This doesn't sound like a good idea to me (depending on your traffic
requirements). I have had mixed results when using BDIs/SVIs for core
MPLS facing interfaces, as an example, PPPoE frames wouldn't forward
over a pseudowire when the ASR920 used a BDI for the for interface:
https://null.53bits.co.uk/index.php?page=mpls-over-phy-vs-eff-bdi-svi
- MPLS over PHY vs EFF+BDI/SVI - null.53bits.co.uk<https://null.53bits.co.uk/index.php?page=mpls-over-phy-vs-eff-bdi-svi>
null.53bits.co.uk
MPLS over PHY vs EFF+BDI/SVI. Testing pseudowires between devices where the core PE to PE interface is configured on either a physical interface (PHY) or on a logical ...





Cheers,
James.
_______________________________________________
cisco-nsp mailing list  cisco-nsp at puck.nether.net
https://puck.nether.net/mailman/listinfo/cisco-nsp
cisco-nsp Info Page - puck.nether.net<https://puck.nether.net/mailman/listinfo/cisco-nsp>
puck.nether.net
To see the collection of prior postings to the list, visit the cisco-nsp Archives. Using cisco-nsp: To post a message to all the list members, send ...



archive at http://puck.nether.net/pipermail/cisco-nsp/


More information about the cisco-nsp mailing list